Example #1
0
 function validateRecords(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $records = $request->get('records');
     $templates = $request->get('templates');
     $allRecords = count($records);
     $output = ['valid_records' => [], 'message' => vtranslate('LBL_VALID_RECORDS', $moduleName, 0, $allRecords)];
     if (!empty($templates) && count($templates) > 0) {
         foreach ($templates as $templateId) {
             $templateRecord = Vtiger_PDF_Model::getInstanceById($templateId);
             foreach ($records as $recordId) {
                 if (!$templateRecord->checkFiltersForRecord(intval($recordId))) {
                     if (($key = array_search($recordId, $records)) !== false) {
                         unset($records[$key]);
                     }
                 }
             }
         }
         $selectedRecords = count($records);
         $output = ['valid_records' => $records, 'message' => vtranslate('LBL_VALID_RECORDS', $moduleName, $selectedRecords, $allRecords)];
     }
     $response = new Vtiger_Response();
     $response->setResult($output);
     $response->emit();
 }
Example #2
0
 public function process(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     if (!$request->get("label") && !$request->get("block") || !$request->get("languages")) {
         //Make JSON response
         $response = new Vtiger_Response();
         $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName));
         $response->emit();
         exit;
     }
     $languages = trim($request->get("languages"));
     $a_languages = explode(",", $languages);
     $a_block = $request->get("block");
     //Repair bug with utf8 characters
     if (!is_array($a_block)) {
         $oldValue = Zend_Json::$useBuiltinEncoderDecoder;
         Zend_Json::$useBuiltinEncoderDecoder = true;
         $a_block = Zend_Json::decode($a_block);
         Zend_Json::$useBuiltinEncoderDecoder = $oldValue;
         foreach ($a_block as &$val) {
             $val = utf8_encode($val);
         }
     }
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('LIST_PARENT_TABS', $a_parent_tabs);
     $viewer->assign('LIST_MODULES', $a_modules);
     $viewer->assign('LIST_MANIFEST_TEMPLATES', $a_manifest_templates);
     $viewer->assign('LIST_DIR_TEMPLATES', $a_dir_templates);
     $viewer->assign('a_block', $a_block);
     $viewer->assign('a_languages', $a_languages);
     echo $viewer->view('EditBlockPopup.tpl', $qualifiedModuleName, true);
 }
 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();
 }
Example #4
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $scannerId = $request->get('scannerId');
     $action = $request->get('action1');
     $request->set('action', $action);
     $qualifiedModuleName = $request->getModule(false);
     if ($recordId) {
         $recordModel = Settings_MailConverter_RuleRecord_Model::getInstanceById($recordId);
     } else {
         $recordModel = Settings_MailConverter_RuleRecord_Model::getCleanInstance($scannerId);
     }
     $recordModel->assignedTo = $request->get('assignedTo');
     $recordModel->cc = $request->get('cc');
     $recordModel->bcc = $request->get('bcc');
     $fieldsList = $recordModel->getFields();
     foreach ($fieldsList as $fieldName) {
         $recordModel->set($fieldName, $request->get($fieldName));
     }
     $recordModel->set('newAction', $request->get('action'));
     $ruleId = $recordModel->save();
     $response = new Vtiger_Response();
     $response->setResult(array('message' => vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName), 'id' => $ruleId, 'scannerId' => $scannerId));
     $response->emit();
 }
Example #5
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     vimport('~~modules/' . $moduleName . '/' . $moduleName . '.php');
     $bag = false;
     $paymentsIn = $request->get('paymentsIn');
     foreach ($paymentsIn as $fields) {
         $ossPaymentsIn = new $moduleName();
         $ossPaymentsIn->column_fields['paymentsname'] = 'Name';
         $ossPaymentsIn->column_fields['paymentsvalue'] = $fields['amount'];
         $ossPaymentsIn->column_fields['paymentscurrency'] = $fields['third_letter_currency_code'];
         $ossPaymentsIn->column_fields['paymentstitle'] = $fields['details']['title'];
         $ossPaymentsIn->column_fields['bank_account'] = $fields['details']['contAccount'];
         $saved = $ossPaymentsIn->save('PaymentsIn');
         if ($saved == false) {
             $bag = true;
         }
     }
     if ($bag) {
         $result = array('success' => true, 'return' => vtranslate('MSG_SAVE_OK', $moduleName));
     } else {
         $result = array('success' => false, 'return' => vtranslate('MSG_SAVE_ERROR', $moduleName));
     }
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #6
0
 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();
 }
