コード例 #1
0
ファイル: Field.php プロジェクト: Bergdahls/YetiForceCRM
 public function add(Vtiger_Request $request)
 {
     $type = $request->get('fieldType');
     $moduleName = $request->get('sourceModule');
     $blockId = $request->get('blockid');
     $moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($moduleName);
     $response = new Vtiger_Response();
     try {
         $fieldModel = $moduleModel->addField($type, $blockId, $request->getAll());
         $fieldInfo = $fieldModel->getFieldInfo();
         $responseData = array_merge(array('id' => $fieldModel->getId(), 'blockid' => $blockId, 'customField' => $fieldModel->isCustomField()), $fieldInfo);
         $response->setResult($responseData);
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
コード例 #2
0
ファイル: Edit.php プロジェクト: cin-system/cinrepo
 public function showBlocksAndFields(Vtiger_Request $request)
 {
     $sourceModuleId = $request->get('moduleId');
     $language = $request->get('lang');
     $currentModule = $request->get('module');
     $parent = $request->get('parent');
     $settings_block = $request->get('block');
     $settings_fieldid = $request->get('fieldid');
     $adb = PearDatabase::getInstance();
     $sourceModule = getTabModuleName($sourceModuleId);
     $moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($sourceModule);
     $fieldModels = $moduleModel->getFields();
     $blockModels = $moduleModel->getBlocks();
     $blockIdFieldMap = array();
     $inactiveFields = array();
     foreach ($fieldModels as $fieldModel) {
         $blockIdFieldMap[$fieldModel->getBlockId()][$fieldModel->getName()] = $fieldModel;
         if (!$fieldModel->isActiveField()) {
             $inactiveFields[$fieldModel->getBlockId()][$fieldModel->getId()] = vtranslate($fieldModel->get('label'), $sourceModule);
         }
     }
     foreach ($blockModels as $blockLabel => $blockModel) {
         $fieldModelList = $blockIdFieldMap[$blockModel->get('id')];
         $blockModel->setFields($fieldModelList);
     }
     $query = "SELECT * from its4you_labels where tabid = ? and lang =?";
     $result = $adb->pquery($query, array($sourceModuleId, $language));
     while ($row = $adb->fetchByAssoc($result)) {
         $Fields_Labels[$row['fieldid']] = $row['translate_label'];
     }
     $qualifiedModule = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('SELECTED_MODULE_NAME', $sourceModule);
     $viewer->assign('SELECTED_MODULE_MODEL', $moduleModel);
     $viewer->assign('BLOCKS', $blockModels);
     $viewer->assign('ADD_SUPPORTED_FIELD_TYPES', $moduleModel->getAddSupportedFieldTypes());
     $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModule);
     $viewer->assign('LANGUAGE', $language);
     $viewer->assign('CURRENT_MODULE', $currentModule);
     $viewer->assign('PARENT', $parent);
     $viewer->assign('FIELDS_LABELS', $Fields_Labels);
     $viewer->assign('SETTINGS_FIELDID', $settings_fieldid);
     $viewer->assign('SETTINGS_BLOCK', $settings_block);
     echo $viewer->view('EditView.tpl', $qualifiedModule, true);
 }
コード例 #3
0
ファイル: Index.php プロジェクト: cannking/vtigercrm-debug
 public function showRelatedListLayout(Vtiger_Request $request)
 {
     $sourceModule = $request->get('sourceModule');
     $supportedModulesList = Settings_LayoutEditor_Module_Model::getSupportedModules();
     if (empty($sourceModule)) {
         //To get the first element
         $moduleInstance = reset($supportedModulesList);
         $sourceModule = $moduleInstance->getName();
     }
     $moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($sourceModule);
     $relatedModuleModels = $moduleModel->getRelations();
     $qualifiedModule = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('SELECTED_MODULE_NAME', $sourceModule);
     $viewer->assign('RELATED_MODULES', $relatedModuleModels);
     $viewer->assign('MODULE_MODEL', $moduleModel);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModule);
     $viewer->view('RelatedList.tpl', $qualifiedModule);
 }
