本文整理汇总了PHP中Vtiger_Cache::get方法的典型用法代码示例。如果您正苦于以下问题:PHP Vtiger_Cache::get方法的具体用法?PHP Vtiger_Cache::get怎么用?PHP Vtiger_Cache::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vtiger_Cache
的用法示例。
在下文中一共展示了Vtiger_Cache::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getConfig
public static function getConfig($type)
{
$log = vglobal('log');
$log->debug('Start ' . __CLASS__ . ':' . __FUNCTION__ . " | Type: {$type}");
$cache = Vtiger_Cache::get('MarketingProcesses', $type);
if ($cache) {
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $cache;
}
$db = PearDatabase::getInstance();
$result = $db->pquery('SELECT * FROM yetiforce_proc_marketing WHERE type = ?;', [$type]);
if ($db->num_rows($result) == 0) {
return [];
}
$config = [];
for ($i = 0; $i < $db->num_rows($result); ++$i) {
$param = $db->query_result_raw($result, $i, 'param');
$value = $db->query_result_raw($result, $i, 'value');
if (in_array($param, ['groups', 'status', 'convert_status'])) {
$config[$param] = $value == '' ? [] : explode(',', $value);
} else {
$config[$param] = $value;
}
}
Vtiger_Cache::set('MarketingProcesses', $type, $config);
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $config;
}
示例2: getNameFields
/**
* Function to retrieve name fields of a module
* @return <array> - array which contains fields which together construct name fields
*/
public function getNameFields()
{
$nameFieldObject = Vtiger_Cache::get('EntityField', $this->getName());
$moduleName = $this->getName();
if ($nameFieldObject && $nameFieldObject->fieldname) {
$this->nameFields = explode(',', $nameFieldObject->fieldname);
} else {
$adb = PearDatabase::getInstance();
$query = "SELECT fieldname, tablename, entityidfield FROM vtiger_entityname WHERE tabid = ?";
$result = $adb->pquery($query, array(getTabid('Calendar')));
$this->nameFields = array();
if ($result) {
$rowCount = $adb->num_rows($result);
if ($rowCount > 0) {
$fieldNames = $adb->query_result($result, 0, 'fieldname');
$this->nameFields = explode(',', $fieldNames);
}
}
$entiyObj = new stdClass();
$entiyObj->basetable = $adb->query_result($result, 0, 'tablename');
$entiyObj->basetableid = $adb->query_result($result, 0, 'entityidfield');
$entiyObj->fieldname = $fieldNames;
Vtiger_Cache::set('EntityField', $this->getName(), $entiyObj);
}
return $this->nameFields;
}
示例3: getDisplayValue
/**
* Function to get the Display Value, for the current field type with given DB Insert Value
* @param <Object> $value
* @return <Object>
*/
public function getDisplayValue($tree, $record = false, $recordInstance = false, $rawText = false)
{
$template = $this->get('field')->getFieldParams();
$name = Vtiger_Cache::get('TreeData' . $template, $tree);
if ($name) {
return $name;
}
$adb = PearDatabase::getInstance();
$result = $adb->pquery('SELECT * FROM vtiger_trees_templates_data WHERE templateid = ? AND tree = ?', [$template, $tree]);
$parentName = '';
$module = $this->get('field')->getModuleName();
$name = false;
if ($adb->num_rows($result)) {
if ($adb->query_result_raw($result, 0, 'depth') > 0) {
$parenttrre = $adb->query_result_raw($result, 0, 'parenttrre');
$cut = strlen('::' . $tree);
$parenttrre = substr($parenttrre, 0, -$cut);
$pieces = explode('::', $parenttrre);
$parent = end($pieces);
$result2 = $adb->pquery("SELECT name FROM vtiger_trees_templates_data WHERE templateid = ? AND tree = ?", [$template, $parent]);
$parentName = $adb->query_result_raw($result2, 0, 'name');
$parentName = '(' . vtranslate($parentName, $module) . ') ';
}
$name = $parentName . vtranslate($adb->query_result($result, 0, 'name'), $module);
}
Vtiger_Cache::set('TreeData' . $template, $tree, $name);
return $name;
}
示例4: getConfig
public static function getConfig($process, $type, $procesParam = false)
{
$log = vglobal('log');
$log->debug('Start ' . __CLASS__ . ':' . __FUNCTION__ . " | Process: {$process}, Type: {$type}");
$db = PearDatabase::getInstance();
$processList = ['marketing' => 'yetiforce_proc_marketing', 'sales' => 'yetiforce_proc_sales'];
$cache = Vtiger_Cache::get('ProcessesModel', $process . $type);
if ($cache) {
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $cache;
}
$result = $db->pquery('SELECT * FROM ' . $processList[$process] . ' WHERE type = ?;', [$type]);
if ($db->num_rows($result) == 0) {
return [];
}
$config = [];
for ($i = 0; $i < $db->num_rows($result); ++$i) {
$param = $db->query_result_raw($result, $i, 'param');
$value = $db->query_result_raw($result, $i, 'value');
if ($param == 'users') {
$config[$param] = $value == '' ? [] : explode(',', $value);
} else {
$config[$param] = $value;
}
if ($procesParam != false && $param == $procesParam) {
Vtiger_Cache::set('ProcessesModel', $process . $type . $procesParam, $value);
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $value;
}
}
Vtiger_Cache::set('ProcessesModel', $process . $type, $config);
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $config;
}
示例5: getInstance
/**
* Static Function to get the instance of Vtiger Module Model for the given id or name
* @param mixed id or name of the module
*/
public static function getInstance()
{
$instance = Vtiger_Cache::get('calendar', $value);
if (!$instance) {
$instance = new self();
}
return $instance;
}
示例6: getInstance
public static function getInstance($module)
{
$instance = Vtiger_Cache::get('transferOwnership', $module);
if (!$instance) {
$modelClassName = Vtiger_Loader::getComponentClassName('Model', 'TransferOwnership', $module);
$instance = new $modelClassName();
$instance->set('module', $module);
Vtiger_Cache::set('transferOwnership', $module, $instance);
}
return $instance;
}
示例7: getInstance
/**
* Get invnetory instance
* @param string $moduleName Module name
* @return Vtiger_Inventory_Model instance
*/
public static function getInstance($moduleName)
{
$instance = Vtiger_Cache::get('Inventory', $moduleName);
if (!$instance) {
$modelClassName = Vtiger_Loader::getComponentClassName('Model', 'Inventory', $moduleName);
$instance = new $modelClassName();
$instance->initialize($moduleName);
Vtiger_Cache::set('Inventory', $moduleName, $instance);
}
return $instance;
}
示例8: getLimits
/**
* Function to get all the available picklist values for the current field
* @return <Array> List of picklist values if the field is of type picklist or multipicklist, null otherwise.
*/
public function getLimits()
{
$limits = Vtiger_Cache::get('Inventory', 'limits');
if (!$limits) {
$db = PearDatabase::getInstance();
$limits = [];
$result = $db->pquery('SELECT * FROM a_yf_inventory_limits WHERE status = ?', [0]);
while ($row = $db->fetch_array($result)) {
$limits[$row['id']] = $row;
}
Vtiger_Cache::set('Inventory', 'limits', $limits);
}
return $limits;
}
示例9: getTaxes
/**
* Function to get all the available picklist values for the current field
* @return <Array> List of picklist values if the field is of type picklist or multipicklist, null otherwise.
*/
public function getTaxes()
{
$taxs = Vtiger_Cache::get('taxes', 'global');
if (!$taxs) {
$db = PearDatabase::getInstance();
$taxs = [];
$result = $db->pquery('SELECT * FROM a_yf_taxes_global WHERE status = ?', [0]);
while ($row = $db->fetch_array($result)) {
$taxs[$row['id']] = $row;
}
Vtiger_Cache::set('taxes', 'global', $taxs);
}
return $taxs;
}
示例10: getSharedOwners
/**
* Function to get the share users list
* @param int $record record ID
* @param bool $returnArray whether return data in an array
* @return array
*/
public static function getSharedOwners($record, $moduleName = false)
{
$shownerid = Vtiger_Cache::get('SharedOwner', $record);
if ($shownerid) {
return $shownerid;
}
$db = PearDatabase::getInstance();
$result = $db->pquery('SELECT DISTINCT userid FROM u_yf_crmentity_showners WHERE crmid = ?', [$record]);
$values = [];
while (($shownerid = $db->getSingleValue($result)) !== false) {
$values[] = $shownerid;
}
Vtiger_Cache::set('SharedOwner', $record, $values);
return $values;
}
示例11: getMultiReferenceValueFields
/**
* Loading the list of multireference fields
* @param string $sourceModule Source module name
* @param string $destinationModule Destination module name
* @return array
*/
public function getMultiReferenceValueFields($sourceModule, $destinationModule)
{
$return = Vtiger_Cache::get('mrvf-' . $sourceModule, $destinationModule);
if (!$return) {
$db = PearDatabase::getInstance();
$query = 'SELECT * FROM vtiger_field WHERE tabid = ? AND presence <> ? AND fieldparams LIKE \'{"module":"' . $destinationModule . '"%\';';
$result = $db->pquery($query, [Vtiger_Functions::getModuleId($sourceModule), 1]);
$return = [];
while ($field = $db->fetch_array($result)) {
$return[] = $field;
}
Vtiger_Cache::set('mrvf-' . $sourceModule, $destinationModule, $return);
}
return $return;
}
示例12: getInstanceById
/**
* Function to get the instance of the CompanyDetails model for a given organization id
* @param <Number> $id
* @return Vtiger_CompanyDetails_Model instance
*/
public static function getInstanceById($id = 1) {
$companyDetails = Vtiger_Cache::get('vtiger', 'organization');
if (!$companyDetails) {
$db = PearDatabase::getInstance();
$sql = 'SELECT * FROM vtiger_organizationdetails WHERE organization_id=?';
$params = array($id);
$result = $db->pquery($sql, $params);
$companyDetails = new self();
if ($result && $db->num_rows($result) > 0) {
$resultRow = $db->query_result_rowdata($result, 0);
$companyDetails->setData($resultRow);
}
Vtiger_Cache::set('vtiger','organization',$companyDetails);
}
return $companyDetails;
}
示例13: getRelatedModules
/**
* Loading the list of multireference fields
* @param string $sourceModule Source module name
* @param string $destinationModule Destination module name
* @return array
*/
public static function getRelatedModules($moduleName)
{
$return = Vtiger_Cache::get('mrvf', $moduleName);
if (!$return) {
$db = PearDatabase::getInstance();
$moduleId = Vtiger_Functions::getModuleId($moduleName);
$query = 'SELECT DISTINCT vtiger_tab.name FROM vtiger_field INNER JOIN vtiger_relatedlists ON vtiger_relatedlists.related_tabid = vtiger_field.tabid' . ' LEFT JOIN vtiger_tab ON vtiger_tab.tabid = vtiger_field.tabid' . ' WHERE vtiger_relatedlists.tabid = ? AND vtiger_field.presence <> ? AND vtiger_field.uitype = ? AND fieldparams LIKE \'{"module":"' . $moduleName . '"%\';';
$result = $db->pquery($query, [$moduleId, 1, 305]);
$return = [];
while ($module = $db->getSingleValue($result)) {
$return[] = $module;
}
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$fieldsModel = $moduleModel->getFields();
$relatedModules = [];
foreach ($fieldsModel as $fieldName => $fieldModel) {
if ($fieldModel->getFieldDataType() == Vtiger_Field_Model::REFERENCE_TYPE) {
$referenceList = $fieldModel->getReferenceList();
$relatedModules = array_merge($relatedModules, $referenceList);
}
}
$relatedModules = array_unique($relatedModules);
foreach ($relatedModules as $key => $relatedModule) {
if ($relatedModule != 'Users') {
$relatedModules[$key] = Vtiger_Functions::getModuleId($relatedModule);
} else {
unset($relatedModules[$key]);
}
}
if (count($relatedModules) > 0) {
$query = 'SELECT DISTINCT vtiger_tab.name FROM vtiger_field LEFT JOIN vtiger_tab ON vtiger_tab.tabid = vtiger_field.tabid' . ' WHERE vtiger_field.uitype = ? AND vtiger_field.tabid IN (\'' . implode("','", $relatedModules) . '\') AND vtiger_field.presence <> ? ' . 'AND fieldparams LIKE \'{"module":"' . $moduleName . '"%\' ;';
$result = $db->pquery($query, [1, 305]);
while ($module = $db->getSingleValue($result)) {
$return[] = $module;
}
}
$return = array_unique($return);
Vtiger_Cache::set('mrvf-', $moduleName, $return);
}
return $return;
}
示例14: getConfig
public static function getConfig($type = false)
{
$log = vglobal('log');
$log->debug('Start ' . __CLASS__ . ':' . __FUNCTION__ . " | Type: {$type}");
$cache = Vtiger_Cache::get('SalesProcesses', $type == false ? 'all' : $type);
if ($cache) {
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $cache;
}
$db = PearDatabase::getInstance();
$params = [];
$returnArrayForFields = ['groups', 'status', 'calculationsstatus', 'salesstage', 'salesstage', 'assetstatus'];
$sql = 'SELECT * FROM yetiforce_proc_sales';
if ($type) {
$sql .= ' WHERE type = ?';
$params[] = $type;
}
$result = $db->pquery($sql, $params);
if ($db->num_rows($result) == 0) {
return [];
}
$config = [];
for ($i = 0; $i < $db->num_rows($result); ++$i) {
$param = $db->query_result_raw($result, $i, 'param');
$value = $db->query_result_raw($result, $i, 'value');
if (in_array($param, $returnArrayForFields)) {
$value = $value == '' ? [] : explode(',', $value);
}
if ($type) {
$config[$param] = $value;
} else {
$config[$db->query_result_raw($result, $i, 'type')][$param] = $value;
}
}
Vtiger_Cache::set('SalesProcesses', $type == false ? 'all' : $type, $config);
$log->debug('End ' . __CLASS__ . ':' . __FUNCTION__);
return $config;
}
示例15: getAllForModule
/**
* Function to retrieve block instances for a module
* @param <type> $moduleModel - module instance
* @return <array> - list of Vtiger_Block_Model
*/
public static function getAllForModule($moduleModel)
{
$blockObjects = Vtiger_Cache::get('ModuleBlock', $moduleModel->getName());
if (!$blockObjects) {
$blockObjects = parent::getAllForModule($moduleModel);
Vtiger_Cache::set('ModuleBlock', $moduleModel->getName(), $blockObjects);
}
$blockModelList = array();
if ($blockObjects) {
foreach ($blockObjects as $blockObject) {
$blockModelList[] = self::getInstanceFromBlockObject($blockObject);
}
}
return $blockModelList;
}