Example #7
0
 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();
 }
Example #8
0
 public function checkEnable(\Vtiger_Request $request)
 {
     $moduleModel = Vtiger_Module_Model::getCleanInstance($request->getModule());
     $response = new Vtiger_Response();
     $response->setResult($moduleModel->isActive());
     $response->emit();
 }
Example #9
0
 public function process(Vtiger_Request $request)
 {
     $db = PearDatabase::getInstance();
     if ($request->get('file') == 'ShowModuleIdField') {
         $html = ShowModuleIdField($request->get('selected_module'));
         $response = new Vtiger_Response();
         $response->setResult($html);
         $response->emit();
     } elseif ($request->get('file') == 'CheckForTemplates') {
         include "modules/OSSPdf/CheckForTemplates_function.php";
         $value = check();
         $response = new Vtiger_Response();
         $response->setResult($value);
         $response->emit();
     } elseif ($request->get('file') == 'PDFExport') {
         include "modules/OSSPdf/PDFExport.php";
     } else {
         if ($request->get('mode') == 'Popup') {
             $html = Popup($request);
             $response = new Vtiger_Response();
             $response->setResult($html);
             $response->emit();
         }
     }
 }
Example #10
0
 public function updateEvent(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $recordId = $request->get('id');
     $date_start = date('Y-m-d', strtotime($request->get('start')));
     $time_start = date('H:i:s', strtotime($request->get('start')));
     $succes = false;
     if (isPermitted($moduleName, 'EditView', $recordId) === 'no') {
         $succes = false;
     } else {
         if (!empty($recordId)) {
             try {
                 $delta = $request->get('delta');
                 $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName);
                 $recordData = $recordModel->entity->column_fields;
                 $end = self::changeDateTime($recordData['due_date'] . ' ' . $recordData['time_end'], $delta);
                 $due_date = $end['date'];
                 $time_end = $end['time'];
                 $recordModel->set('id', $recordId);
                 $recordModel->set('mode', 'edit');
                 $recordModel->set('date_start', $date_start);
                 $recordModel->set('time_start', $time_start);
                 $recordModel->set('due_date', $due_date);
                 $recordModel->set('time_end', $time_end);
                 $recordModel->save();
                 $succes = true;
             } catch (Exception $e) {
                 $succes = false;
             }
         }
     }
     $response = new Vtiger_Response();
     $response->setResult($succes);
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $current_user = Users_Record_Model::getCurrentUserModel();
     $RelatedBlock = new PDFMaker_RelatedBlock_Model();
     $sec_module = $request->get('secmodule');
     $pri_module = $request->get('primodule');
     $mode = $request->get('mode');
     $module_list = $RelatedBlock->getModuleList($sec_module);
     $content = "";
     if ($mode == "stdcriteria") {
         $options = $RelatedBlock->getStdCriteriaByModule($sec_module, $module_list, $current_user);
         if (count($options) > 0) {
             foreach ($options as $value => $label) {
                 $content .= "<option value='" . $value . "'>" . $label . "</option>";
             }
         }
     } else {
         foreach ($module_list as $blockid => $optgroup) {
             $options = $RelatedBlock->getColumnsListbyBlock($sec_module, $blockid, $pri_module, $current_user);
             if (count($options) > 0) {
                 $content .= "<optgroup label='" . $optgroup . "'>";
                 foreach ($options as $value => $label) {
                     $content .= "<option value='" . $value . "'>" . $label . "</option>";
                 }
                 $content .= "</optgroup>";
             }
         }
     }
     $response = new Vtiger_Response();
     $response->setResult($content);
     $response->emit();
 }
