Example #1
0
 function process(Vtiger_Request $request)
 {
     $username = $request->get('username');
     $password = $request->get('password');
     if ($request->get('mode') == 'install') {
         error_reporting(0);
         $dirPath = 'install';
         foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dirPath, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST) as $path) {
             $path->isDir() ? rmdir($path->getPathname()) : unlink($path->getPathname());
         }
         rmdir($dirPath);
     }
     $checkBlocked = Settings_BruteForce_Module_Model::checkBlocked();
     $bruteForceSettings = Settings_BruteForce_Module_Model::getBruteForceSettings();
     if ($checkBlocked && $bruteForceSettings['active']) {
         Settings_BruteForce_Module_Model::sendNotificationEmail();
         header('Location: index.php?module=Users&parent=Settings&view=Login&error=2');
         exit;
     }
     $user = CRMEntity::getInstance('Users');
     $user->column_fields['user_name'] = $username;
     $moduleModel = Users_Module_Model::getInstance('Users');
     if ($user->doLogin($password)) {
         if (vglobal('session_regenerate_id')) {
             session_regenerate_id(true);
         }
         // to overcome session id reuse.
         $userid = $user->retrieve_user_id($username);
         Vtiger_Session::set('AUTHUSERID', $userid);
         // For Backward compatability
         // TODO Remove when switch-to-old look is not needed
         $_SESSION['authenticated_user_id'] = $userid;
         $_SESSION['app_unique_key'] = vglobal('application_unique_key');
         $_SESSION['authenticated_user_language'] = vglobal('default_language');
         $_SESSION['user_name'] = $username;
         $_SESSION['full_user_name'] = Vtiger_Functions::getUserRecordLabel($userid);
         //Enabled session variable for KCFINDER
         $_SESSION['KCFINDER'] = array();
         $_SESSION['KCFINDER']['disabled'] = false;
         $_SESSION['KCFINDER']['uploadURL'] = "cache/upload";
         $_SESSION['KCFINDER']['uploadDir'] = "../../cache/upload";
         $deniedExts = implode(" ", vglobal('upload_badext'));
         $_SESSION['KCFINDER']['deniedExts'] = $deniedExts;
         // End
         //Track the login History
         $moduleModel->saveLoginHistory($user->column_fields['user_name']);
         //End
         header('Location: index.php');
         exit;
     } else {
         //Track the login History
         $browser = Settings_BruteForce_Module_Model::browserDetect();
         $moduleModel->saveLoginHistory($username, 'Failed login', $browser);
         header('Location: index.php?module=Users&parent=Settings&view=Login&error=1');
         exit;
     }
 }
Example #2
0
 public function process(Vtiger_Request $request)
 {
     $settings = Settings_BruteForce_Module_Model::getBruteForceSettings();
     $blockedIP = Settings_BruteForce_Module_Model::getBlockedIP();
     $viewer = $this->getViewer($request);
     $qualifiedModuleName = $request->getModule(false);
     $adminUsers = Settings_BruteForce_Module_Model::getAdminUsers();
     $usersForNotifications = Settings_BruteForce_Module_Model::getUsersForNotifications();
     $viewer->assign('MODULE', $qualifiedModuleName);
     $viewer->assign('ATTEMPS_NUMBER', $settings['attempsnumber']);
     $viewer->assign('BRUTEFORCEACTIVE', $settings['active']);
     $viewer->assign('BLOCK_TIME', $settings['timelock']);
     $viewer->assign('BLOCKED', $blockedIP);
     $viewer->assign('ADMINUSERS', $adminUsers);
     $viewer->assign('USERFORNOTIFICATIONS', $usersForNotifications);
     $viewer->view('Show.tpl', $qualifiedModuleName);
 }
