예제 #1
0
 /**
  * Delete all menus associated with module
  * @param Vtiger_Module Instnace of module to use
  */
 static function deleteForModule($moduleInstance)
 {
     $db = PearDatabase::getInstance();
     $result = $db->pquery('SELECT id FROM  yetiforce_menu WHERE module=?', [$moduleInstance->id]);
     $db->delete('yetiforce_menu', 'module = ?', [$moduleInstance->id]);
     $numRows = $db->getRowCount($result);
     if ($numRows) {
         $menuRecordModel = new Settings_Menu_Record_Model();
         $menuRecordModel->refreshMenuFiles();
     }
 }
예제 #2
0
 /**
  * A function to generating menu files after deleting the module
  */
 static function generateMenuAfterModuleDelete()
 {
     self::log(__CLASS__ . '::' . __METHOD__ . ' | Start');
     $menuRecordModel = new Settings_Menu_Record_Model();
     $allRoles = Settings_Roles_Record_Model::getAll();
     $menuRecordModel->generateFileMenu(0);
     foreach ($allRoles as $role) {
         $roleId = str_replace('H', '', $role->getId());
         if (file_exists('user_privileges/menu_' . $roleId . '.php')) {
             $menuRecordModel->generateFileMenu($roleId);
         }
     }
     self::log(__CLASS__ . '::' . __METHOD__ . ' | End');
 }
예제 #3
0
 public function updateSequence(Vtiger_Request $request)
 {
     $data = $request->get('mdata');
     $recordModel = Settings_Menu_Record_Model::getCleanInstance();
     $recordModel->saveSequence($data, true);
     $response = new Vtiger_Response();
     $response->setResult(array('success' => true, 'message' => vtranslate('LBL_SAVED_MAP_MENU', $request->getModule(false))));
     $response->emit();
 }
예제 #4
0
 public function step2(Vtiger_Request $request)
 {
     $qualifiedModuleName = $request->getModule(false);
     $type = $request->get('mtype');
     $viewer = $this->getViewer($request);
     $viewer->assign('MODULE_MODEL', Settings_Menu_Module_Model::getInstance());
     $viewer->assign('RECORD', Settings_Menu_Record_Model::getCleanInstance());
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('TYPE', $type);
     $viewer->view('CreateMenuStep2.tpl', $qualifiedModuleName);
 }
예제 #5
0
 public function process(Vtiger_Request $request)
 {
     $qualifiedModuleName = $request->getModule(false);
     $id = $request->get('id');
     $viewer = $this->getViewer($request);
     $viewer->assign('MODULE_MODEL', Settings_Menu_Module_Model::getInstance());
     $viewer->assign('RECORD', Settings_Menu_Record_Model::getInstanceById($id));
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('ID', $id);
     $viewer->view('EditMenu.tpl', $qualifiedModuleName);
 }
예제 #6
0
 public function process(Vtiger_Request $request)
 {
     $qualifiedModuleName = $request->getModule(false);
     $roleId = $request->get('roleid');
     if (empty($roleId)) {
         $roleId = 0;
     }
     $settingsModel = Settings_Menu_Record_Model::getCleanInstance();
     $viewer = $this->getViewer($request);
     $viewer->assign('MODULE_MODEL', $settingsModel);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('ROLEID', $roleId);
     $viewer->assign('DATA', $settingsModel->getAll(filter_var($roleId, FILTER_SANITIZE_NUMBER_INT)));
     $viewer->assign('LASTID', Settings_Menu_Module_Model::getLastId());
     $viewer->view('Index.tpl', $qualifiedModuleName);
 }
예제 #7
0
	public function removeMenu($id)
	{
		$db = PearDatabase::getInstance();
		$recordModel = Settings_Menu_Record_Model::getInstanceById($id);
		$result = $db->pquery('SELECT id FROM yetiforce_menu WHERE parentid = ?;', [$id]);
		for ($i = 0; $i < $db->num_rows($result); ++$i) {
			$this->removeMenu($db->query_result_raw($result, $i, 'id'));
		}
		$db->pquery('DELETE FROM yetiforce_menu WHERE id = ?;', [$id]);
		$this->generateFileMenu($recordModel->get('role'));
	}