switch ($field->type) { case 'dropdown': $fieldOptions[$field->fieldName] = Dropdowns::getItems($field->linkType); break; case 'assignment': $fieldOptions[$field->fieldName] = User::getNames() + Groups::getNames(); break; case 'link': $fieldOptions[$field->fieldName] = Yii::app()->request->scriptUrl . X2Model::model($field->linkType)->autoCompleteSource; break; } } $attributeLabels = $model->itemAttributeLabels; //hack tags in $fieldTypes['tags'] = 'tags'; $fieldOptions['tags'] = Tags::getAllTags(); $attributeLabels['tags'] = Yii::t('contacts', 'Tags'); natcasesort($attributeLabels); $comparisonList = array('=' => Yii::t('contacts', 'equals'), '>' => Yii::t('contacts', 'greater than'), '<' => Yii::t('contacts', 'less than'), '<>' => Yii::t('contacts', 'not equal to'), 'list' => Yii::t('contacts', 'in list'), 'notList' => Yii::t('contacts', 'not in list'), 'empty' => Yii::t('contacts', 'empty'), 'notEmpty' => Yii::t('contacts', 'not empty'), 'contains' => Yii::t('contacts', 'contains'), 'noContains' => Yii::t('contacts', 'does not contain')); $criteriaAttr = array(); foreach ($criteriaModels as $criterion) { $attr = $criterion->getAttributes(); //for any link types, look up the name belonging to the id if (isset($fieldTypes[$attr['attribute']]) && $fieldTypes[$attr['attribute']] == 'link') { $record = X2Model::model(ucfirst($fieldLinkTypes[$attr['attribute']]))->findByPk($attr['value']); if (isset($record) && isset($record->name)) { $attr['name'] = $record->name; } } $criteriaAttr[] = $attr; }
* 02110-1301 USA. * * You can contact X2Engine, Inc. P.O. Box 66752, Scotts Valley, * California 95067, USA. or at email address contact@x2engine.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * X2Engine" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by X2Engine". *****************************************************************************************/ Yii::app()->clientScript->registerScript('x2ConditionListViewJS' . $this->id, "\n\n;(function () {\n var condList = new x2.ConditionList ({\n containerSelector: '#{$this->id}',\n name: '{$this->name}',\n modelClass: '" . get_class($this->model) . "',\n options: " . CJSON::encode($this->attributes) . ",\n operatorList: " . CJSON::encode(X2Model::getFieldComparisonOptions()) . ",\n visibilityOptions: " . CJSON::encode(array(array(1, Yii::t('app', 'Public')), array(0, Yii::t('app', 'Private')), array(2, Yii::t('app', 'User\'s Groups')))) . ",\n allTags: " . CJSON::encode(Tags::getAllTags()) . ",\n value: " . CJSON::encode($this->value) . "\n });\n\n // add cond list object to element data to allow access from outside this scope\n \$('#{$this->id}').data ('x2ConditionList', condList);\n}) ();\n\n", CClientScript::POS_END); ?> <div id='<?php echo $this->id; ?> '> <div class="x2-cond-list"><ol></ol></div> <div class='x2fields-template' style='display: none;'> <ol> <li> <div class="handle"></div> <fieldset></fieldset> <a href="javascript:void(0)" class="del"></a> </li> </ol> <div class="cell x2fields-attribute">