コード例 #4
0
ファイル: Module.php プロジェクト: noclav/UpdatePackages
 public static function getSupportedModules()
 {
     if (empty(self::$supportedModules)) {
         self::$supportedModules = self::getEntityModulesList();
     }
     return self::$supportedModules;
 }
コード例 #5
0
ファイル: Save.php プロジェクト: cin-system/vtigercrm-cin
 function process(Vtiger_Request $request)
 {
     error_reporting(false);
     $language = $request->get('Language');
     $module = $request->get('Module');
     require_once 'modules/ITS4YouLabels/resources/MyFunctions.php';
     require_once 'languages/' . $language . "/" . $module . ".php";
     $filename_module = "languages/" . $language . "/" . $module . ".php";
     $filename_vtiger = "languages/" . $language . "/Vtiger.php";
     $module_id = Vtiger_Functions::getModuleId($module);
     $adb = PearDatabase::getInstance();
     $query1 = "select * from its4you_labels where tabid= ? and lang= ?";
     $result = $adb->pquery($query1, array($module_id, $language));
     while ($row = $adb->fetchByAssoc($result)) {
         $array_from_its4you_labels_table[$row['id']] = $row;
     }
     $Post_Data = $request->getAll();
     foreach ($Post_Data as $key => $value) {
         $rest = trim(substr($key, 0, 5));
         if ($rest === "field") {
             $substring = explode("_", $key);
             $field_id = $substring[1];
             $query = "select fieldlabel from vtiger_field where fieldid = ?";
             $result = $adb->pquery($query, array($field_id));
             while ($row = $adb->fetchByAssoc($result)) {
                 $fieldlabel = $row['fieldlabel'];
             }
             $translated_label = vtranslate($fieldlabel, $module, $language);
         } else {
             if ($key == "Language" || $key == "Module" || $key == "settings_block" || $key == "settings_fieldid") {
                 break;
             }
         }
         $fieldlabel_from_post = $value;
         if ($fieldlabel_from_post != $translated_label) {
             if (!empty($array_from_its4you_labels_table)) {
                 foreach ($array_from_its4you_labels_table as $array_key => $array_value) {
                     $fieldid_from_its4you_labels = $array_from_its4you_labels_table[$array_key]['fieldid'];
                     $sql = "select count(id) from its4you_labels where tabid=? and fieldid=? and lang=?";
                     $result = $adb->pquery($sql, array($module_id, $field_id, $language));
                     while ($row = $adb->fetchByAssoc($result)) {
                         $count = $row['count(id)'];
                     }
                     if ($count > 0) {
                         if ($field_id == $fieldid_from_its4you_labels) {
                             $sql = "update its4you_labels set translate_label=? where id=? and lang=?";
                             $adb->pquery($sql, array($fieldlabel_from_post, $array_key, $language));
                             unset($array_from_its4you_labels_table[$array_key]);
                             break;
                         }
                     }
                     if ($count < 1) {
                         $is_in_vtiger = ITS4YouLabels_MyFunctions_Resources::its4You_is_in_vtiger_php($language, $fieldlabel, $module);
                         $query = "insert into its4you_labels values (?, ?, ?, ?,?, ?)";
                         $adb->pquery($query, array(NULL, $module_id, $field_id, $language, $fieldlabel_from_post, $is_in_vtiger));
                     }
                 }
             } else {
                 $is_in_vtiger = ITS4YouLabels_MyFunctions_Resources::its4You_is_in_vtiger_php($language, $fieldlabel, $module);
                 $query = "insert into its4you_labels values (?, ?, ?, ?, ?, ?)";
                 $adb->pquery($query, array(NULL, $module_id, $field_id, $language, $fieldlabel_from_post, $is_in_vtiger));
             }
         }
     }
     $filename_module = "languages/" . $language . "/" . $module . ".php";
     $filename_vtiger = "languages/" . $language . "/Vtiger.php";
     $filename_help = "languages/" . $language . "/my_help.php";
     $filename_new_module = "languages/" . $language . "/new_module.php";
     $help = fopen($filename_help, "a");
     $new_module = fopen($filename_new_module, "a");
     ftruncate($help, 0);
     ftruncate($new_module, 0);
     $moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($module);
     $Fields = $moduleModel->getFields();
     foreach ($Post_Data as $key => $value) {
         $rest = trim(substr($key, 0, 5));
         if ($rest === "field") {
             $substring = explode("_", $key);
             $field_id = $substring[1];
             foreach ($Fields as $field) {
                 $id = $field->get('id');
                 if ($field_id == $id) {
                     $fieldlabel = $field->get('label');
                 }
             }
             $translate_label = vtranslate($fieldlabel, $module, $language);
             $fieldlabel_from_post = $value;
             if ($translate_label == $fieldlabel_from_post) {
             } else {
                 $new_array_for_module[trim($fieldlabel)] = trim($fieldlabel_from_post);
             }
         } else {
             if ($key == "Language" || $key == "Module" || $key == "settings_block" || $key == "settings_fieldid") {
             }
         }
     }
     foreach ($new_array_for_module as $key => $value) {
         foreach ($languageStrings as $keyword => $translateString) {
             if (trim($keyword) === trim($key)) {
                 $languageStrings[trim($keyword)] = trim($value);
                 unset($new_array_for_module[$key]);
             }
         }
     }
     $file = fopen($filename_module, "r");
     while (!feof($file)) {
         $contents = fgets($file);
         if (strpos($contents, 'languageStrings')) {
             break;
         }
         fwrite($help, $contents);
     }
     $Comments = file($filename_help);
     foreach ($Comments as $comment) {
         fwrite($new_module, $comment);
     }
     fwrite($new_module, '$languageStrings = array(' . PHP_EOL);
     foreach ($languageStrings as $keyword => $translateString) {
         $line = '"' . trim($keyword) . '"' . ' => ' . '"' . trim($translateString) . '",' . PHP_EOL;
         fwrite($new_module, $line);
     }
     if (!empty($new_array_for_module)) {
         foreach ($new_array_for_module as $key => $value) {
             $line = '"' . trim($key) . '"' . ' => ' . '"' . trim($value) . '",' . PHP_EOL;
             fwrite($new_module, $line);
         }
     }
     fwrite($new_module, ");");
     fwrite($new_module, PHP_EOL . PHP_EOL . '$jsLanguageStrings = array(' . PHP_EOL);
     foreach ($jsLanguageStrings as $key => $value) {
         $string = '"' . $key . '"' . ' => ' . '"' . $value . '",' . PHP_EOL;
         fwrite($new_module, $string);
     }
     fwrite($new_module, ");");
     unlink($filename_module);
     rename($filename_new_module, $filename_module);
     $result = array('success' => true, 'message' => 'Data has been successfully saved. If you refresh the page you will see changes.');
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
コード例 #6
0
ファイル: Index.php プロジェクト: Wasage/werpa
	public function showRelatedListLayout(Vtiger_Request $request) {
		$sourceModule = $request->get('sourceModule');
		$supportedModulesList = Settings_LayoutEditor_Module_Model::getSupportedModules();

		if(empty($sourceModule)) {
			//To get the first element
			$moduleInstance = reset($supportedModulesList);
			$sourceModule = $moduleInstance->getName();
		}
		$moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($sourceModule);
		$relatedModuleModels = $moduleModel->getRelations();

		$qualifiedModule = $request->getModule(false);
		$viewer = $this->getViewer($request);
		
		$alowedToAddModulesList = $supportedModulesList;
		/*
		// очищаем список от модулей которые уже есть в RELATED_MODULES
		foreach ($relatedModuleModels as $model) {
			$moduleIndex = array_search($model->getRelationModuleName(), $alowedToAddModulesList);
			if ($moduleIndex) unset($alowedToAddModulesList[$moduleIndex]);			
		}
		*/

		$viewer->assign('SELECTED_MODULE_NAME', $sourceModule);
		$viewer->assign('RELATED_MODULES',$relatedModuleModels);
		$viewer->assign('ALOWED_MODULES',$alowedToAddModulesList);
		$viewer->assign('MODULE_MODEL', $moduleModel);
		$viewer->assign('QUALIFIED_MODULE', $qualifiedModule);
		$viewer->view('RelatedList.tpl',$qualifiedModule);
	}