/** * Static Function to get the instance of Vtiger Module Model for all the modules * @return <Array> - List of Vtiger Module Model or sub class instances */ public static function getAll($editable = false) { $db = PearDatabase::getInstance(); $moduleModels = array(); $query = 'SELECT * FROM vtiger_def_org_share INNER JOIN vtiger_tab ON vtiger_tab.tabid = vtiger_def_org_share.tabid WHERE vtiger_tab.presence IN (0,2)'; $params = array(); if ($editable) { $query .= ' AND editstatus = ?'; array_push($params, self::EDITABLE); } $result = $db->pquery($query, $params); $noOfModules = $db->num_rows($result); for ($i = 0; $i < $noOfModules; ++$i) { $row = $db->query_result_rowdata($result, $i); $instance = new Settings_SharingAccess_Module_Model(); $instance->initialize($row); $instance->set('permission', $row['permission']); $instance->set('editstatus', $row['editstatus']); $moduleModels[$row['tabid']] = $instance; } return $moduleModels; }