Advertisement
Kalashnikov

Untitled

Oct 28th, 2011
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.31 KB | None | 0 0
  1. public function actionUpdate()
  2.     {
  3.         //die(var_export($_POST));
  4.         $this->pageTitle ='RusPokeCommunity :: Правка профиля';
  5.         $model = $this->loadModel();
  6.         if(isset($_POST['Profile'])){
  7.             $model->profile->attributes=$_POST['Profile'];
  8.             $date = $_POST['birthdateArray'];
  9.             $model->profile->birthdate = mktime(0,0,0,$date['Month'],$date['Day'],$date['Year']);
  10.             $model->profile->save();
  11.         }
  12.         $ava = new Avatar('add');
  13.         $ava->load($model->id);
  14.         if (isset($_POST['Avatar'])){
  15.             $ava->attributes=$_POST['Avatar'];
  16.             $ava->image=CUploadedFile::getInstance($ava,'image');
  17.             if ($ava->validate()){
  18.                 $ava->process();
  19.             }
  20.         }
  21.         if (isset($_POST['Contacts'])) {
  22.             $contacts = array();
  23.             foreach (Contacts::model()->formats as $id => $format) {
  24.                 $contact = $model->contacts(array('condition' => 'serviceid = '.$id));
  25.                 if ($contact)
  26.                     $contact = $contact[0];
  27.                 else {
  28.                     $contact = new Contacts();
  29.                     $contact->serviceid = $id;
  30.                     $contact->uid = $model->id;
  31.                 }
  32.                 if($_POST['Contacts']['identificator'][$id]) {
  33.                     //echo '<br>ID: '.$_POST['Contacts']['identificator'][$id];
  34.                     $contact->identificator = $_POST['Contacts']['identificator'][$id];
  35.                     if($format['handle'] && $_POST['Contacts']['handle'][$id])
  36.                         //echo ' Handle: '.$_POST['Contacts']['handle'][$id];
  37.                         $contact->handle = $_POST['Contacts']['handle'][$id];
  38.                     $contact->save();
  39.                 }
  40.                 else if(!$contact->isNewRecord)
  41.                     $contact->delete();
  42.             }
  43.         }
  44.         if (!$model->profile){
  45.             $new = new Profile();
  46.             $new->uid = $model->id;
  47.             $new->save();
  48.             $model->profile = $new;
  49.         }
  50.         if(!$model->contacts) {
  51.             // охтунг, как только юзер кликнет на Редактировать профиль, в базу добавятся пустые поля для каждого из возможных контактов
  52.             // а ещё если добавить новый тип контакта, произойдёт пиздец
  53.             $new = array();
  54.             for($id = 1; $id<count(Contacts::model()->formats)+1; $id++) {
  55.                 $contact = new Contacts();
  56.                 $contact->serviceid = $id;
  57.                 $contact->uid = $model->id;
  58.                 $new[] = $contact;
  59.                 //$contact->save();
  60.             }
  61.             $model->contacts = $new;
  62.         }
  63.         $this->render('update',array(
  64.             'user'=>$model,
  65.             'ava' => $ava,
  66.         ));
  67.     }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement