Exemple #1
0
 private function getFieldsOrder($position, $type)
 {
     $this->onExecuteBefore('getFieldsOrder', array(&$position, &$type));
     $app = JFactory::getApplication();
     if (!empty($position)) {
         $fields = $this->getFieldsCatOrder($position);
         if ($fields) {
             $where = array();
             $fields_new = array();
             $flag = false;
             $field_o = new stdClass();
             foreach ($fields as &$field) {
                 $user_value = null;
                 $field->class = $field->required == 1 ? 'required' : '';
                 if (isset($this->_user->{$field->title})) {
                     $user_value = $this->_user->{$field->title};
                 }
                 if ($field->type == 'select') {
                     $flag = true;
                     $where[] = $field->id;
                 }
                 $field_name = $field->title;
                 if (!$field->system) {
                     $field_name = $field->id;
                 }
                 $field->value = $app->getUserState($this->context . '.' . $type . '[' . $field_name . ']', $user_value);
                 $fields_new[$field->id] = $field;
                 $field_o->{$field_name} = $field->value;
             }
             if ($flag) {
                 $values = $this->getFieldsValuesOrder($where);
                 if (!empty($values)) {
                     foreach ($values as $value) {
                         if (isset($fields_new[$value->field_id])) {
                             $fields_new[$value->field_id]->values[] = $value;
                         }
                         continue;
                     }
                 }
             }
             $data = new stdClass();
             $data->{$type} = json_encode($field_o);
             KSMOrders::updateOrderFields($this->order_id, $data);
             $this->onExecuteAfter('getFieldsOrder', array(&$fields_new));
             return $fields_new;
         }
     }
     return false;
 }
Exemple #2
0
 public function updateOrderField()
 {
     $jinput = JFactory::getApplication()->input;
     $session = JFactory::getSession();
     $oid = $session->get('shop_order_id', 0);
     $column = $jinput->get('column', null, 'string');
     if (!empty($column)) {
         $data = new stdClass();
         $data->{$column} = $jinput->get('field', 0, 'int');
         KSMOrders::updateOrderFields($oid, $data);
     }
 }