[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Users/handlers/ -> ForgotPassword.php (source)

   1  <?php
   2  
   3  /* +***********************************************************************************

   4   * The contents of this file are subject to the vtiger CRM Public License Version 1.0

   5   * ("License"); You may not use this file except in compliance with the License

   6   * The Original Code is:  vtiger CRM Open Source

   7   * The Initial Developer of the Original Code is vtiger.

   8   * Portions created by vtiger are Copyright (C) vtiger.

   9   * All Rights Reserved.

  10   * *********************************************************************************** */
  11  
  12  class Users_ForgotPassword_Handler {
  13  
  14      public function changePassword($data) {
  15          global $site_URL;
  16          $site_URL= rtrim($site_URL,'/'); 
  17          $request = new Vtiger_Request($data);
  18          $userName = $request->get('username');
  19          $viewer = Vtiger_Viewer::getInstance();
  20          $companyModel = Vtiger_CompanyDetails_Model::getInstanceById();
  21          $companyName = $companyModel->get('organizationname');
  22          $organisationDetails = $companyModel->getLogo();
  23          $logoTitle = $organisationDetails->get('title');
  24          $logoName = $organisationDetails->get('imagename');
  25          $moduleName = 'Users';
  26          $viewer->assign('LOGOURL', $site_URL . '/test/logo/' . $logoName);
  27          $viewer->assign('TITLE', $logoTitle);
  28          $viewer->assign('COMPANYNAME', $companyName);
  29          $viewer->assign('USERNAME', $userName);
  30          $changePasswordTrackUrl = $site_URL . "/modules/Users/actions/ForgotPassword.php";
  31          $viewer->assign('TRACKURL', $changePasswordTrackUrl);
  32          $expiryTime = (int) $request->get('time') + (24 * 60 * 60);
  33          $currentTime = time();
  34          if ($expiryTime > $currentTime) {
  35              $secretToken = uniqid();
  36              $secretHash = md5($userName . $secretToken);
  37              $options = array(
  38                  'handler_path' => 'modules/Users/handlers/ForgotPassword.php',
  39                  'handler_class' => 'Users_ForgotPassword_Handler',
  40                  'handler_function' => 'changePassword',
  41                  'onetime' => 1,
  42                  'handler_data' => array(
  43                      'username' => $userName,
  44                      'secret_token' => $secretToken,
  45                      'secret_hash' => $secretHash
  46                  )
  47              );
  48              $trackURL = Vtiger_ShortURL_Helper::generateURL($options);
  49              $shortURLID = explode('id=', $trackURL);
  50              $viewer->assign('SHORTURL_ID', $shortURLID[1]);
  51              $viewer->assign('SECRET_HASH', $secretHash);
  52          } else {
  53              $viewer->assign('LINK_EXPIRED', true);
  54          }
  55  
  56          $viewer->assign('TRACKURL', $changePasswordTrackUrl);
  57          $viewer->assign('MODULE', $moduleName);
  58          $viewer->view('ForgotPassword.tpl', $moduleName);
  59      }
  60  
  61  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1