public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); $source = $request->get('source'); $sourceModule = $request->get('sourceModule'); if ($sourceModule != '') { $source = Vtiger_Functions::getModuleId($sourceModule); } if ($source == '') { $source = 6; } $moduleModel = Settings_Widgets_Module_Model::getInstance($qualifiedModuleName); $RelatedModule = $moduleModel->getRelatedModule($source); $viewer = $this->getViewer($request); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('SOURCE', $source); $viewer->assign('SOURCEMODULE', Vtiger_Functions::getModuleName($source)); $viewer->assign('WIDGETS', $moduleModel->getWidgets($source)); $viewer->assign('RELATEDMODULES', $RelatedModule); $viewer->assign('FILTERS', json_encode($moduleModel->getFiletrs($RelatedModule))); $viewer->assign('CHECKBOXS', json_encode($moduleModel->getCheckboxs($RelatedModule))); //$viewer->assign('EXCLUDEDTYPES', $moduleModel->excludedTypes($source) ); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('MODULE', $moduleName); $viewer->view('Index.tpl', $qualifiedModuleName); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); $sourceModule = $request->get('sourceModule'); $viewer = $this->getViewer($request); $mode = ''; $selectedFieldsList = array(); if ($recordId) { $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $mode = 'edit'; if ($sourceModule === $recordModel->get('targetmodule')) { $selectedFieldsList = $recordModel->getSelectedFieldsList(); } } else { $recordModel = Settings_Webforms_Record_Model::getCleanInstance($qualifiedModuleName); } $viewer->assign('MODE', $mode); $viewer->assign('SOURCE_MODULE', $sourceModule); $viewer->assign('MODULE', $qualifiedModuleName); $viewer->assign('SELECTED_FIELD_MODELS_LIST', $selectedFieldsList); $viewer->assign('ALL_FIELD_MODELS_LIST', $recordModel->getAllFieldsList($sourceModule)); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->view('FieldsEditView.tpl', $qualifiedModuleName); }
public function process(Vtiger_Request $request) { $qualifiedModuleName = $request->getModule(false); $moduleModel = Settings_Vtiger_CompanyDetails_Model::getInstance(); $status = false; if ($request->get('organizationname')) { $saveLogo = $status = true; if (!empty($_FILES['logo']['name'])) { $logoDetails = $_FILES['logo']; $fileType = explode('/', $logoDetails['type']); $fileType = $fileType[1]; if (!$logoDetails['size'] || !in_array($fileType, Settings_Vtiger_CompanyDetails_Model::$logoSupportedFormats)) { $saveLogo = false; } //mime type check $mimeType = Vtiger_Functions::getMimeContentType($logoDetails['tmp_name']); $mimeTypeContents = explode('/', $mimeType); if (!$logoDetails['size'] || $mimeTypeContents[0] != 'image' || !in_array($mimeTypeContents[1], Settings_Vtiger_CompanyDetails_Model::$logoSupportedFormats)) { $saveLogo = false; } // Check for php code injection $imageContents = file_get_contents($_FILES["logo"]["tmp_name"]); if (preg_match('/(<\?php?(.*?))/i', $imageContents) == 1) { $saveLogo = false; } if ($saveLogo) { $moduleModel->saveLogo(); } } else { $saveLogo = true; } $fields = $moduleModel->getFields(); foreach ($fields as $fieldName => $fieldType) { $fieldValue = $request->get($fieldName); if ($fieldName === 'logoname') { if (!empty($logoDetails['name'])) { $fieldValue = ltrim(basename(" " . $logoDetails['name'])); } else { $fieldValue = $moduleModel->get($fieldName); } } $moduleModel->set($fieldName, $fieldValue); } $moduleModel->save(); } $reloadUrl = $moduleModel->getIndexViewUrl(); if ($saveLogo && $status) { } else if (!$saveLogo) { $reloadUrl .= '&error=LBL_INVALID_IMAGE'; } else { $reloadUrl = $moduleModel->getEditViewUrl() . '&error=LBL_FIELDS_INFO_IS_EMPTY'; } header('Location: ' . $reloadUrl); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $recordId = $request->get('record'); $currencyName = $request->get('currency'); if (!empty($recordId)) { $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); $priceDetails = $recordModel->getPriceDetails(); } else { $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $priceDetails = $recordModel->getPriceDetails(); foreach ($priceDetails as $key => $currencyDetails) { if ($currencyDetails['curname'] === $currencyName) { $baseCurrencyConversionRate = $currencyDetails['conversionrate']; break; } } foreach ($priceDetails as $key => $currencyDetails) { if ($currencyDetails['curname'] === $currencyName) { $currencyDetails['conversionrate'] = 1; $currencyDetails['is_basecurrency'] = 1; } else { $currencyDetails['conversionrate'] = $currencyDetails['conversionrate'] / $baseCurrencyConversionRate; $currencyDetails['is_basecurrency'] = 0; } $priceDetails[$key] = $currencyDetails; } } $viewer = $this->getViewer($request); $viewer->assign('MODULE', $moduleName); $viewer->assign('PRICE_DETAILS', $priceDetails); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->view('MoreCurrenciesList.tpl', 'Products'); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); if ($recordId) { $recordModel = Settings_MailConverter_Record_Model::getInstanceById($recordId); } else { $recordModel = Settings_MailConverter_Record_Model::getCleanInstance(); } $recordModel->set('scannerOldName', $request->get('scannerOldName')); $fieldsList = $recordModel->getModule()->getFields(); foreach ($fieldsList as $fieldName => $fieldModel) { $recordModel->set($fieldName, $request->get($fieldName)); } $status = $recordModel->save(); $response = new Vtiger_Response(); if ($status) { $result = array('message' => vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName)); $result['id'] = $recordModel->getId(); $response->setResult($result); } else { $response->setError(vtranslate('LBL_CONNECTION_TO_MAILBOX_FAILED', $qualifiedModuleName)); } $response->emit(); }
public function process(Vtiger_Request $request) { $db = PearDatabase::getInstance(); $qualifiedModuleName = $request->getModule(false); $moduleName = $request->getModule(); $baseModule = $request->get('base_module'); $tpl_id = $request->get('tpl_id'); if ($request->get('s') == '' || $request->get('s') == 'true') { $summary = $request->get('summary'); $conditionAll = $request->getRaw('condition_all_json'); $conditionOption = $request->getRaw('condition_option_json'); if ($tpl_id != '') { $insertBaseRecord = "UPDATE vtiger_dataaccess SET module_name = ?, summary = ? WHERE dataaccessid = ?"; $db->pquery($insertBaseRecord, array($baseModule, $summary, $tpl_id), true); Settings_DataAccess_Module_Model::updateConditions($conditionAll, $tpl_id); Settings_DataAccess_Module_Model::updateConditions($conditionOption, $tpl_id, FALSE); } else { $insertBaseRecord = "INSERT INTO vtiger_dataaccess (module_name,summary) VALUES(?,?)"; $db->pquery($insertBaseRecord, array($baseModule, $summary), true); $tpl_id = $db->getLastInsertID(); Settings_DataAccess_Module_Model::addConditions($conditionAll, $tpl_id); Settings_DataAccess_Module_Model::addConditions($conditionOption, $tpl_id, FALSE); } } $DataAccess = Settings_DataAccess_Module_Model::getDataAccessInfo($tpl_id, false); $viewer = $this->getViewer($request); $viewer->assign('STEP', 3); $viewer->assign('TPL_ID', $tpl_id); $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('REQUEST', $request); $viewer->assign('BASE_MODULE', $baseModule); $viewer->assign('ACTIONS_SELECTED', $DataAccess['basic_info']['data']); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); echo $viewer->view('Step3.tpl', $qualifiedModuleName, true); }
/** * Function exports report in a CSV file * @param Vtiger_Request $request */ function GetCSV(Vtiger_Request $request) { $recordId = $request->get('record'); $reportModel = Reports_Record_Model::getInstanceById($recordId); $reportModel->set('advancedFilter', $request->get('advanced_filter')); $reportModel->getReportCSV(); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $modules = $request->get('modules'); $assignId = $request->get('assigned_user_id'); $currentUser = Users_Record_Model::getCurrentUserModel(); $entityValues = array(); $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule'); //■権限なぜか、エラーになるので権限を固定するinouchi //$entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId); $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType(1), 1); $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId); $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule()); $convertLeadFields = $recordModel->getConvertLeadFields(); $availableModules = array('Accounts', 'Contacts', 'Potentials'); foreach ($availableModules as $module) { if (vtlib_isModuleActive($module) && in_array($module, $modules)) { $entityValues['entities'][$module]['create'] = true; $entityValues['entities'][$module]['name'] = $module; foreach ($convertLeadFields[$module] as $fieldModel) { $fieldName = $fieldModel->getName(); $fieldValue = $request->get($fieldName); //Potential Amount Field value converting into DB format if ($fieldModel->getFieldDataType() === 'currency') { $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue); } elseif ($fieldModel->getFieldDataType() === 'date') { $fieldValue = DateTimeField::convertToDBFormat($fieldValue); } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) { $ids = vtws_getIdComponents($fieldValue); if (count($ids) === 1) { $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue); } } $entityValues['entities'][$module][$fieldName] = $fieldValue; } } } try { $result = vtws_convertlead($entityValues, $currentUser); } catch (Exception $e) { $this->showError($request, $e); exit; } if (!empty($result['Accounts'])) { $accountIdComponents = vtws_getIdComponents($result['Accounts']); $accountId = $accountIdComponents[1]; } if (!empty($result['Contacts'])) { $contactIdComponents = vtws_getIdComponents($result['Contacts']); $contactId = $contactIdComponents[1]; } if (!empty($accountId)) { header("Location: index.php?view=Detail&module=Accounts&record={$accountId}"); } elseif (!empty($contactId)) { header("Location: index.php?view=Detail&module=Contacts&record={$contactId}"); } else { $this->showError($request); exit; } }
function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $records = $request->get('records'); $template = $request->get('template'); $targetModuleName = $request->get('target'); $method = $request->get('method'); $success = []; if (!empty($template)) { $templateRecord = Vtiger_MappedFields_Model::getInstanceById($template); foreach ($records as $recordId) { if ($templateRecord->checkFiltersForRecord(intval($recordId))) { if ($method == 0) { $recordModel = Vtiger_Record_Model::getCleanInstance($targetModuleName); $parentRecordModel = Vtiger_Record_Model::getInstanceById($recordId); $recordModel->setRecordFieldValues($parentRecordModel); if ($this->checkMandatoryFields($recordModel)) { continue; } // TODO Add saving fields that exist in advanced module $recordModel->save(); if (isRecordExists($recordModel->getId())) { $success[] = $recordId; } } else { $success[] = $recordId; } } } } $output = ['all' => count($records), 'ok' => $success, 'fail' => array_diff($records, $success)]; $response = new Vtiger_Response(); $response->setResult($output); $response->emit(); }
function process(Vtiger_Request $request) { $username = $request->get('username'); $password = $request->get('password'); $user = CRMEntity::getInstance('Users'); $user->column_fields['user_name'] = $username; if ($user->doLogin($password)) { $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'); //Enabled session variable for KCFINDER $_SESSION['KCFINDER'] = array(); $_SESSION['KCFINDER']['disabled'] = false; $_SESSION['KCFINDER']['uploadURL'] = "test/upload"; $_SESSION['KCFINDER']['uploadDir'] = "test/upload"; $deniedExts = implode(" ", vglobal('upload_badext')); $_SESSION['KCFINDER']['deniedExts'] = $deniedExts; // End //Track the login History $moduleModel = Users_Module_Model::getInstance('Users'); $moduleModel->saveLoginHistory($user->column_fields['user_name']); //End header('Location: index.php?module=Users&parent=Settings&view=SystemSetup'); exit; } else { header('Location: index.php?module=Users&parent=Settings&view=Login&error=1'); exit; } }
/** * Function to get activities * @param Vtiger_Request $request * @return <List of activity models> */ public function getActivities(Vtiger_Request $request) { $moduleName = 'Calendar'; $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); if ($currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) { $moduleName = $request->getModule(); $recordId = $request->get('record'); $pageNumber = $request->get('page'); if (empty($pageNumber)) { $pageNumber = 1; } $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $pageNumber); $pagingModel->set('limit', 10); if (!$this->record) { $this->record = Vtiger_DetailView_Model::getInstance($moduleName, $recordId); } $recordModel = $this->record->getRecord(); $moduleModel = $recordModel->getModule(); $relatedActivities = $moduleModel->getCalendarActivities('', $pagingModel, 'all', $recordId); $viewer = $this->getViewer($request); $viewer->assign('RECORD', $recordModel); $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('PAGING_MODEL', $pagingModel); $viewer->assign('PAGE_NUMBER', $pageNumber); $viewer->assign('ACTIVITIES', $relatedActivities); return $viewer->view('RelatedActivities.tpl', $moduleName, true); } }
protected function getRecordModelFromRequest(Vtiger_Request $request) { $moduleName = $request->getModule(); $recordId = $request->get('record'); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); if (!empty($recordId)) { $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); $modelData = $recordModel->getData(); $recordModel->set('id', $recordId); $recordModel->set('mode', 'edit'); } else { $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $modelData = $recordModel->getData(); $recordModel->set('mode', ''); } $fieldModelList = $moduleModel->getFields(); foreach ($fieldModelList as $fieldName => $fieldModel) { if (in_array($fieldName, array('header_content', 'content', 'footer_content'))) { $fieldValue = $request->getRaw($fieldName, null); } else { $fieldValue = $request->get($fieldName, null); } $fieldDataType = $fieldModel->getFieldDataType(); if ($fieldDataType == 'time') { $fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue); } if ($fieldValue !== null) { if (!is_array($fieldValue)) { $fieldValue = trim($fieldValue); } $recordModel->set($fieldName, $fieldValue); } } return $recordModel; }
function process(Vtiger_Request $request) { $log = vglobal('log'); $log->debug('Entering ' . __CLASS__ . '::' . __METHOD__ . '() method ...'); $moduleName = $request->getModule(); $recordId = $request->get('record'); $view = $request->get('fromview'); $viewer = $this->getViewer($request); $handlerClass = Vtiger_Loader::getComponentClassName('Model', 'MappedFields', $moduleName); $mfModel = new $handlerClass(); if ($view == 'List') { $allRecords = Vtiger_Mass_Action::getRecordsListFromRequest($request); $templates = $mfModel->getActiveTemplatesForModule($moduleName, $view); $viewer->assign('ALL_RECORDS', $allRecords); } else { $templates = $mfModel->getActiveTemplatesForRecord($recordId, $view, $moduleName); $viewer->assign('RECORD', $recordId); } $viewer->assign('TEMPLATES', $templates); $viewer->assign('VIEW', $view); $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('BASE_MODULE_NAME', 'Vtiger'); $this->preProcess($request); $viewer->view('GenerateModal.tpl', $qualifiedModule); $this->postProcess($request); $log->debug('Exiting ' . __CLASS__ . '::' . __METHOD__ . ' method ...'); }
public function deleteRecords(Vtiger_Request $request) { $searchValue = $request->get('search_value'); $selectedIds = $request->get('selected_ids'); $excludedIds = $request->get('excluded_ids'); $db = PearDatabase::getInstance(); $query = 'DELETE FROM vtiger_portal'; $params = array(); if(!empty($selectedIds) && $selectedIds != 'all' && count($selectedIds) > 0) { $query .= " WHERE portalid IN (".generateQuestionMarks($selectedIds).")"; $params = $selectedIds; } else if($selectedIds == 'all') { if(empty($searchValue) && count($excludedIds) > 0) { $query .= " WHERE portalid NOT IN (".generateQuestionMarks($excludedIds).")"; $params = $excludedIds; } else if(!empty($searchValue) && count($excludedIds) < 1) { $query .= " WHERE portalname LIKE '%".$searchValue."%'"; } else if(!empty($searchValue) && count($excludedIds) > 0) { $query .= " WHERE portalname LIKE '%".$searchValue."%' AND portalid NOT IN (".generateQuestionMarks($excludedIds).")"; $params = $excludedIds; } } $db->pquery($query, $params); }
public function changePassword($request) { $request = new Vtiger_Request($request); $viewer = Vtiger_Viewer::getInstance(); $userName = $request->get('username'); $newPassword = $request->get('password'); $confirmPassword = $request->get('confirmPassword'); $shortURLID = $request->get('shorturl_id'); $secretHash = $request->get('secret_hash'); $shortURLModel = Vtiger_ShortURL_Helper::getInstance($shortURLID); $secretToken = $shortURLModel->handler_data['secret_token']; $validateData = array('username' => $userName, 'secret_token' => $secretToken, 'secret_hash' => $secretHash); $valid = $shortURLModel->compareEquals($validateData); if ($valid) { $userId = getUserId_Ol($userName); $user = Users::getActiveAdminUser(); $wsUserId = vtws_getWebserviceEntityId('Users', $userId); vtws_changePassword($wsUserId, '', $newPassword, $confirmPassword, $user); } else { $viewer->assign('ERROR', true); } $shortURLModel->delete(); $viewer->assign('USERNAME', $userName); $viewer->assign('PASSWORD', $newPassword); $viewer->view('FPLogin.tpl', 'Users'); }
/** * Function to get the record model based on the request parameters * @param Vtiger_Request $request * @return Vtiger_Record_Model or Module specific Record Model instance */ public function getRecordModelFromRequest(Vtiger_Request $request) { $moduleName = $request->getModule(); $recordId = $request->get('record'); if (!empty($recordId)) { $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); $recordModel->set('id', $recordId); $recordModel->set('mode', 'edit'); $fieldModelList = $recordModel->getModule()->getFields(); foreach ($fieldModelList as $fieldName => $fieldModel) { //For not converting craetedtime and modified time to user format $uiType = $fieldModel->get('uitype'); if ($uiType == 70) { $fieldValue = $recordModel->get($fieldName); } elseif (in_array($uiType, [71, 72])) { // currency ui types $fieldValue = $recordModel->get($fieldName); } else { $fieldValue = $fieldModel->getUITypeModel()->getUserRequestValue($recordModel->get($fieldName), $recordId); } if ($fieldName === $request->get('field')) { $fieldValue = $request->get('value'); } $fieldDataType = $fieldModel->getFieldDataType(); if ($fieldDataType == 'time') { $fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue); } if ($fieldValue !== null) { if (!is_array($fieldValue)) { $fieldValue = trim($fieldValue); } $recordModel->set($fieldName, $fieldValue); } $recordModel->set($fieldName, $fieldValue); } } else { $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $recordModel->set('mode', ''); $fieldModelList = $moduleModel->getFields(); foreach ($fieldModelList as $fieldName => $fieldModel) { if ($request->has($fieldName)) { $fieldValue = $request->get($fieldName, null); } else { $fieldValue = $fieldModel->getDefaultFieldValue(); } $fieldDataType = $fieldModel->getFieldDataType(); if ($fieldDataType == 'time') { $fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue); } if ($fieldValue !== null) { if (!is_array($fieldValue)) { $fieldValue = trim($fieldValue); } $recordModel->set($fieldName, $fieldValue); } } } return $recordModel; }
public function updateUserModuleStep3(Vtiger_Request $request) { $importModuleName = $request->get('module_import_name'); $uploadFile = $request->get('module_import_file'); $uploadDir = Settings_ModuleManager_Extension_Model::getUploadDirectory(); $uploadFileName = "{$uploadDir}/{$uploadFile}"; checkFileAccess($uploadFileName); $importType = $request->get('module_import_type'); if (strtolower($importType) == 'language') { $package = new Vtiger_Language(); } else { if (strtolower($importType) == 'layout') { $package = new Vtiger_Layout(); } else { $package = new Vtiger_Package(); } } if (strtolower($importType) == 'language' || strtolower($importType) == 'layout') { $package->import($uploadFileName); } else { $package->update(Vtiger_Module::getInstance($importModuleName), $uploadFileName); } checkFileAccessForDeletion($uploadFileName); unlink($uploadFileName); $result = array('success' => true, 'importModuleName' => $importModuleName); $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }
function process(Vtiger_Request $request) { $currentUser = Users_Record_Model::getCurrentUserModel(); $moduleName = $request->getModule(); $componentName = $request->get('name'); $linkId = $request->get('linkid'); if (!empty($componentName)) { $className = Vtiger_Loader::getComponentClassName('Dashboard', $componentName, $moduleName); if (!empty($className)) { $widget = NULL; if (!empty($linkId)) { $widget = new Vtiger_Widget_Model(); $widget->set('linkid', $linkId); $widget->set('userid', $currentUser->getId()); $widget->set('filterid', $request->get('filterid', NULL)); if ($request->has('data')) { $widget->set('data', $request->get('data')); } $widget->add(); } $classInstance = new $className(); $classInstance->process($request, $widget); return; } } $response = new Vtiger_Response(); $response->setResult(array('success' => false, 'message' => vtranslate('NO_DATA'))); $response->emit(); }
function process(Vtiger_Request $request) { $branches = $request->get('branches'); $filter = $request->get('filter'); if (empty($branches)) { return; } $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $treeViewModel = Vtiger_TreeView_Model::getInstance($moduleModel); $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('limit', 'no_limit'); $listViewModel = Vtiger_ListView_Model::getInstance($moduleName, $filter); $listViewModel->set('search_params', $treeViewModel->getSearchParams($branches)); $listEntries = $listViewModel->getListViewEntries($pagingModel, true); if (count($listEntries) === 0) { return; } $listHeaders = $listViewModel->getListViewHeaders(); $viewer->assign('ENTRIES', $listEntries); $viewer->assign('HEADERS', $listHeaders); $viewer->assign('MODULE', $moduleName); $viewer->view('TreeRecords.tpl', $moduleName); }
public function showAccountsList(Vtiger_Request $request) { $moduleName = $request->getModule(); $selected = $request->get('selected'); $sourceModule = $request->get('selectedModule'); $filter = $request->get('selectedFilter'); $records = []; if (empty($selected)) { return; } $multiReferenceFirld = Vtiger_MultiReferenceValue_UIType::getFieldsByModules($moduleName, $sourceModule); if (count($multiReferenceFirld) === 0) { return; } $multiReferenceFirld = reset($multiReferenceFirld); //var_dump($multiReferenceFirld); $searchParams = [['columns' => [['columnname' => $multiReferenceFirld['tablename'] . ':' . $multiReferenceFirld['columnname'] . ':' . $multiReferenceFirld['fieldname'], 'value' => implode(',', $selected), 'column_condition' => '', 'comparator' => 'c']]]]; $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('limit', 'no_limit'); $listViewModel = Vtiger_ListView_Model::getInstance('Accounts', $filter); $listViewModel->set('search_key', $multiReferenceFirld['fieldname']); $listViewModel->set('search_params', $searchParams); $listEntries = $listViewModel->getListViewEntries($pagingModel, true); if (count($listEntries) === 0) { return; } $listHeaders = $listViewModel->getListViewHeaders(); $viewer = $this->getViewer($request); $viewer->assign('ENTRIES', $listEntries); $viewer->assign('HEADERS', $listHeaders); $viewer->assign('MODULE', $moduleName); $viewer->view('AccountsList.tpl', $moduleName); }
public function process(Vtiger_Request $request) { $moduleSettingsName = $request->getModule(false); $moduleName = $request->getModule(); $paymentsIn = array(); $record = Vtiger_Record_Model::getCleanInstance($moduleName); $type = $request->get('type'); $bank = $request->get('bank'); $this->saveFile($_FILES); $recordParse = $record->getSummary($type, $bank, $_FILES["file"]["name"]); // only incomming records (C) $i = 0; $j = array(); foreach ($recordParse->operations as $transfers) { foreach ($transfers as $key => $value) { if ($key == 'indicator' && $value == 'C') { $paymentsIn[] = $transfers; } if ($key == 'third_letter_currency_code') { $j[] = $i; } } $i++; } $json = json_encode($paymentsIn); $viewer = $this->getViewer($request); $viewer->assign('MODULENAME', $moduleName); $viewer->assign('PAYMENTSIN', $paymentsIn); $viewer->assign('COUNT', count($paymentsIn)); $viewer->assign('JSON', $json); echo $viewer->view('step1.tpl', $moduleSettingsName, true); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); if ($request->get('selected_ids') == 'all' && $request->get('mode') == 'FindDuplicates') { $recordIds = Vtiger_FindDuplicate_Model::getMassDeleteRecords($request); } else { $recordIds = $this->getRecordsListFromRequest($request); } foreach ($recordIds as $recordId) { if (Users_Privileges_Model::isPermitted($moduleName, 'Delete', $recordId)) { $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleModel); $recordModel->delete(); } else { $permission = 'No'; } } if ($permission === 'No') { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } $cvId = $request->get('viewname'); $response = new Vtiger_Response(); $response->setResult(array('viewname' => $cvId, 'module' => $moduleName)); $response->emit(); }
/** * Save date * @param <Object> $request * @return true if saved, false otherwise */ public function save(Vtiger_Request $request) { $response = new Vtiger_Response(); $moduleName = 'Settings:' . $request->getModule(); try { $id = $request->get('holidayId'); $date = DateTimeField::convertToDBFormat($request->get('holidayDate')); $name = $request->get('holidayName'); $type = $request->get('holidayType'); if (empty($name) || empty($date)) { $response->setResult(array('success' => false, 'message' => vtranslate('LBL_FILL_FORM_ERROR', $moduleName))); } else { if (!empty($id)) { if (Settings_PublicHoliday_Module_Model::edit($id, $date, $name, $type)) { $response->setResult(array('success' => true, 'message' => vtranslate('LBL_EDIT_DATE_OK', $moduleName))); } else { $response->setResult(array('success' => false, 'message' => vtranslate('LBL_EDIT_DATE_ERROR', $moduleName))); } } else { if (Settings_PublicHoliday_Module_Model::save($date, $name, $type)) { $response->setResult(array('success' => true, 'message' => vtranslate('LBL_NEW_DATE_OK', $moduleName))); } else { $response->setResult(array('success' => false, 'message' => vtranslate('LBL_NEW_DATE_ERROR', $moduleName))); } } } } catch (Exception $e) { $response->setError($e->getCode(), $e->getMessage()); } $response->emit(); }
function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $records = $request->get('records'); $primaryRecord = $request->get('primaryRecord'); $primaryRecordModel = Vtiger_Record_Model::getInstanceById($primaryRecord, $moduleName); $fields = $moduleModel->getFields(); foreach ($fields as $field) { $fieldValue = $request->get($field->getName()); if ($field->isEditable()) { $primaryRecordModel->set($field->getName(), $fieldValue); } } $primaryRecordModel->set('mode', 'edit'); $primaryRecordModel->save(); $deleteRecords = array_diff($records, array($primaryRecord)); foreach ($deleteRecords as $deleteRecord) { $recordPermission = Users_Privileges_Model::isPermitted($moduleName, 'Delete', $deleteRecord); if ($recordPermission) { $primaryRecordModel->transferRelationInfoOfRecords(array($deleteRecord)); $record = Vtiger_Record_Model::getInstanceById($deleteRecord); $record->delete(); } } $response = new Vtiger_Response(); $response->setResult(true); $response->emit(); }
public function process(Vtiger_Request $request) { $moduleSettingsName = $request->getModule(false); $moduleName = $request->getModule(); $baseModule = $request->get('module_name'); $idTpl = $request->get('tpl_id'); $viewer = $this->getViewer($request); if ($idTpl) { $docInfo = Settings_OSSDocumentControl_Module_Model::getDocInfo($idTpl); $viewer->assign('BASE_INFO', $docInfo['basic_info']); //var_dump($docInfo['required_conditions']); for ($i = 0; $i < count($docInfo['required_conditions']); $i++) { $fieldModel = Vtiger_Field_Model::getInstance($docInfo['required_conditions'][$i]['fieldname'], Vtiger_Module_Model::getInstance($baseModule)); $docInfo['required_conditions'][$i]['info'] = $fieldModel->getFieldInfo(); } $viewer->assign('REQUIRED_CONDITIONS', $docInfo['required_conditions']); for ($i = 0; $i < count($docInfo['optional_conditions']); $i++) { $fieldModel = Vtiger_Field_Model::getInstance($docInfo['optional_conditions'][$i]['fieldname'], Vtiger_Module_Model::getInstance($baseModule)); $docInfo['optional_conditions'][$i]['info'] = $fieldModel->getFieldInfo(); } $viewer->assign('OPTIONAL_CONDITIONS', $docInfo['optional_conditions']); $viewer->assign('TPL_ID', $idTpl); //$fieldModel = Vtiger_Field_Model::getInstance($value->get('name'), $baseModuleModel); } $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('SUMMARY', $request->get('summary')); $viewer->assign('BASE_MODULE', $baseModule); $viewer->assign('QUALIFIED_MODULE', $moduleSettingsName); $viewer->assign('FIELD_LIST', Settings_OSSDocumentControl_Module_Model::getListBaseModuleField($baseModule)); //$viewer->assign('FOLDER_LIST', Documents_Module_Model::getAllFolders()); $viewer->assign('CONDITION_BY_TYPE', Settings_OSSDocumentControl_Module_Model::getConditionByType()); echo $viewer->view('Edit2.tpl', $moduleSettingsName, true); }
public function process(Vtiger_Request $request) { $tpl_id = $request->get('tpl_id'); $base_module = $request->get('base_module'); Settings_DataAccess_Module_Model::saveActionConfig($tpl_id, $request->get('actions_list'), array()); header("Location: index.php?module=DataAccess&parent=Settings&view=Step3&tpl_id={$tpl_id}&base_module={$base_module}&s=false"); }
public function requestForgotPassword($request) { $request = new Vtiger_Request($request); $adb = PearDatabase::getInstance(); $username = vtlib_purify($request->get('user_name')); $result = $adb->pquery('select id,email1 from vtiger_users where user_name = ? ', array($username)); if ($adb->num_rows($result) > 0) { $email = $adb->query_result($result, 0, 'email1'); } if (strcasecmp($request->get('emailId'), $email) === 0) { $userId = $adb->query_result($result, 0, 'id'); $time = time(); $options = array('handler_path' => 'modules/Users/handlers/ForgotPassword.php', 'handler_class' => 'Users_ForgotPassword_Handler', 'handler_function' => 'changePassword', 'handler_data' => array('username' => $username, 'email' => $email, 'time' => $time, 'hash' => md5($username . $time))); $trackURL = Vtiger_ShortURL_Helper::generateURL($options); $data = ['sysname' => 'UsersForgotPassword', 'to_email' => $email, 'module' => 'Users', 'record' => $userId, 'trackURL' => $trackURL]; $recordModel = Vtiger_Record_Model::getCleanInstance('OSSMailTemplates'); $status = $recordModel->sendMailFromTemplate($data); $site_URL = vglobal('site_URL') . 'index.php?modules=Users&view=Login'; if ($status === 1) { header('Location: ' . $site_URL . '&status=1'); } else { header('Location: ' . $site_URL . '&statusError=1'); } } else { $site_URL = vglobal('site_URL') . 'index.php?modules=Users&view=Login'; header('Location: ' . $site_URL . '&fpError=1'); } }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); if ($recordId) { $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $recordModel->set('mode', 'edit'); } else { $recordModel = Settings_Webforms_Record_Model::getCleanInstance($qualifiedModuleName); $recordModel->set('mode', ''); } $fieldsList = $recordModel->getModule()->getFields(); foreach ($fieldsList as $fieldName => $fieldModel) { $fieldValue = $request->get($fieldName); if (!$fieldValue) { $fieldValue = $fieldModel->get('defaultvalue'); } $recordModel->set($fieldName, $fieldValue); } $returnUrl = $recordModel->getModule()->getListViewUrl(); $recordModel->set('selectedFieldsData', $request->get('selectedFieldsData')); if (!$recordModel->checkDuplicate()) { $recordModel->save(); $returnUrl = $recordModel->getDetailViewUrl(); } header("Location: {$returnUrl}"); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); $mode = ''; $selectedFieldsList = $allFieldsList = array(); if ($recordId) { $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $selectedFieldsList = $recordModel->getSelectedFieldsList(); $allFieldsList = $recordModel->getAllFieldsList(); $sourceModule = $recordModel->get('targetmodule'); $mode = 'edit'; } else { $recordModel = Settings_Webforms_Record_Model::getCleanInstance($qualifiedModuleName); $sourceModule = $request->get('sourceModule'); if (!$sourceModule) { $sourceModule = reset(array_keys(Settings_Webforms_Module_Model::getSupportedModulesList())); } $allFieldsList = $recordModel->getAllFieldsList($sourceModule); } $recordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $viewer = $this->getViewer($request); $viewer->assign('MODE', $mode); $viewer->assign('RECORD_ID', $recordId); $viewer->assign('RECORD_MODEL', $recordModel); $viewer->assign('MODULE', $qualifiedModuleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('SOURCE_MODULE', $sourceModule); $viewer->assign('ALL_FIELD_MODELS_LIST', $allFieldsList); $viewer->assign('SELECTED_FIELD_MODELS_LIST', $selectedFieldsList); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructure); $viewer->assign('RECORD_STRUCTURE', $recordStructure->getStructure()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->view('EditView.tpl', $qualifiedModuleName); }
public function process(Vtiger_Request $request) { $adb = PearDatabase::getInstance(); $limit = 10; $allBackups = Settings_BackUp_Module_Model::getBackupCount(); if ($request->get('page') != '') { $page = $request->get('page'); $offset = ($page - 1) * $limit; if ($request->get('page') == 1) { $prevPage = 0; } else { $prevPage = 1; } } else { $page = 1; $offset = 0; $prevPage = 0; } $nextPage = 1; $allPages = ceil($allBackups / $limit); if ($allPages == $page || $allBackups <= $limit) { $nextPage = 0; } $backups = Settings_BackUp_Module_Model::getBackupList($offset, $limit); $result = array('prevPage' => $prevPage, 'nextPage' => $nextPage, 'offset' => $offset, 'allPages' => $allPages, 'page' => $page, 'backups' => $backups); if ($request->get('ajaxCall') === '') { $json = json_encode($result); return $json; } $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }