• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Vtiger_Utils类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Vtiger_Utils的典型用法代码示例。如果您正苦于以下问题:PHP Vtiger_Utils类的具体用法?PHP Vtiger_Utils怎么用?PHP Vtiger_Utils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Vtiger_Utils类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: __initExport

 /**
  * Initialize Export
  * @access private
  */
 function __initExport($layoutName)
 {
     // Security check to ensure file is withing the web folder.
     Vtiger_Utils::checkFileAccessForInclusion("layouts/{$layoutName}/skins/vtiger/style.less");
     $this->_export_modulexml_file = fopen($this->__getManifestFilePath(), 'w');
     $this->__write("<?xml version='1.0'?>\n");
 }
开发者ID:awflu,项目名称:YetiForceCRM,代码行数:11,代码来源:LayoutExport.php


示例2: undo

    function undo($moduleName, $userId)
    {
        $adb = PearDatabase::getInstance();
        if (Vtiger_Utils::CheckTable($this->tableName)) {
            $result = $adb->pquery('UPDATE vtiger_crmentity SET deleted=1 WHERE crmid IN
								(SELECT crmid FROM ' . $this->tableName . ' WHERE userid = ? AND entitytype = ?)', array($userId, $moduleName));
            return $adb->getAffectedRowCount($result);
        }
    }
开发者ID:yozhi,项目名称:YetiForceCRM,代码行数:9,代码来源:iCalLastImport.php


示例3: delete

 public function delete()
 {
     $adb = PearDatabase::getInstance();
     parent::delete();
     $fld_module = $this->getModuleName();
     $id = $this->getId();
     $uitype = $this->get('uitype');
     $typeofdata = $this->get('typeofdata');
     $fieldname = $this->getName();
     $oldfieldlabel = $this->get('label');
     $tablename = $this->get('table');
     $columnname = $this->get('column');
     $fieldtype = explode("~", $typeofdata);
     $tabId = $this->getModuleId();
     $focus = CRMEntity::getInstance($fld_module);
     $deletecolumnname = $tablename . ":" . $columnname . ":" . $fieldname . ":" . $fld_module . "_" . str_replace(" ", "_", $oldfieldlabel) . ":" . $fieldtype[0];
     $column_cvstdfilter = $tablename . ":" . $columnname . ":" . $fieldname . ":" . $fld_module . "_" . str_replace(" ", "_", $oldfieldlabel);
     $select_columnname = $tablename . ":" . $columnname . ":" . $fld_module . "_" . str_replace(" ", "_", $oldfieldlabel) . ":" . $fieldname . ":" . $fieldtype[0];
     $reportsummary_column = $tablename . ":" . $columnname . ":" . str_replace(" ", "_", $oldfieldlabel);
     if ($tablename != 'vtiger_crmentity') {
         $dbquery = 'alter table ' . $adb->quote($tablename, false) . ' drop column ' . $adb->quote($columnname, false);
         $adb->pquery($dbquery, array());
     }
     //we have to remove the entries in customview and report related tables which have this field ($colName)
     $adb->pquery('delete from vtiger_cvcolumnlist where columnname = ? ', array($deletecolumnname));
     $adb->pquery('delete from vtiger_cvstdfilter where columnname = ?', array($column_cvstdfilter));
     $adb->pquery('delete from vtiger_cvadvfilter where columnname = ?', array($deletecolumnname));
     $adb->pquery('delete from vtiger_selectcolumn where columnname = ?', array($select_columnname));
     $adb->pquery('delete from vtiger_relcriteria where columnname = ?', array($select_columnname));
     $adb->pquery('delete from vtiger_reportsortcol where columnname = ?', array($select_columnname));
     $adb->pquery('delete from vtiger_reportdatefilter where datecolumnname = ?', array($column_cvstdfilter));
     $adb->pquery('delete from vtiger_reportsummary where columnname like ?', array('%' . $reportsummary_column . '%'));
     //Deleting from convert lead mapping vtiger_table- Jaguar
     if ($fld_module == 'Leads') {
         $deletequery = 'delete from vtiger_convertleadmapping where leadfid=?';
         $adb->pquery($deletequery, array($id));
     } elseif ($fld_module == 'Accounts' || $fld_module == 'Contacts') {
         $map_del_id = array('Accounts' => 'accountfid', 'Contacts' => 'contactfid');
         $map_del_q = 'update vtiger_convertleadmapping set ' . $map_del_id[$fld_module] . '=0 where ' . $map_del_id[$fld_module] . '=?';
         $adb->pquery($map_del_q, array($id));
     }
     //HANDLE HERE - we have to remove the table for other picklist type values which are text area and multiselect combo box
     if ($this->getFieldDataType() == 'picklist' || $this->getFieldDataType() == 'multipicklist') {
         $result = $adb->pquery('SELECT * FROM `vtiger_field` WHERE `columnname` = ? AND `uitype` IN (?,?,?);', [$columnname, 15, 16, 33]);
         if (!$adb->num_rows($result)) {
             $adb->query('drop table vtiger_' . $columnname);
             //To Delete Sequence Table
             if (Vtiger_Utils::CheckTable('vtiger_' . $columnname . '_seq')) {
                 $adb->query('drop table vtiger_' . $columnname . '_seq');
             }
             $adb->pquery('delete from vtiger_picklist where name=? ', array($columnname));
         }
         $adb->pquery('delete from vtiger_picklist_dependency where `tabid` = ? AND (sourcefield=? or targetfield=?)', array($tabId, $columnname, $columnname));
     }
 }
开发者ID:nikdejan,项目名称:YetiForceCRM,代码行数:55,代码来源:Field.php


示例4: register

 /**
  * Handle event registration for module
  * @param Vtiger_Module Instance of the module to use
  * @param String Name of the Event like vtiger.entity.aftersave, vtiger.entity.beforesave
  * @param String Name of the Handler class (should extend VTEventHandler)
  * @param String File path which has Handler class definition
  * @param String Condition for the event to trigger (default blank)
  */
 static function register($moduleInstance, $eventname, $classname, $filename, $condition = '', $dependent = '[]')
 {
     // Security check on fileaccess, don't die if it fails
     if (Vtiger_Utils::checkFileAccess($filename, false)) {
         $adb = PearDatabase::getInstance();
         $eventsManager = new VTEventsManager($adb);
         $eventsManager->registerHandler($eventname, $filename, $classname, $condition, $dependent);
         $eventsManager->setModuleForHandler($moduleInstance->name, $classname);
         self::log("Registering Event {$eventname} with [{$filename}] {$classname} ... DONE");
     }
 }
开发者ID:yozhi,项目名称:YetiForceCRM,代码行数:19,代码来源:Event.php


示例5: getImportInfoById

 public static function getImportInfoById($importId)
 {
     $db = PearDatabase::getInstance();
     if (Vtiger_Utils::CheckTable('vtiger_import_queue')) {
         $queueResult = $db->pquery('SELECT * FROM vtiger_import_queue WHERE importid=?', array($importId));
         if ($queueResult && $db->num_rows($queueResult) > 0) {
             $rowData = $db->raw_query_result_rowdata($queueResult, 0);
             return self::getImportInfoFromResult($rowData);
         }
     }
     return null;
 }
开发者ID:cannking,项目名称:vtigercrm-debug,代码行数:12,代码来源:Queue.php


示例6: isLockedForModule

 public static function isLockedForModule($module)
 {
     $adb = PearDatabase::getInstance();
     if (Vtiger_Utils::CheckTable('vtiger_import_locks')) {
         $lockResult = $adb->pquery('SELECT * FROM vtiger_import_locks WHERE tabid=?', array(getTabid($module)));
         if ($lockResult && $adb->num_rows($lockResult) > 0) {
             $lockInfo = $adb->query_result_rowdata($lockResult, 0);
             return $lockInfo;
         }
     }
     return null;
 }
开发者ID:casati-dolibarr,项目名称:corebos,代码行数:12,代码来源:Import_Lock_Controller.php


示例7: getInstance

 public static function getInstance($value)
 {
     $db = PearDatabase::getInstance();
     if (Vtiger_Utils::isNumber($value)) {
         $sql = 'SELECT * FROM vtiger_org_share_action_mapping WHERE share_action_id = ?';
     } else {
         $sql = 'SELECT * FROM vtiger_org_share_action_mapping WHERE share_action_name = ?';
     }
     $params = array($value);
     $result = $db->pquery($sql, $params);
     if ($db->num_rows($result) > 0) {
         return self::getInstanceFromQResult($result);
     }
     return null;
 }
开发者ID:cannking,项目名称:vtigercrm-debug,代码行数:15,代码来源:Action.php


示例8: getInstance

 public static function getInstance($id)
 {
     $db = PearDatabase::getInstance();
     if (Vtiger_Utils::isNumber($id)) {
         $query = 'SELECT * FROM ' . Settings_Currency_Module_Model::tableName . ' WHERE id=?';
     } else {
         $query = 'SELECT * FROM ' . Settings_Currency_Module_Model::tableName . ' WHERE currency_name=?';
     }
     $params = array($id);
     $result = $db->pquery($query, $params);
     if ($db->num_rows($result) > 0) {
         $instance = new self();
         $row = $db->query_result_rowdata($result, 0);
         $instance->setData($row);
     }
     return $instance;
 }
开发者ID:JeRRimix,项目名称:YetiForceCRM,代码行数:17,代码来源:Record.php


示例9: registerCustomWebservices

 function registerCustomWebservices($operations)
 {
     global $adb;
     foreach ($operations as $operation_name => $operation_info) {
         $checkres = $adb->pquery("SELECT operationid FROM vtiger_ws_operation WHERE name=?", array($operation_name));
         if ($checkres && $adb->num_rows($checkres) < 1) {
             $operation_id = $adb->getUniqueId('vtiger_ws_operation');
             $operation_res = $adb->pquery("INSERT INTO vtiger_ws_operation (operationid, name, handler_path, handler_method, type, prelogin) \n\t\t\t\t\tVALUES (?,?,?,?,?,?)", array($operation_id, $operation_name, $operation_info['file'], $operation_info['handler'], $operation_info['reqtype'], $operation_info['prelogin']));
             $operation_parameters = $operation_info['parameters'];
             $parameter_index = 0;
             foreach ($operation_parameters as $parameter_name => $parameter_type) {
                 $adb->pquery("INSERT INTO vtiger_ws_operation_parameters (operationid, name, type, sequence) \n\t\t\t\t\t\tVALUES(?,?,?,?)", array($operation_id, $parameter_name, $parameter_type, $parameter_index + 1));
                 ++$parameter_index;
             }
             Vtiger_Utils::Log("Opearation {$operation_name} enabled successfully.");
         } else {
             Vtiger_Utils::Log("Operation {$operation_name} already exists.");
         }
     }
 }
开发者ID:hbsman,项目名称:vtigercrm-5.3.0-ja,代码行数:20,代码来源:WSAPP.php


示例10: __initSchema

 /**
  * Initialize Layout Schema
  * @access private
  */
 static function __initSchema()
 {
     $hastable = Vtiger_Utils::CheckTable(self::TABLENAME);
     if (!$hastable) {
         Vtiger_Utils::CreateTable(self::TABLENAME, '(id INT NOT NULL PRIMARY KEY,
                         name VARCHAR(50), label VARCHAR(30), lastupdated DATETIME, isdefault INT(1), active INT(1))', true);
     }
 }
开发者ID:cannking,项目名称:vtigercrm-debug,代码行数:12,代码来源:LayoutExport.php


示例11: import_Tables

 /**
  * Import Tables of the module
  * @access private
  */
 function import_Tables($modulenode)
 {
     if (empty($modulenode->tables) || empty($modulenode->tables->table)) {
         return;
     }
     /**
      * Record the changes in schema file
      */
     $schemafile = @fopen("modules/{$modulenode->name}/schema.xml", 'w');
     if ($schemafile) {
         fwrite($schemafile, "<?xml version='1.0'?>\n");
         fwrite($schemafile, "<schema>\n");
         fwrite($schemafile, "\t<tables>\n");
     }
     // Import the table via queries
     foreach ($modulenode->tables->table as $tablenode) {
         $tablename = $tablenode->name;
         $tablesql = "{$tablenode->sql}";
         // Convert to string format
         // Save the information in the schema file.
         if ($schemafile) {
             fwrite($schemafile, "\t\t<table>\n");
             fwrite($schemafile, "\t\t\t<name>{$tablename}</name>\n");
             fwrite($schemafile, "\t\t\t<sql><![CDATA[{$tablesql}]]></sql>\n");
             fwrite($schemafile, "\t\t</table>\n");
         }
         // Avoid executing SQL that will DELETE or DROP table data
         if (Vtiger_Utils::IsCreateSql($tablesql)) {
             if (!Vtiger_Utils::checkTable($tablename)) {
                 self::log("SQL: {$tablesql} ... ", false);
                 Vtiger_Utils::ExecuteQuery($tablesql);
                 self::log("DONE");
             }
         } else {
             if (Vtiger_Utils::IsDestructiveSql($tablesql)) {
                 self::log("SQL: {$tablesql} ... SKIPPED");
             } else {
                 self::log("SQL: {$tablesql} ... ", false);
                 Vtiger_Utils::ExecuteQuery($tablesql);
                 self::log("DONE");
             }
         }
     }
     if ($schemafile) {
         fwrite($schemafile, "\t</tables>\n");
         fwrite($schemafile, "</schema>\n");
         fclose($schemafile);
     }
 }
开发者ID:jaimeaga84,项目名称:corebos,代码行数:53,代码来源:PackageImport.php


示例12: handle_Migration

 /**
  * Handle migration of the module
  * @access private
  */
 function handle_Migration($modulenode, $moduleInstance)
 {
     // TODO Handle module migration SQL
     $this->parse_Migration($modulenode);
     $cur_version = $moduleInstance->version;
     foreach ($this->_migrations as $migversion => $migrationnode) {
         // Perform migration only for higher version than current
         if (version_compare($cur_version, $migversion, '<')) {
             self::log("Migrating to {$migversion} ... STARTED");
             if (!empty($migrationnode->tables) && !empty($migrationnode->tables->table)) {
                 foreach ($migrationnode->tables->table as $tablenode) {
                     $tablename = $tablenode->name;
                     $tablesql = "{$tablenode->sql}";
                     // Convert to string
                     // Skip SQL which are destructive
                     if (Vtiger_Utils::IsDestructiveSql($tablesql)) {
                         self::log("SQL: {$tablesql} ... SKIPPED");
                     } else {
                         // Supress any SQL query failures
                         self::log("SQL: {$tablesql} ... ", false);
                         Vtiger_Utils::ExecuteQuery($tablesql, true);
                         self::log("DONE");
                     }
                 }
             }
             self::log("Migrating to {$migversion} ... DONE");
         }
     }
 }
开发者ID:cannking,项目名称:vtigercrm-debug,代码行数:33,代码来源:PackageUpdate.php


示例13: initializeSchema

    /**
     * Initialize the schema.
     */
    protected static function initializeSchema()
    {
        if (!self::$schemaInitialized) {
            if (!Vtiger_Utils::CheckTable('vtiger_cron_task')) {
                Vtiger_Utils::CreateTable('vtiger_cron_task', '(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
					name VARCHAR(100) UNIQUE KEY, handler_file VARCHAR(100) UNIQUE KEY,
					frequency int, laststart int(11) unsigned, lastend int(11) unsigned, status int,module VARCHAR(100),
                                        sequence int,description TEXT )', true);
            }
            self::$schemaInitialized = true;
        }
    }
开发者ID:Bergdahls,项目名称:YetiForceCRM,代码行数:15,代码来源:Cron.php


示例14: import_Tables

 /**
  * Import Tables of the module
  * @access private
  */
 function import_Tables($modulenode)
 {
     if (empty($modulenode->tables) || empty($modulenode->tables->table)) {
         return;
     }
     $adb = PearDatabase::getInstance();
     $adb->query('SET FOREIGN_KEY_CHECKS = 0;');
     /**
      * Record the changes in schema file
      */
     if (file_exists("modules/{$modulenode->name}")) {
         $fileToOpen = "modules/{$modulenode->name}/schema.xml";
     } else {
         if (file_exists("modules/Settings/{$modulenode->name}")) {
             $fileToOpen = "modules/Settings/{$modulenode->name}/schema.xml";
         }
     }
     $schemafile = fopen($fileToOpen, 'w');
     if ($schemafile) {
         fwrite($schemafile, "<?xml version='1.0'?>\n");
         fwrite($schemafile, "<schema>\n");
         fwrite($schemafile, "\t<tables>\n");
     }
     // Import the table via queries
     foreach ($modulenode->tables->table as $tablenode) {
         $tablename = $tablenode->name;
         $tablesql = "{$tablenode->sql}";
         // Convert to string format
         // Save the information in the schema file.
         fwrite($schemafile, "\t\t<table>\n");
         fwrite($schemafile, "\t\t\t<name>{$tablename}</name>\n");
         fwrite($schemafile, "\t\t\t<sql><![CDATA[{$tablesql}]]></sql>\n");
         fwrite($schemafile, "\t\t</table>\n");
         // Avoid executing SQL that will DELETE or DROP table data
         if (Vtiger_Utils::IsCreateSql($tablesql)) {
             if (!Vtiger_Utils::checkTable($tablename)) {
                 self::log("SQL: {$tablesql} ... ", false);
                 Vtiger_Utils::ExecuteQuery($tablesql);
                 self::log("DONE");
             }
         } else {
             if (Vtiger_Utils::IsDestructiveSql($tablesql)) {
                 self::log("SQL: {$tablesql} ... SKIPPED");
             } else {
                 self::log("SQL: {$tablesql} ... ", false);
                 Vtiger_Utils::ExecuteQuery($tablesql);
                 self::log("DONE");
             }
         }
     }
     if ($schemafile) {
         fwrite($schemafile, "\t</tables>\n");
         fwrite($schemafile, "</schema>\n");
         fclose($schemafile);
     }
     $adb->query('SET FOREIGN_KEY_CHECKS = 1;');
 }
开发者ID:rcrrich,项目名称:UpdatePackages,代码行数:61,代码来源:PackageImport.php


示例15: getAll

 /**
  * Get all the language information
  * @param Boolean true to include in-active languages also, false (default)
  */
 static function getAll($includeInActive = false)
 {
     global $adb;
     $hastable = Vtiger_Utils::CheckTable(self::TABLENAME);
     $languageinfo = array();
     if ($hastable) {
         if ($includeInActive) {
             $result = $adb->pquery('SELECT * FROM ' . self::TABLENAME, array());
         } else {
             $result = $adb->pquery('SELECT * FROM ' . self::TABLENAME . ' WHERE active=?', array(1));
         }
         for ($index = 0; $index < $adb->num_rows($result); ++$index) {
             $resultrow = $adb->fetch_array($result);
             $prefix = $resultrow['prefix'];
             $label = $resultrow['label'];
             $languageinfo[$prefix] = $label;
         }
     } else {
         global $languages;
         foreach ($languages as $prefix => $label) {
             $languageinfo[$prefix] = $label;
         }
     }
     // SalesPlatform.ru begin Set ru_ru to first position
     if ($languageinfo['ru_ru']) {
         $ruLabel = $languageinfo['ru_ru'];
         unset($languageinfo['ru_ru']);
         $languageinfo = array_merge(array('ru_ru' => $ruLabel), $languageinfo);
     }
     // SalesPlatform.ru end
     return $languageinfo;
 }
开发者ID:zirf0,项目名称:openshift-salesplatform,代码行数:36,代码来源:LanguageExport.php


示例16: isUserImportBlocked

 public static function isUserImportBlocked($user)
 {
     $adb = PearDatabase::getInstance();
     $tableName = self::getDbTableName($user);
     if (Vtiger_Utils::CheckTable($tableName)) {
         $result = $adb->query('SELECT 1 FROM ' . $tableName . ' WHERE temp_status = ' . Import_Data_Action::$IMPORT_RECORD_NONE);
         if ($adb->num_rows($result) > 0) {
             return true;
         }
     }
     return false;
 }
开发者ID:Bergdahls,项目名称:YetiForceCRM,代码行数:12,代码来源:Utils.php


示例17: getPicklistId

 public function getPicklistId($fieldName, $value)
 {
     global $log, $adb;
     $log->debug("Entering YetiForceUpdate::getPicklistId(" . $fieldName . ',' . $value . ") method ...");
     if (Vtiger_Utils::CheckTable('vtiger_' . $fieldName)) {
         $sql = 'SELECT * FROM vtiger_' . $fieldName . ' WHERE ' . $fieldName . ' = ? ;';
         $result = $adb->pquery($sql, array($value));
         if ($adb->num_rows($result) > 0) {
             $log->debug("Exiting YetiForceUpdate::getPicklistId() method ...");
             return $adb->query_result($result, 0, 'picklist_valueid');
         }
     }
     $log->debug("Exiting YetiForceUpdate::getPicklistId() method ...");
     return false;
 }
开发者ID:noclav,项目名称:UpdatePackages,代码行数:15,代码来源:init.php


示例18: initializeSchema

 public static function initializeSchema()
 {
     if (!Vtiger_Utils::CheckTable('vtiger_google_oauth')) {
         Vtiger_Utils::CreateTable('vtiger_google_oauth', '(service varchar(64),request_token text,access_token text,userid int)', true);
     }
 }
开发者ID:xrstf,项目名称:vtiger-mirror,代码行数:6,代码来源:Oauth.php


示例19: __initSchema

 /**
  * Initialize Language Schema
  * @access private
  */
 static function __initSchema()
 {
     $hastable = Vtiger_Utils::CheckTable(self::TABLENAME);
     if (!$hastable) {
         Vtiger_Utils::CreateTable(self::TABLENAME, '(id INT NOT NULL PRIMARY KEY,
                         name VARCHAR(50), label VARCHAR(30), lastupdated DATETIME, isdefault INT(1), active INT(1))', true);
         global $languages, $adb;
         foreach ($languages as $langkey => $langlabel) {
             $uniqueid = self::__getUniqueId();
             $adb->pquery('INSERT INTO ' . self::TABLENAME . '(id,name,label,lastupdated,isdefault,active) VALUES(?,?,?,?,?,?)', array($uniqueid, $langlabel, $langlabel, date('Y-m-d H:i:s', time()), 0, 1));
         }
     }
 }
开发者ID:rcrrich,项目名称:UpdatePackages,代码行数:17,代码来源:LayoutExport.php


示例20: addField

 /**
  * Creating a new field
  * @param string $type
  * @param array $params
  * @return array/false
  */
 public function addField($type, $params)
 {
     $adb = PearDatabase::getInstance();
     $inventoryClassName = Vtiger_Loader::getComponentClassName('InventoryField', $type, $this->get('module'));
     $instance = new $inventoryClassName();
     $table = $this->getTableName();
     $columnName = $instance->getColumnName();
     $label = $instance->getDefaultLabel();
     $defaultValue = $instance->getDefaultValue();
     $colSpan = $instance->getColSpan();
     if (!$instance->isOnlyOne()) {
         $id = $this->getUniqueID($instance);
         $columnName = $columnName . $id;
     }
     if (isset($params['label'])) {
         $label = $params['label'];
     }
     if (isset($params['defaultValue'])) {
         $defaultValue = $params['defaultValue'];
     }
     if (isset($params['colSpan'])) {
         $colSpan = $params['colSpan'];
     }
     Vtiger_Utils::AddColumn($table, $columnName, $instance->getDBType());
     foreach ($instance->getCustomColumn() as $column => $criteria) {
         Vtiger_Utils::AddColumn($table, $column, $criteria);
     }
     $result = $adb->query("SELECT MAX(sequence) AS max FROM " . $this->getTableName('fields'));
     $sequence = (int) $adb->getSingleValue($result) + 1;
     return $adb->insert($this->getTableName('fields'), ['columnname' => $columnName, 'label' => $label, 'invtype' => $instance->getName(), 'defaultvalue' => $defaultValue, 'sequence' => $sequence, 'block' => $params['block'], 'displaytype' => $params['displayType'], 'params' => $params['params'], 'colspan' => $colSpan]);
 }
开发者ID:reeid,项目名称:YetiForceCRM,代码行数:37,代码来源:InventoryField.php



注:本文中的Vtiger_Utils类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Vtiger_Viewer类代码示例发布时间:2022-05-23
下一篇:
PHP Vtiger_Util_Helper类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap