Exemplo n.º 1
0
 public function runCronCalDav($log)
 {
     $dav = new self();
     $dav->log = $log;
     $dav->log->debug(__CLASS__ . '::' . __METHOD__ . ' | Start CalDAV Sync ');
     $crmUsers = Users_Record_Model::getAll();
     $davUsers = $dav->getAllUser(2);
     foreach ($crmUsers as $key => $user) {
         if (array_key_exists($key, $davUsers)) {
             $user->set('david', $davUsers[$key]['david']);
             $user->set('calendarsid', $davUsers[$key]['calendarsid']);
             $dav->davUsers[$key] = $user;
             $dav->log->debug(__CLASS__ . '::' . __METHOD__ . ' | User is active ' . $user->getName());
         } else {
             // User is inactive
             $dav->log->warn(__CLASS__ . '::' . __METHOD__ . ' | User is inactive ' . $user->getName());
         }
     }
     $cardDav = new API_CalDAV_Model();
     $cardDav->log = $dav->log;
     $cardDav->davUsers = $dav->davUsers;
     $cardDav->calDavCrm2Dav();
     $cardDav->calDav2Crm();
     $dav->log->debug(__CLASS__ . '::' . __METHOD__ . ' | End CalDAV Sync ');
 }
Exemplo n.º 2
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $moduleModel = Settings_MobileApps_Module_Model::getInstance($qualifiedModuleName);
     $viewer = $this->getViewer($request);
     $viewer->assign('MODULE_MODEL', $moduleModel);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('USERS', Users_Record_Model::getAll());
     $viewer->assign('MODULE', $moduleName);
     $viewer->view('MobileKeys.tpl', $qualifiedModuleName);
 }
Exemplo n.º 3
0
 public function process(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $recordId = $request->get('record');
     $recordModel = Settings_Groups_Record_Model::getInstance($recordId);
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('RECORD_MODEL', $recordModel);
     $viewer->assign('ALL_USERS', Users_Record_Model::getAll());
     $viewer->assign('ALL_GROUPS', Settings_Groups_Record_Model::getAll());
     echo $viewer->view('DeleteTransferForm.tpl', $qualifiedModuleName, true);
 }
Exemplo n.º 4
0
 public function process(Vtiger_Request $request)
 {
     include_once 'config/api.php';
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $moduleModel = Settings_MobileApps_Module_Model::getInstance($qualifiedModuleName);
     $viewer = $this->getViewer($request);
     $viewer->assign('MODULE_MODEL', $moduleModel);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('USERS', Users_Record_Model::getAll());
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('ENABLEMOBILE', !in_array('mobile', $enabledServices));
     $viewer->view('MobileKeys.tpl', $qualifiedModuleName);
 }
Exemplo n.º 5
0
 public function preProcess(Vtiger_Request $request, $display = true)
 {
     if ($this->checkPermission($request)) {
         $currentUser = Users_Record_Model::getCurrentUserModel();
         $viewer = $this->getViewer($request);
         $menuModelsList = Vtiger_Menu_Model::getAll(true);
         $selectedModule = $request->getModule();
         $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule);
         // Order by pre-defined automation process for QuickCreate.
         uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
         $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
         $companyLogo = $companyDetails->getLogo();
         $viewer->assign('CURRENTDATE', date('Y-n-j'));
         $viewer->assign('MODULE', $selectedModule);
         $viewer->assign('PARENT_MODULE', $request->get('parent'));
         $viewer->assign('VIEW', $request->get('view'));
         $viewer->assign('MENUS', $menuModelsList);
         $viewer->assign('MENU_STRUCTURE', $menuStructure);
         $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule);
         $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
         $viewer->assign('COMPANY_LOGO', $companyLogo);
         $viewer->assign('USER_MODEL', $currentUser);
         $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
         $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
         $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
         $viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
         $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
         $viewer->assign('CURRENT_VIEW', $request->get('view'));
         $viewer->assign('PAGETITLE', $this->getPageTitle($request));
         $viewer->assign('SCRIPTS', $this->getHeaderScripts($request));
         $viewer->assign('STYLES', $this->getHeaderCss($request));
         $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
         $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
         $viewer->assign('IS_PREFERENCE', true);
         $viewer->assign('LANGUAGE', $currentUser->get('language'));
         $allUsers = Users_Record_Model::getAll(true);
         $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUser->id);
         $sharedType = Calendar_Module_Model::getSharedType($currentUser->id);
         $viewer->assign('ALL_USERS', $allUsers);
         $viewer->assign('SHAREDUSERS', $sharedUsers);
         $viewer->assign('SHARED_TYPE', $sharedType);
         // OpenSaaS
         $OSSMenu = OSSMenuManager_Record_Model::getMenu();
         $viewer->assign('MENU_STRUCTURE', $OSSMenu);
         //  OpenSaaS
         if ($display) {
             $this->preProcessDisplay($request);
         }
     }
 }