Example #12
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $step = $request->get('step');
     $moduleName = $request->get('module_name');
     if ($recordId) {
         $pdfModel = Vtiger_PDF_Model::getInstanceById($recordId, $moduleName);
     } else {
         $pdfModel = Settings_PDF_Record_Model::getCleanInstance($moduleName);
     }
     $stepFields = Settings_PDF_Module_Model::getFieldsByStep($step);
     foreach ($stepFields as $field) {
         $value = $request->get($field);
         if (is_array($value)) {
             $value = implode(',', $value);
         }
         if ($field === 'module_name' && $pdfModel->get('module_name') != $value) {
             // change of main module, overwrite existing conditions
             $pdfModel->deleteConditions();
         }
         $pdfModel->set($field, $value);
     }
     $pdfModel->set('conditions', $request->get('conditions'));
     Settings_PDF_Record_Model::transformAdvanceFilterToWorkFlowFilter($pdfModel);
     Settings_PDF_Record_Model::save($pdfModel, $step);
     $response = new Vtiger_Response();
     $response->setResult(['id' => $pdfModel->get('pdfid')]);
     $response->emit();
 }
Example #13
0
 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 {
         $package = new Vtiger_Package();
     }
     if (strtolower($importType) == 'language') {
         $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();
 }
Example #14
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $relatedLoad = $request->get('relatedLoad');
     $data = '';
     if ($relatedLoad) {
         $postData = $request->get('postData');
         $relatedModuleName = $request->get('relatedModuleName');
         $selected_ids = json_decode($postData['selected_ids'], true);
         $OSSMailModel = Vtiger_Record_Model::getCleanInstance('OSSMail');
         $data = $OSSMailModel->getEmailsFromModule($selected_ids, $relatedModuleName);
     } else {
         $selectedFields = $request->get('selectedFields');
         $selected_ids = $request->get('selected_ids');
         foreach ($selected_ids as $key => $value) {
             $recordModel = Vtiger_Record_Model::getInstanceById($value);
             if ($data == '') {
                 $data = $recordModel->get($selectedFields[$key]);
             } else {
                 $data .= ',' . $recordModel->get($selectedFields[$key]);
             }
         }
     }
     $result = array('success' => true, 'data' => $data);
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #15
0
 public function process(Vtiger_Request $request)
 {
     $recordModel = $this->saveRecord($request);
     $fieldModelList = $recordModel->getModule()->getFields();
     $result = array();
     foreach ($fieldModelList as $fieldName => $fieldModel) {
         $recordFieldValue = $recordModel->get($fieldName);
         if (is_array($recordFieldValue) && $fieldModel->getFieldDataType() == 'multipicklist') {
             $recordFieldValue = implode(' |##| ', $recordFieldValue);
         }
         if (is_array($recordFieldValue) && $fieldModel->getFieldDataType() == 'sharedOwner') {
             $recordFieldValue = implode(',', $recordFieldValue);
         }
         $fieldValue = $displayValue = Vtiger_Util_Helper::toSafeHTML($recordFieldValue);
         if ($fieldModel->getFieldDataType() !== 'currency' && $fieldModel->getFieldDataType() !== 'datetime' && $fieldModel->getFieldDataType() !== 'date') {
             $displayValue = $fieldModel->getDisplayValue($fieldValue, $recordModel->getId());
         }
         $result[$fieldName] = array('value' => $fieldValue, 'display_value' => $displayValue);
     }
     //Handling salutation type
     if ($request->get('field') === 'firstname' && in_array($request->getModule(), array('Contacts'))) {
         $salutationType = $recordModel->getDisplayValue('salutationtype');
         $firstNameDetails = $result['firstname'];
         $firstNameDetails['display_value'] = $salutationType . " " . $firstNameDetails['display_value'];
         if ($salutationType != '--None--') {
             $result['firstname'] = $firstNameDetails;
         }
     }
     $result['_recordLabel'] = $recordModel->getName();
     $result['_recordId'] = $recordModel->getId();
     $response = new Vtiger_Response();
     $response->setEmitType(Vtiger_Response::$EMIT_JSON);
     $response->setResult($result);
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $error_code = '';
     $error_message = '';
     $success = true;
     if (!$request->get('mod') && !$request->get('path')) {
         $error_code = 'error-param';
         $error_message = getTranslatedString("LBL_ERROR_PARAM", $moduleName);
         $success = false;
     }
     //Get module's structure from manifest file
     if ($request->get("mod")) {
         $o_module = $this->getStructureFromExistantModule($request->get("mod"));
     } elseif ($request->get("path")) {
         $o_module = $this->getStructureFromZipPackage($request->get("path"));
     }
     //Make JSON response
     $response = new Vtiger_Response();
     if (!$success) {
         $response->setError($error_code, $error_message);
     } else {
         $response->setResult(array('module' => $o_module, 'basedir' => $this->moduleBaseDir));
     }
     $response->emit();
 }
 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();
 }
