Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function actionUpdate()
- {
- //die(var_export($_POST));
- $this->pageTitle ='RusPokeCommunity :: Правка профиля';
- $model = $this->loadModel();
- if(isset($_POST['Profile'])){
- $model->profile->attributes=$_POST['Profile'];
- $date = $_POST['birthdateArray'];
- $model->profile->birthdate = mktime(0,0,0,$date['Month'],$date['Day'],$date['Year']);
- $model->profile->save();
- }
- $ava = new Avatar('add');
- $ava->load($model->id);
- if (isset($_POST['Avatar'])){
- $ava->attributes=$_POST['Avatar'];
- $ava->image=CUploadedFile::getInstance($ava,'image');
- if ($ava->validate()){
- $ava->process();
- }
- }
- if (isset($_POST['Contacts'])) {
- $contacts = array();
- foreach (Contacts::model()->formats as $id => $format) {
- $contact = $model->contacts(array('condition' => 'serviceid = '.$id));
- if ($contact)
- $contact = $contact[0];
- else {
- $contact = new Contacts();
- $contact->serviceid = $id;
- $contact->uid = $model->id;
- }
- if($_POST['Contacts']['identificator'][$id]) {
- //echo '<br>ID: '.$_POST['Contacts']['identificator'][$id];
- $contact->identificator = $_POST['Contacts']['identificator'][$id];
- if($format['handle'] && $_POST['Contacts']['handle'][$id])
- //echo ' Handle: '.$_POST['Contacts']['handle'][$id];
- $contact->handle = $_POST['Contacts']['handle'][$id];
- $contact->save();
- }
- else if(!$contact->isNewRecord)
- $contact->delete();
- }
- }
- if (!$model->profile){
- $new = new Profile();
- $new->uid = $model->id;
- $new->save();
- $model->profile = $new;
- }
- if(!$model->contacts) {
- // охтунг, как только юзер кликнет на Редактировать профиль, в базу добавятся пустые поля для каждого из возможных контактов
- // а ещё если добавить новый тип контакта, произойдёт пиздец
- $new = array();
- for($id = 1; $id<count(Contacts::model()->formats)+1; $id++) {
- $contact = new Contacts();
- $contact->serviceid = $id;
- $contact->uid = $model->id;
- $new[] = $contact;
- //$contact->save();
- }
- $model->contacts = $new;
- }
- $this->render('update',array(
- 'user'=>$model,
- 'ava' => $ava,
- ));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement