当前位置: 首页>>代码示例>>PHP>>正文


PHP SugarBean::hasCustomFields方法代码示例

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


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

示例1: _getIndexVardefs

 /**
  * Returns an array of indices for the current module
  *
  * @return array
  */
 private function _getIndexVardefs()
 {
     $indexes = $this->_focus->getIndices();
     //grab any custom indexes if they exist
     if ($this->_focus->hasCustomFields()) {
         $custmIndexes = $this->_focus->db->helper->get_indices($this->_focus->table_name . '_cstm');
         $indexes = array_merge($custmIndexes, $indexes);
     }
     // remove any that are datetime or time field as we can't dupe check them correctly since we don't export
     // seconds
     $fields = $this->_focus->getFieldDefinitions();
     foreach ($indexes as $key => $index) {
         foreach ($index['fields'] as $field) {
             if (isset($fields[$field]) && ($fields[$field]['type'] == 'datetime' || $fields[$field]['type'] == 'datetimecombo' || $fields[$field]['type'] == 'time')) {
                 unset($indexes[$key]);
                 break 1;
             }
         }
     }
     if ($this->_focus->getFieldDefinition('email1')) {
         $indexes[] = array('name' => 'special_idx_email1', 'type' => 'index', 'fields' => array('email1'));
     }
     if ($this->_focus->getFieldDefinition('email2')) {
         $indexes[] = array('name' => 'special_idx_email2', 'type' => 'index', 'fields' => array('email2'));
     }
     return $indexes;
 }
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:32,代码来源:ImportDuplicateCheck.php

示例2: populateXTPL

 /**
  * @param XTemplate $xtpl
  * @param string $view
  */
 public function populateXTPL($xtpl, $view)
 {
     if ($this->bean->hasCustomFields()) {
         $results = $this->getAllFieldsView($view, 'xtpl');
         foreach ($results as $name => $value) {
             if (is_array($value['xtpl'])) {
                 foreach ($value['xtpl'] as $xName => $xValue) {
                     $xtpl->assign(strtoupper($xName), $xValue);
                 }
             } else {
                 $xtpl->assign(strtoupper($name), $value['xtpl']);
             }
         }
     }
 }
开发者ID:sacredwebsite,项目名称:SuiteCRM,代码行数:19,代码来源:DynamicField.php

示例3: generateInsertSQL

 /**
  * Generate a set of Insert statements based on the bean given
  *
  * @deprecated
  *
  * @param  SugarBean $bean         the bean from which table we will generate insert stmts
  * @param  string $select_query the query which will give us the set of objects we want to place into our insert statement
  * @param  int    $start        the first row to query
  * @param  int    $count        the number of rows to query
  * @param  string $table        the table to query from
  * @param bool $is_related_query
  * @return string SQL insert statement
  */
 public function generateInsertSQL(SugarBean $bean, $select_query, $start, $count = -1, $table, $is_related_query = false)
 {
     $this->log->info('call to DBManager::generateInsertSQL() is deprecated');
     global $sugar_config;
     $rows_found = 0;
     $count_query = $bean->create_list_count_query($select_query);
     if (!empty($count_query)) {
         // We have a count query.  Run it and get the results.
         $result = $this->query($count_query, true, "Error running count query for {$this->object_name} List: ");
         $assoc = $this->fetchByAssoc($result);
         if (!empty($assoc['c'])) {
             $rows_found = $assoc['c'];
         }
     }
     if ($count == -1) {
         $count = $sugar_config['list_max_entries_per_page'];
     }
     $next_offset = $start + $count;
     $result = $this->limitQuery($select_query, $start, $count);
     // get basic insert
     $sql = "INSERT INTO " . $table;
     $custom_sql = "INSERT INTO " . $table . "_cstm";
     // get field definitions
     $fields = $bean->getFieldDefinitions();
     $custom_fields = array();
     if ($bean->hasCustomFields()) {
         foreach ($fields as $fieldDef) {
             if ($fieldDef['source'] == 'custom_fields') {
                 $custom_fields[$fieldDef['name']] = $fieldDef['name'];
             }
         }
         if (!empty($custom_fields)) {
             $custom_fields['id_c'] = 'id_c';
             $id_field = array('name' => 'id_c', 'custom_type' => 'id');
             $fields[] = $id_field;
         }
     }
     // get column names and values
     $row_array = array();
     $columns = array();
     $cstm_row_array = array();
     $cstm_columns = array();
     $built_columns = false;
     while (($row = $this->fetchByAssoc($result)) != null) {
         $values = array();
         $cstm_values = array();
         if (!$is_related_query) {
             foreach ($fields as $fieldDef) {
                 if (isset($fieldDef['source']) && $fieldDef['source'] != 'db' && $fieldDef['source'] != 'custom_fields') {
                     continue;
                 }
                 $val = $row[$fieldDef['name']];
                 //handle auto increment values here only need to do this on insert not create
                 if ($fieldDef['name'] == 'deleted') {
                     $values['deleted'] = $val;
                     if (!$built_columns) {
                         $columns[] = 'deleted';
                     }
                 } else {
                     $type = $fieldDef['type'];
                     if (!empty($fieldDef['custom_type'])) {
                         $type = $fieldDef['custom_type'];
                     }
                     // need to do some thing about types of values
                     if ($this->dbType == 'mysql' && $val == '' && ($type == 'datetime' || $type == 'date' || $type == 'int' || $type == 'currency' || $type == 'decimal')) {
                         if (!empty($custom_fields[$fieldDef['name']])) {
                             $cstm_values[$fieldDef['name']] = 'null';
                         } else {
                             $values[$fieldDef['name']] = 'null';
                         }
                     } else {
                         if (isset($type) && $type == 'int') {
                             if (!empty($custom_fields[$fieldDef['name']])) {
                                 $cstm_values[$fieldDef['name']] = $GLOBALS['db']->quote(from_html($val));
                             } else {
                                 $values[$fieldDef['name']] = $GLOBALS['db']->quote(from_html($val));
                             }
                         } else {
                             if (!empty($custom_fields[$fieldDef['name']])) {
                                 $cstm_values[$fieldDef['name']] = "'" . $GLOBALS['db']->quote(from_html($val)) . "'";
                             } else {
                                 $values[$fieldDef['name']] = "'" . $GLOBALS['db']->quote(from_html($val)) . "'";
                             }
                         }
                     }
                     if (!$built_columns) {
                         if (!empty($custom_fields[$fieldDef['name']])) {
//.........这里部分代码省略.........
开发者ID:delkyd,项目名称:sugarcrm_dev,代码行数:101,代码来源:DBManager.php

示例4: joinCustomTable

 /**
  * Joins the custom table to the current query (if possible)
  * @param SugarBean $bean
  * @param string $alias
  */
 public function joinCustomTable($bean, $alias = "")
 {
     if ($bean->hasCustomFields() && !$this->customJoined) {
         $table = $bean->getTableName();
         $table_cstm = $bean->get_custom_table_name();
         if (!empty($table_cstm)) {
             // TODO: CLEAN THIS UP
             if (!empty($alias)) {
                 $sql = "LEFT JOIN {$table_cstm} {$alias}_c ON {$alias}_c.id_c = {$alias}.id";
             } else {
                 $sql = "LEFT JOIN {$table_cstm} ON {$table_cstm}.id_c = {$table}.id";
             }
             // can do a join here because we haven't got to the joins yet in the compile sequence.
             $this->joinRaw($sql);
         }
     }
 }
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:22,代码来源:SugarQuery.php


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