Example #18
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $summary = $request->get('summary');
     $moduleName = $request->get('module_name');
     $conditions = $request->get('conditions');
     $filterSavedInNew = $request->get('filtersavedinnew');
     $executionCondition = $request->get('execution_condition');
     if ($recordId) {
         $workflowModel = Settings_Workflows_Record_Model::getInstance($recordId);
     } else {
         $workflowModel = Settings_Workflows_Record_Model::getCleanInstance($moduleName);
     }
     $response = new Vtiger_Response();
     $workflowModel->set('summary', $summary);
     $workflowModel->set('module_name', $moduleName);
     $workflowModel->set('conditions', $conditions);
     $workflowModel->set('execution_condition', $executionCondition);
     // Added to save the condition only when its changed from vtiger6
     if ($filterSavedInNew == '6') {
         //Added to change advanced filter condition to workflow
         $workflowModel->transformAdvanceFilterToWorkFlowFilter();
     }
     $workflowModel->set('filtersavedinnew', $filterSavedInNew);
     $workflowModel->save();
     $response->setResult(array('id' => $workflowModel->get('workflow_id')));
     $response->emit();
 }
Example #19
0
 public function process(Vtiger_Request $request)
 {
     $name_fields = array();
     $response = new Vtiger_Response();
     $response->setResult($cvIds);
     $response->emit();
 }
Example #20
0
 public function updateEvent(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $recordId = $request->get('id');
     $date_start = date('Y-m-d', strtotime($request->get('start')));
     $time_start = date('H:i:s', strtotime($request->get('start')));
     $due_date = date('Y-m-d', strtotime($request->get('end')));
     $time_end = date('H:i:s', strtotime($request->get('end')));
     $succes = false;
     if (!empty($recordId)) {
         try {
             $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName);
             $recordModel->set('id', $recordId);
             $recordModel->set('mode', 'edit');
             $recordModel->set('date_start', $date_start);
             $recordModel->set('time_start', $time_start);
             $recordModel->set('due_date', $due_date);
             $recordModel->set('time_end', $time_end);
             $recordModel->save();
             $succes = true;
         } catch (Exception $e) {
             $succes = false;
         }
     }
     $response = new Vtiger_Response();
     $response->setResult($succes);
     $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();
 }
Example #22
0
 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();
 }