Exemplo n.º 6
0
	public function preProcess(Vtiger_Request $request, $display = true)
	{
		if ($this->checkPermission($request)) {
			$currentUser = Users_Record_Model::getCurrentUserModel();
			$viewer = $this->getViewer($request);

			$selectedModule = $request->getModule();
			$companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
			$companyLogo = $companyDetails->getLogo();
			$currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
			$viewer->assign('CURRENTDATE', $currentDate);
			$viewer->assign('MODULE', $selectedModule);
			$viewer->assign('MODULE_NAME', $selectedModule);
			$viewer->assign('QUALIFIED_MODULE', $selectedModule);
			$viewer->assign('PARENT_MODULE', $request->get('parent'));
			$viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true));
			$viewer->assign('VIEW', $request->get('view'));
			$viewer->assign('COMPANY_LOGO', $companyLogo);
			$viewer->assign('USER_MODEL', $currentUser);

			$homeModuleModel = Vtiger_Module_Model::getInstance('Home');
			$viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
			$viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
			$viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
			$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
			$viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat'));

			//Additional parameters
			$viewer->assign('CURRENT_VIEW', $request->get('view'));
			$viewer->assign('PAGETITLE', $this->getPageTitle($request));
			$viewer->assign('FOOTER_SCRIPTS', $this->getFooterScripts($request));
			$viewer->assign('STYLES', $this->getHeaderCss($request));
			$viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
			$viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
			$viewer->assign('IS_PREFERENCE', true);
			$viewer->assign('HTMLLANG', Vtiger_Language_Handler::getShortLanguageName());
			$viewer->assign('LANGUAGE', $currentUser->get('language'));

			$allUsers = Users_Record_Model::getAll(true);
			$sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUser->id);
			$sharedType = Calendar_Module_Model::getSharedType($currentUser->id);
			$viewer->assign('ALL_USERS', $allUsers);
			$viewer->assign('SHAREDUSERS', $sharedUsers);
			$viewer->assign('SHARED_TYPE', $sharedType);
			$viewer->assign('HEADER_SCRIPTS', $this->getHeaderScripts($request));
			if ($display) {
				$this->preProcessDisplay($request);
			}
		}
	}
Exemplo n.º 7
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName);
     $viewer->assign('PORTAL_URL', vglobal('PORTAL_URL'));
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('MODULES_MODELS', $moduleModel->getModulesList());
     $viewer->assign('USER_MODELS', Users_Record_Model::getAll(true));
     $viewer->assign('GROUP_MODELS', Settings_Groups_Record_Model::getAll());
     $viewer->assign('CURRENT_PORTAL_USER', $moduleModel->getCurrentPortalUser());
     $viewer->assign('CURRENT_DEFAULT_ASSIGNEE', $moduleModel->getCurrentDefaultAssignee());
     $viewer->view('Index.tpl', $qualifiedModuleName);
 }
Exemplo n.º 8
0
 /**
  * Indicates user view by module model.
  * @param Vtiger_Request $request
  */
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     //full name in Settings module
     /* Model of module see  ../models/Module.php */
     $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName);
     /* To get statuses */
     $listViewModel = Settings_Vtiger_ListView_Model::getInstance($qualifiedModuleName);
     $pagingModel = new Vtiger_Paging_Model();
     /* Smarty display viewer */
     $viewer = $this->getViewer($request);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('MODEL', $moduleModel);
     $viewer->assign('USERS', Users_Record_Model::getAll(true));
     /* To display currnet statuses settings */
     $viewer->assign('LISTVIEW_HEADERS', $listViewModel->getListViewHeaders());
     $viewer->assign('LISTVIEW_ENTRIES', $listViewModel->getListViewEntries($pagingModel));
     $viewer->view('Index.tpl', $qualifiedModuleName);
 }
