예제 #1
0
파일: MovieStar.php 프로젝트: nbaiwan/yav
 /**
  * 强制更新缓存
  */
 public function updateCache()
 {
     //
     self::$__stars = null;
     //
     if (isset($this->cache)) {
         self::$__stars = self::readStarsArray();
         $this->cache->set('movie.stars', self::$__stars);
     }
     return true;
 }
예제 #2
0
파일: Star.php 프로젝트: nbaiwan/yav
 /**
  * Manages all models.
  */
 public function indexAction()
 {
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         //保存修改
         $old_star = MovieStarModel::inst()->getStarById($_k);
         if (!is_array($_POST['Star']['star_name'])) {
             $_POST['Star']['star_name'] = array();
         }
         foreach ($_POST['Star']['star_name'] as $_k => $_v) {
             $flag = $this->db->update('{{movie_stars}}', array('star_name' => $_v, 'star_english_name' => $_POST['Star']['star_english_name'][$_k], 'star_rank' => $_POST['Star']['star_rank'][$_k]), 'star_id=:star_id', array('star_id' => $_k));
             if ($flag) {
                 $this->db->update('{{movie_stars}}', array('star_lasttime' => $_SERVER['REQUEST_TIME']), 'star_id=:star_id', array('star_id' => $_k));
                 //记录操作日志
                 $message = '{user_name}修改了地区{star_name}';
                 $data = array('star_name' => $_v, 'data' => array('old' => $old_star, 'new' => $_POST));
                 UserLogsModel::inst()->add('Movie/Star', $_k, 'Modify', 'success', $message, $data);
             }
         }
         //添加新记录
         if (!is_array($_POST['Star']['new_star_name'])) {
             $_POST['Star']['new_star_name'] = array();
         }
         foreach ($_POST['Star']['new_star_name'] as $_k => $_v) {
             if (is_array($_v)) {
                 foreach ($_v as $__k => $__v) {
                     $flag = $this->db->insert('{{movie_stars}}', array('star_id' => '', 'star_name' => $__v, 'star_english_name' => $_POST['Star']['new_star_english_name'][$_k][$__k], 'star_rank' => $_POST['Star']['new_star_rank'][$_k][$__k], 'star_status' => MovieStarModel::STAT_STATUS_NORMAL, 'star_lasttime' => $_SERVER['REQUEST_TIME'], 'star_dateline' => $_SERVER['REQUEST_TIME']));
                     if ($flag) {
                         //记录操作日志
                         $message = '{user_name}添加了电影明星{star_name}';
                         $data = array('star_name' => $__v, 'data' => $_POST['Star']);
                         UserLogsModel::inst()->add('Movie/Star', $this->db->getLastInsertID(), 'Insert', 'success', $message, $data);
                     }
                 }
             } else {
                 $flag = $this->db->insert('{{movie_stars}}', array('star_id' => '', 'star_name' => $_v, 'star_english_name' => $_POST['Star']['new_star_english_name'][$_k], 'star_rank' => $_POST['Star']['new_star_rank'][$_k], 'star_status' => MovieStarModel::STAT_STATUS_NORMAL, 'star_lasttime' => $_SERVER['REQUEST_TIME'], 'star_dateline' => $_SERVER['REQUEST_TIME']));
                 if ($flag) {
                     //记录操作日志
                     $message = '{user_name}添加了电影明星{star_name}';
                     $data = array('star_name' => $_v, 'data' => $_POST);
                     UserLogsModel::inst()->add('Movie/Star', $this->db->getLastInsertID(), 'Insert', 'success', $message, $data);
                 }
             }
         }
         MovieStarModel::inst()->updateCache();
         $this->redirect('/movie/star/index');
     }
     $this->getView()->assign(array('stars' => MovieStarModel::inst()->getStarsByCache()));
 }