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; }
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); } }