Example #3
0
 public function process(Vtiger_Request $request)
 {
     $adb = PearDatabase::getInstance();
     $number = $request->get('number');
     $timelock = $request->get('timelock');
     $active = $request->get('active');
     $selectedUsers = $request->get('selectedUsers');
     $updateResult = Settings_BruteForce_Module_Model::updateConfig($number, $timelock, $active);
     if ($selectedUsers != NULL) {
         $updateUsersForNotificationsResult = Settings_BruteForce_Module_Model::updateUsersForNotifications($selectedUsers);
     }
     $moduleName = $request->getModule();
     if ($updateResult == 0) {
         $return = array('success' => false, 'message' => vtranslate('LBL_FAIL', $moduleName));
     } else {
         $return = array('success' => true, 'message' => vtranslate('LBL_SAVE_SUCCESS', $moduleName));
     }
     $response = new Vtiger_Response();
     $response->setResult($return);
     $response->emit();
 }
Example #4
0
 function process(Vtiger_Request $request)
 {
     $username = $request->get('username');
     $password = $request->get('password');
     if ($request->get('mode') == 'install') {
         $dirPath = 'install';
         Users_Module_Model::deleteLangFiles();
         $configTemplate = "config/config.template.php";
         if (file_exists($configTemplate)) {
             unlink($configTemplate);
         }
         Vtiger_Functions::recurseDelete($dirPath);
     }
     $checkBlocked = Settings_BruteForce_Module_Model::checkBlocked();
     $bruteForceSettings = Settings_BruteForce_Module_Model::getBruteForceSettings();
     if ($checkBlocked && $bruteForceSettings['active']) {
         Settings_BruteForce_Module_Model::sendNotificationEmail();
         header('Location: index.php?module=Users&parent=Settings&view=Login&error=2');
         exit;
     }
     $user = CRMEntity::getInstance('Users');
     $user->column_fields['user_name'] = $username;
     $moduleModel = Users_Module_Model::getInstance('Users');
     if ($user->doLogin($password)) {
         if (vglobal('session_regenerate_id')) {
             Vtiger_Session::regenerateId(true);
         }
         // to overcome session id reuse.
         $userid = $user->retrieve_user_id($username);
         Vtiger_Session::set('AUTHUSERID', $userid);
         // For Backward compatability
         // TODO Remove when switch-to-old look is not needed
         Vtiger_Session::set('authenticated_user_id', $userid);
         Vtiger_Session::set('app_unique_key', vglobal('application_unique_key'));
         Vtiger_Session::set('authenticated_user_language', vglobal('default_language'));
         Vtiger_Session::set('user_name', $username);
         Vtiger_Session::set('full_user_name', Vtiger_Functions::getUserRecordLabel($userid));
         if ($request->has('language') && vglobal('langInLoginView')) {
             Vtiger_Session::set('language', $request->get('language'));
         }
         if ($request->has('layout')) {
             Vtiger_Session::set('layout', $request->get('layout'));
         }
         //Enabled session variable for KCFINDER
         $_SESSION['KCFINDER'] = array();
         $_SESSION['KCFINDER']['disabled'] = false;
         $_SESSION['KCFINDER']['uploadURL'] = "cache/upload";
         $_SESSION['KCFINDER']['uploadDir'] = "../../cache/upload";
         $deniedExts = implode(" ", vglobal('upload_badext'));
         $_SESSION['KCFINDER']['deniedExts'] = $deniedExts;
         // End
         //Track the login History
         $moduleModel->saveLoginHistory($user->column_fields['user_name']);
         //End
         if (isset($_SESSION['return_params'])) {
             $return_params = urldecode($_SESSION['return_params']);
             header("Location: index.php?{$return_params}");
             exit;
         } else {
             header('Location: index.php');
             exit;
         }
     } else {
         //Track the login History
         $browser = Settings_BruteForce_Module_Model::browserDetect();
         $moduleModel->saveLoginHistory($username, 'Failed login', $browser);
         header('Location: index.php?module=Users&parent=Settings&view=Login&error=1');
         exit;
     }
 }