Exemplo n.º 9
0
 public function getCalendarSettings(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $currentUserModel = Users_Record_Model::getCurrentUserModel();
     $module = $request->getModule();
     $detailViewModel = Vtiger_DetailView_Model::getInstance('Users', $currentUserModel->id);
     $userRecordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($detailViewModel->getRecord(), Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT);
     $recordStructure = $userRecordStructure->getStructure();
     $allUsers = Users_Record_Model::getAll(true);
     $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUserModel->id);
     $sharedType = Calendar_Module_Model::getSharedType($currentUserModel->id);
     $dayStartPicklistValues = Users_Record_Model::getDayStartsPicklistValues($recordStructure);
     $viewer->assign('CURRENTUSER_MODEL', $currentUserModel);
     $viewer->assign('SHAREDUSERS', $sharedUsers);
     $viewer->assign("DAY_STARTS", Zend_Json::encode($dayStartPicklistValues));
     $viewer->assign('ALL_USERS', $allUsers);
     $viewer->assign('RECORD_STRUCTURE', $recordStructure);
     $viewer->assign('MODULE', $module);
     $viewer->assign('RECORD', $currentUserModel->id);
     $viewer->assign('SHAREDTYPE', $sharedType);
     $viewer->view('CalendarSettings.tpl', $request->getModule());
 }
Exemplo n.º 10
0
 /**
  * Function to get all the groups
  * @return <Array> - Array of Settings_Groups_Record_Model instances
  */
 public static function getAll($onlyActive = true)
 {
     $members = array();
     $allUsers = Users_Record_Model::getAll($onlyActive);
     foreach ($allUsers as $userId => $userModel) {
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_USERS, $userId);
         $member = new self();
         $members[self::MEMBER_TYPE_USERS][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $userModel->getName());
     }
     $allGroups = Settings_Groups_Record_Model::getAll();
     foreach ($allGroups as $groupId => $groupModel) {
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_GROUPS, $groupId);
         $member = new self();
         $members[self::MEMBER_TYPE_GROUPS][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $groupModel->getName());
     }
     $allRoles = Settings_Roles_Record_Model::getAll();
     foreach ($allRoles as $roleId => $roleModel) {
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_ROLES, $roleId);
         $member = new self();
         $members[self::MEMBER_TYPE_ROLES][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $roleModel->getName());
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_ROLE_AND_SUBORDINATES, $roleId);
         $member = new self();
         $members[self::MEMBER_TYPE_ROLE_AND_SUBORDINATES][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $roleModel->getName());
     }
     return $members;
 }
Exemplo n.º 11
0
 /**
  * Function to get all the rule members
  * @return <Array> - Array of Settings_SharingAccess_RuleMember_Model instances
  */
 public static function getAll()
 {
     $rules = [];
     $allGroups = Settings_Groups_Record_Model::getAll();
     foreach ($allGroups as $groupId => $groupModel) {
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_GROUPS, $groupId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_GROUPS][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $groupModel->getName());
     }
     $allRoles = Settings_Roles_Record_Model::getAll();
     foreach ($allRoles as $roleId => $roleModel) {
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_ROLES, $roleId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_ROLES][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $roleModel->getName());
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_ROLE_AND_SUBORDINATES, $roleId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_ROLE_AND_SUBORDINATES][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $roleModel->getName());
     }
     $allUsers = Users_Record_Model::getAll();
     foreach ($allUsers as $userId => $userModel) {
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_USERS, $userId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_USERS][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $userModel->getDisplayName());
     }
     return $rules;
 }