Example #23
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $documentIdsList = $this->getRecordsListFromRequest($request);
     $folderId = $request->get('folderid');
     if (!empty($documentIdsList)) {
         foreach ($documentIdsList as $documentId) {
             $documentModel = Vtiger_Record_Model::getInstanceById($documentId, $moduleName);
             if (Users_Privileges_Model::isPermitted($moduleName, 'EditView', $documentId)) {
                 $documentModel->set('folderid', $folderId);
                 $documentModel->set('mode', 'edit');
                 $documentModel->save();
             } else {
                 $documentsMoveDenied[] = $documentModel->getName();
             }
         }
     }
     if (empty($documentsMoveDenied)) {
         $result = array('success' => true, 'message' => vtranslate('LBL_DOCUMENTS_MOVED_SUCCESSFULLY', $moduleName));
     } else {
         $result = array('success' => false, 'message' => vtranslate('LBL_DENIED_DOCUMENTS', $moduleName), 'LBL_RECORDS_LIST' => $documentsMoveDenied);
     }
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #24
0
 public function process(Vtiger_Request $request)
 {
     //Make temp directory if it does not exist
     $this->makeTempDirectory();
     //Get base directory name
     $dirname = $this->getDirectoryName($request);
     //Get module object
     $o_module = $this->getModule($request);
     //Make directories
     $this->makeDirectories($dirname, $o_module->name);
     //Get module directory
     $module_dir = $this->getModuleDirectory($dirname, $o_module);
     //Save JSON module structure
     $this->saveJsonStructure($dirname, $module_dir, $o_module);
     //Save XML Manifest
     $this->saveXmlManifest($dirname, $request->getModule(), $module_dir, $o_module);
     //Make module directory
     $this->makeModuleDirectory($dirname, $request->getModule(), $module_dir, $o_module);
     //Plugins handle
     $this->executePlugins($dirname, $module_dir, $request->getModule(), $o_module);
     //Create module zip package
     $zipfilename = $this->createZipPackage($dirname, $o_module);
     //Make JSON response
     $response = new Vtiger_Response();
     if (!empty($zipfilename)) {
         $response->setResult(array('zipFileName' => $zipfilename));
     }
     $response->emit();
 }
Example #25
0
 /**
  * Function that saves SMS records
  * @param Vtiger_Request $request
  */
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $currentUserModel = Users_Record_Model::getCurrentUserModel();
     $recordIds = $this->getRecordsListFromRequest($request);
     $phoneFieldList = $request->get('fields');
     $message = $request->get('message');
     foreach ($recordIds as $recordId) {
         $recordModel = Vtiger_Record_Model::getInstanceById($recordId);
         $numberSelected = false;
         foreach ($phoneFieldList as $fieldname) {
             $fieldValue = $recordModel->get($fieldname);
             if (!empty($fieldValue)) {
                 $toNumbers[] = $fieldValue;
                 $numberSelected = true;
             }
         }
         if ($numberSelected) {
             $recordIds[] = $recordId;
         }
     }
     $response = new Vtiger_Response();
     if (!empty($toNumbers)) {
         SMSNotifier_Record_Model::SendSMS($message, $toNumbers, $currentUserModel->getId(), $recordIds, $moduleName);
         $response->setResult(true);
     } else {
         $response->setResult(false);
     }
     return $response;
 }
Example #26
0
 /**
  * Process the request for displaying UI
  * @global String $moduleName
  * @param Vtiger_Request $request
  * @return MailManager_Response
  */
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $response = new Vtiger_Response();
     $viewer = $this->getViewer($request);
     if ($this->getOperationArg($request) == "_quicklinks") {
         $content = $viewer->view('MainuiQuickLinks.tpl', $moduleName, true);
         $response->setResult(array('ui' => $content));
         return $response;
     } else {
         if ($this->hasMailboxModel()) {
             $connector = $this->getConnector();
             if ($connector->hasError()) {
                 $viewer->assign('ERROR', $connector->lastError());
             } else {
                 $folders = $connector->folders();
                 $connector->updateFolders();
                 $viewer->assign('FOLDERS', $folders);
             }
             $this->closeConnector();
         }
         $viewer->assign('MODULE', $moduleName);
         $content = $viewer->view('Mainui.tpl', $moduleName, true);
         $response->setResult(array('mailbox' => $this->hasMailboxModel(), 'ui' => $content));
         return $response;
     }
 }
