示例#1
0
            foreach ($srrow['context'] as $context) {
                // Draw context
                if ($context['context'] != '' && $context['column_name'] != 'title' && $context['column_name'] != 'name' && $context['column_name'] != 'firstname' && $context['column_name'] != 'lastname' && $context['column_name'] != 'subject' && $context['column_name'] != 'filename') {
                    ?>
		<tr style="vertical-align:middle" class="<?php 
                    echo $alt ? "searchAltRow" : 'searchRow';
                    ?>
">
		<td></td><td colspan=2 style="padding:6px;padding-top:0px">
			<b><?php 
                    $colname = $context['column_name'];
                    //Check for custom properties
                    if (substr($colname, 0, 8) == 'property') {
                        $property_id = trim(substr($colname, 8));
                        if (is_numeric($property_id)) {
                            $prop = ObjectProperties::findById($property_id);
                            if ($prop instanceof ObjectProperty) {
                                echo $prop->getPropertyName();
                            } else {
                                break;
                            }
                        } else {
                            break;
                        }
                    } else {
                        if (Localization::instance()->lang_exists('field ' . $object->getObjectManagerName() . ' ' . $context['column_name'])) {
                            echo lang('field ' . $object->getObjectManagerName() . ' ' . $context['column_name']);
                        } else {
                            echo clean($context['column_name']);
                        }
                    }
 /**
  * Given the object_data object (i.e. file_data) this function
  * updates all ObjectProperties (deleting or creating them when necessary)
  *
  * @param  $object_data
  */
 function save_properties($object_data)
 {
     $properties = array();
     for ($i = 0; $i < 200; $i++) {
         if (isset($object_data["property{$i}"]) && is_array($object_data["property{$i}"]) && (trim(array_var($object_data["property{$i}"], 'id')) != '' || trim(array_var($object_data["property{$i}"], 'name')) != '' || trim(array_var($object_data["property{$i}"], 'value')) != '')) {
             $name = array_var($object_data["property{$i}"], 'name');
             $id = array_var($object_data["property{$i}"], 'id');
             $value = array_var($object_data["property{$i}"], 'value');
             if ($id && trim($name) == '' && trim($value) == '') {
                 $property = ObjectProperties::findById($id);
                 $property->delete('id = $id');
             } else {
                 if ($id) {
                     SearchableObjects::dropContentByObjectColumn($this, 'property' . $id);
                     $property = ObjectProperties::findById($id);
                 } else {
                     $property = new ObjectProperty();
                     $property->setRelObjectId($this->getId());
                     $property->setRelObjectManager(get_class($this->manager()));
                 }
                 $property->setFromAttributes($object_data["property{$i}"]);
                 $property->save();
                 if ($this->isSearchable()) {
                     $this->addPropertyToSearchableObject($property);
                 }
             }
         } else {
             break;
         }
     }
     // for
 }