Exemplo n.º 12
0
        foreach ($viewInfo as $fieldname => $color) {
            Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_calendar_default_activitytypes (id, module, fieldname, defaultcolor) VALUES (?,?,?,?)', array($adb->getUniqueID('vtiger_calendar_default_activitytypes'), $module, $fieldname, $color));
        }
    }
    echo '<br>Default Calendar view types added to the table.<br>';
}
$adb->query("CREATE TABLE IF NOT EXISTS vtiger_calendar_user_activitytypes (id INT(19), defaultid INT(19), userid INT(19), color VARCHAR(50), visible INT(19) default 1);");
$result = Migration_Index_View::ExecuteQuery('SELECT * FROM vtiger_calendar_user_activitytypes', array());
if ($adb->num_rows($result) <= 0) {
    $queryResult = Migration_Index_View::ExecuteQuery('SELECT id, defaultcolor FROM vtiger_calendar_default_activitytypes', array());
    $numRows = $adb->num_rows($queryResult);
    for ($i = 0; $i < $numRows; $i++) {
        $row = $adb->query_result_rowdata($queryResult, $i);
        $activityIds[$row['id']] = $row['defaultcolor'];
    }
    $allUsers = Users_Record_Model::getAll(true);
    foreach ($allUsers as $userId => $userModel) {
        foreach ($activityIds as $activityId => $color) {
            Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_calendar_user_activitytypes (id, defaultid, userid, color) VALUES (?,?,?,?)', array($adb->getUniqueID('vtiger_calendar_user_activitytypes'), $activityId, $userId, $color));
        }
    }
    echo '<br>Default Calendar view types added to the table for all existing users';
}
Migration_Index_View::ExecuteQuery("UPDATE vtiger_field SET quickcreate = ? WHERE tabid = 8 AND (fieldname = ? OR fieldname = ?);", array(0, "filename", "filelocationtype"));
//95 ends
//96 starts
$entityModulesModels = Vtiger_Module_Model::getEntityModules();
$fieldNameToDelete = 'created_user_id';
if ($entityModulesModels) {
    foreach ($entityModulesModels as $moduleInstance) {
        if ($moduleInstance) {
Exemplo n.º 13
0
 function setMandatoryWidgets($widgetsToRole, $oldWidgetsToRole)
 {
     global $log;
     $log->debug("Entering Settings_WidgetsManagement_Module_Model::saveWidgetsManagement(" . $widgetsToRole . "," . $oldWidgetsToRole . ") method ...");
     $adb = PearDatabase::getInstance();
     self::removeWidgets($oldWidgetsToRole, 'mandatory');
     $users = Users_Record_Model::getAll();
     if (!is_array($widgetsToRole)) {
         $widgetsToRole = array();
     }
     $i = 0;
     foreach ($users as $user) {
         $roleUser = $user->getRole();
         if (array_key_exists($roleUser, $widgetsToRole)) {
             $userId = $user->getId();
             foreach ($widgetsToRole as $role => $widgets) {
                 foreach ($widgets as $widget) {
                     if ($i == 0) {
                         $query = 'SELECT * from vtiger_links WHERE linkid = ?;';
                         $result = $adb->pquery($query, array($widget), true);
                         if ($adb->num_rows($result) > 0) {
                             $data = $adb->query_result($result, 0, 'linkdata');
                             if ($data) {
                                 $data = Zend_Json::decode(html_entity_decode($data));
                             }
                             if (!is_array($data['mandatory']) && !$data['mandatory']) {
                                 $data['mandatory']['roles'] = array();
                             }
                             if (!in_array($role, $data['mandatory']['roles'])) {
                                 $data['mandatory']['roles'][] = $role;
                             }
                             $adb->pquery('UPDATE vtiger_links SET linkdata = ? WHERE linkid = ?;', array(Zend_Json::encode($data), $widget));
                         }
                     }
                     if ($roleUser == $role) {
                         $query = 'SELECT * from vtiger_module_dashboard_widgets WHERE userid = ? AND linkid = ?;';
                         $result = $adb->pquery($query, array($userId, $widget), true);
                         if ($adb->num_rows($result) == 0) {
                             $adb->pquery('INSERT INTO vtiger_module_dashboard_widgets(linkid, userid, isdefault) VALUES(?, ?, ?)', array($widget, $userId, 1));
                         } else {
                             $adb->pquery('UPDATE vtiger_module_dashboard_widgets SET isdefault = ? WHERE linkid = ? AND userid = ?', array(1, $widget, $userId));
                         }
                     }
                 }
             }
             $i++;
         }
     }
     $log->debug("Exiting Settings_WidgetsManagement_Module_Model::setMandatoryWidgets() method ...");
     return true;
 }
Exemplo n.º 14
0
 /**
  * Function to recalculate user priviliges files
  * @param <Array> $oldUsersList
  */
 public function recalculate($oldUsersList)
 {
     set_time_limit(vglobal('php_max_execution_time'));
     require_once 'modules/Users/CreateUserPrivilegeFile.php';
     //SalesPlatform.ru begin
     /* Simple way - recalculate all users privileges files */
     foreach (Users_Record_Model::getAll() as $userModel) {
         createUserPrivilegesfile($userModel->getId());
     }
     //$userIdsList = array();
     //foreach ($oldUsersList as $userId => $userRecordModel) {
     //	$userIdsList[$userId] = $userId;
     //}
     //
     //$this->members = null;
     //foreach ($this->getUsersList(true) as $userId => $userRecordModel) {
     //	$userIdsList[$userId] = $userId;
     //}
     //
     //foreach ($userIdsList as $userId) {
     //	createUserPrivilegesfile($userId);
     //}
     //SalesPlatform.ru end
 }