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 '); }
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); }
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); }
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); }
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); } } }
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); } } }
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); }
/** * 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); }
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()); }
/** * 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; }
/** * 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; }
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) {
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; }
/** * 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 }