Example #27
0
 function NoteBookCreate(Vtiger_Request $request)
 {
     $adb = PearDatabase::getInstance();
     $userModel = Users_Record_Model::getCurrentUserModel();
     $linkId = $request->get('linkId');
     $noteBookName = $request->get('notePadName');
     $noteBookContent = $request->get('notePadContent');
     $blockid = $request->get('blockid');
     $isdefault = $request->get('isdefault');
     $width = $request->get('width');
     $height = $request->get('height');
     $date_var = date("Y-m-d H:i:s");
     $date = $adb->formatDate($date_var, true);
     $dataValue = array();
     $dataValue['contents'] = $noteBookContent;
     $dataValue['lastSavedOn'] = $date;
     $data = Zend_Json::encode((object) $dataValue);
     $size = Zend_Json::encode(array('width' => $width, 'height' => $height));
     $query = "INSERT INTO vtiger_module_dashboard(`linkid`, `blockid`, `filterid`, `title`, `data`, `isdefault`, `size`) VALUES(?,?,?,?,?,?,?)";
     $params = array($linkId, $blockid, 0, $noteBookName, $data, $isdefault, $size);
     $adb->pquery($query, $params);
     $id = $adb->getLastInsertID();
     $result = array();
     $result['success'] = TRUE;
     $result['widgetId'] = $id;
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #28
0
 public function process(Vtiger_Request $request)
 {
     $recordModel = Vtiger_Record_Model::getCleanInstance('OSSMailScanner');
     $response = new Vtiger_Response();
     $response->setResult($recordModel->executeCron(Users_Record_Model::getCurrentUserModel()->user_name));
     $response->emit();
 }
Example #29
0
 function addRelation($request)
 {
     $sourceModule = $request->getModule();
     $sourceRecordId = $request->get('src_record');
     $relatedModule = $request->get('related_module');
     if (is_numeric($relatedModule)) {
         $relatedModule = Vtiger_Functions::getModuleName($relatedModule);
     }
     $relatedRecordIdList = $request->get('related_record_list');
     $sourceModuleModel = Vtiger_Module_Model::getInstance($sourceModule);
     $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModule);
     $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel);
     foreach ($relatedRecordIdList as $relatedRecordId) {
         $relationModel->addRelation($sourceRecordId, $relatedRecordId, $listPrice);
         if ($relatedModule == 'PriceBooks') {
             $recordModel = Vtiger_Record_Model::getInstanceById($relatedRecordId);
             if ($sourceRecordId && ($sourceModule === 'Products' || $sourceModule === 'Services')) {
                 $parentRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecordId, $sourceModule);
                 $recordModel->updateListPrice($sourceRecordId, $parentRecordModel->get('unit_price'));
             }
         }
     }
     $response = new Vtiger_Response();
     $response->setResult(true);
     $response->emit();
 }
Example #30
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $buttonsReturn = false;
     $mode = $request->get('mode');
     $formodule = $request->get('formodule');
     $recordModel = Vtiger_Module_Model::getCleanInstance('OSSPdf');
     if ($mode == 'create_buttons') {
         $recordModel->add_links($formodule);
         $buttonsReturn = true;
     }
     if ($mode == 'delete_buttons') {
         $modCommentsModule = Vtiger_Module::getInstance($formodule);
         $modCommentsModule->deleteLink('LISTVIEWSIDEBARWIDGET', 'Pdf');
         $modCommentsModule->deleteLink('DETAILVIEWSIDEBARWIDGET', 'Pdf');
         $modCommentsModule->deleteLink('DETAILVIEWBASIC', 'LBL_QUICK_GENERATE_MAIL');
         // do ewentualnej poprawy
         $modCommentsModule->deleteLink('DETAILVIEWBASIC', 'Generate default PDF');
         $buttonsReturn = true;
     }
     if ($buttonsReturn === false) {
         $result = array('success' => false, 'message' => vtranslate('Error', $moduleName));
     } else {
         $result = array('success' => true, 'message' => 'Ok');
     }
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }