/**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Actor();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Actor'])) {
         $model->attributes = $_POST['Actor'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
Exemple #2
0
 public function executeProcessForm(sfWebRequest $request)
 {
     ini_set('display_errors', false);
     $data = array();
     $util = new Util();
     $data = $request->getPostParameter("data");
     $q = Doctrine_Query::create()->update('Movie')->set('name_org', '?', $data['name_org'])->set('director', '?', $data['director'])->set('rating', '?', $data['rating'])->set('plot', '?', $data['plot'])->where('id = ?', $data['id']);
     $rows = $q->execute();
     $movie = Doctrine::getTable('Movie')->findOneById($data['id']);
     //year
     if ($data['year'] == "") {
         $movie->Year = NULL;
         $movie->save();
     } else {
         $year_object = Doctrine::getTable('Year')->findOneByName($data['year']);
         if ($year_object == NULL) {
             $year_object = new Year();
             $year_object->name = $data['year'];
             $year_object->coverMo = $util->changePathSeparators($util->makePath(array(sfConfig::get('app_years_rel'), '_' . $util->unformatName($data['year']) . '.jpg')));
             $year_object->coverMu = $util->changePathSeparators($util->makePath(array(sfConfig::get('app_years_rel'), $util->unformatName($data['year']) . '.jpg')));
             $year_object->save();
         }
         $movie->Year = $year_object;
         $movie->save();
     }
     //country
     if ($data['country'] == "") {
         $movie->Country = NULL;
         $movie->save();
     } else {
         $country_object = Doctrine::getTable('Country')->findOneByName($data['country']);
         if ($country_object == NULL) {
             $country_object = new Country();
             $country_object->name = $data['country'];
             $country_object->cover = $util->changePathSeparators($util->makePath(array(sfConfig::get('app_countries_rel'), $util->unformatName($data['country']) . '.png')));
             $country_object->save();
         }
         $movie->Country = $country_object;
         $movie->save();
     }
     //genres
     foreach ($data['genres'] as $genre) {
         $genre_object = Doctrine::getTable('Genre')->findOneByName($genre);
         //if this not exist let's create it
         if ($genre_object == NULL) {
             $genre_object = new Genre();
             $genre_object->name = $genre;
             $genre_object->cover = $util->changePathSeparators($util->makePath(array(sfConfig::get('app_genres_rel'), $util->unformatName($genre) . '.jpg')));
             $genre_object->Movies[] = $movie;
             $genre_object->save();
         } else {
             //check if the movie already has such Genre
             $found = false;
             foreach ($movie['MovieGenre'] as $db_genre) {
                 if ($db_genre['Genre']['name'] == $genre) {
                     $found = true;
                 }
             }
             if ($found == false) {
                 $genre_object->Movies[] = $movie;
                 $genre_object->save();
             }
         }
     }
     //removing the db genres which are not in the request
     foreach ($movie['MovieGenre'] as $db_genre) {
         $found2 = false;
         foreach ($data['genres'] as $genre) {
             if ($db_genre['Genre']['name'] == $genre) {
                 $found2 = true;
             }
         }
         if ($found2 == false) {
             $q = Doctrine_Query::create()->delete('MovieGenre')->addWhere('movie_id = ?', $db_genre['movie_id'])->andWhere('genre_id = ?', $db_genre['genre_id']);
             $deleted = $q->execute();
         }
     }
     //actors
     foreach ($data['actors'] as $item) {
         $actor_object = Doctrine::getTable('Actor')->findOneByName($item['actor']);
         //if this not exist let's create it
         if ($actor_object == NULL) {
             $actor_object = new Actor();
             $actor_object->name = $item['actor'];
             $actor_object->cover = $util->changePathSeparators($util->makePath(array(sfConfig::get('app_actors_rel'), $util->unformatName($item['actor']) . '.jpg')));
             $actor_object->Movies[] = $movie;
             $actor_object->save();
             $q = Doctrine_Query::create()->from('MovieActor ma')->where('ma.movie_id = ?', $movie['id'])->andWhere('ma.actor_id = ?', $actor_object['id']);
             $movie_actor = $q->execute();
             $movie_actor[0]->role = $item['character'];
             $movie_actor[0]->save();
         } else {
             //check if the movie already has such Actor
             $found = false;
             foreach ($movie['MovieActor'] as $db_actor) {
                 if ($db_actor['Actor']['name'] == $item['actor']) {
                     $found = true;
                 }
             }
             if ($found == false) {
                 $movie_actor = new MovieActor();
                 $movie_actor->actor_id = $actor_object['id'];
                 $movie_actor->movie_id = $movie['id'];
                 $movie_actor->role = $item['character'];
                 $movie_actor->save();
             }
         }
     }
     //removing the db genres which are not in the request
     foreach ($movie['MovieActor'] as $db_actor) {
         $found2 = false;
         foreach ($data['actors'] as $item) {
             if ($db_actor['Actor']['name'] == $item['actor']) {
                 $found2 = true;
             }
         }
         if ($found2 == false) {
             $q = Doctrine_Query::create()->delete('MovieActor')->addWhere('movie_id = ?', $db_actor['movie_id'])->andWhere('actor_id = ?', $db_actor['actor_id']);
         }
         $deleted = $q->execute();
     }
     //var_dump($data);
     exit;
 }
 public function actionEditableCreator()
 {
     if (isset($_POST['Actor'])) {
         $model = new Actor();
         $model->attributes = $_POST['Actor'];
         if ($model->save()) {
             echo CJSON::encode($model->getAttributes());
         } else {
             $errors = array_map(function ($v) {
                 return join(', ', $v);
             }, $model->getErrors());
             echo CJSON::encode(array('errors' => $errors));
         }
     } else {
         throw new CHttpException(400, 'Invalid request');
     }
 }
Exemple #4
0
 /**
  * Creates a new actor and sets the role character
  * Used in /tvshow/actions/updateTVShowFromForm
  *
  * @param TVShow $movie_object
  * @param String $actor
  */
 public static function createActorInTVShow($tvshow_object, $actor)
 {
     $actor_obj = new Actor();
     $actor_obj->name = $actor['actor'];
     $actor_obj->photo = Util::changePathSeparators(Util::makePath(array(sfConfig::get('app_actors_rel'), $actor['actor'] . '.jpg')));
     $actor_obj->TVShows[] = $tvshow_object;
     $actor_obj->save();
     $q = Doctrine_Query::create()->update('TVShowActor ta')->set('ta.role', '?', $actor['character'])->where('ta.tvshow_id = ?', $tvshow_object['id'])->andWhere('ta.actor_id = ?', $actor_obj['id'])->execute();
     return $actor_obj;
 }