function beforeSave(&$data, &$params, $mode) { foreach ($this->params_fields as $params_field) { if (isset($data[$params_field]) and is_array($data[$params_field])) { $p_obj = new Parameter($data[$params_field]); $data[$params_field] = $p_obj->toString(); } } if (isset($data['extras']) and is_array($data['extras'])) { $base_string = new Base64($data['extras']); $data['extras'] = $base_string->encode(); } if (array_key_exists('alias', $data) and empty($data['alias']) and !empty($data['title'])) { $count = 1; $test = $alias = Str::slug($data['title']); redo: $exists = $this->find('first', array('fields' => array($this->pkey), 'conditions' => array('alias' => $test))); if (!empty($exists)) { $count++; $test = $alias . $count; goto redo; } $data['alias'] = $test; } if ($mode == 'create' and in_array('user_id', $this->table_fields) and !isset($data['user_id'])) { $user = Base::getUser(); $data['user_id'] = $user['id']; } }