/** * KsenMartModelProfile::saveUser() * * @return */ public function saveUser() { $this->onExecuteBefore('saveUser'); $jinput = JFactory::getApplication()->input; $data = $jinput->get('form', array(), 'array'); if (!empty($data['name'])) { $data['name'] = $data['name'] . ' '; } if (!empty($data['last_name'])) { $data['name'] .= $data['last_name'] . ' '; } if (!empty($data['first_name'])) { $data['name'] .= $data['first_name'] . ' '; } if (!empty($data['middle_name'])) { $data['name'] .= $data['middle_name']; } if (!empty($data['id'])) { $pk = $data['id']; } else { $pk = (int) $this->getState('user.id'); } $km_user = KSUsers::getUser(); $user = JUser::getInstance($pk); if (!$user->bind($data)) { return $user->getError(); } if (!$user->save()) { return $user->getError(); } $user_o = new stdClass(); $user_o->id = $user->id; $user_o->region_id = $data['region']; $user_o->phone = $data['phone']; $user_o->first_name = $data['first_name']; $user_o->last_name = $data['last_name']; $user_o->middle_name = $data['middle_name']; try { $this->_db->updateObject('#__ksen_users', $user_o, 'id'); } catch (Exception $e) { } $f_set = null; $f_values = $jinput->get('field', array(), 'array'); if (!empty($f_values)) { $query = $this->_db->getQuery(true); $columns = array('id', 'field_id', 'user_id', 'value'); foreach ($f_values as $key => $value) { $field_id = !empty($km_user->{'field_' . $key}->id) ? $km_user->{'field_' . $key}->id : 'NULL'; $values = array($field_id, $key, $user->id, $this->_db->quote($value)); $tmp = '(' . implode(',', $values) . ')'; $query->values(implode(',', $values)); } $query->insert(KSDb::quoteName('#__ksen_user_fields_values'))->columns(KSDb::quoteName($columns)); $query .= ' ON DUPLICATE KEY UPDATE ' . $this->_db->quotename('value') . ' = VALUES(' . $this->_db->quotename('value') . ')'; $this->_db->setQuery($query); try { $result = $this->_db->query(); // Use $this->_db->execute() for Joomla 3.0. } catch (Exception $e) { } } $sendEmail = $jinput->get('sendEmail', null, 'string'); if ($sendEmail == 'on') { KSUsers::setUserSubscribeGroup($user->id); } else { KSUsers::removeUserSubscribeGroup($user->id); } $this->onExecuteAfter('saveUser', array(&$this)); }