예제 #1
0
         if ($EpisodeChanged) {
             $TagName = CGUtils::checkEpisodeTagName("movie#{$insert['episode']}");
             $MovieTag = $CGDb->where('name', $editing ? "movie#{$Episode->episode}" : $TagName)->getOne('tags', 'tid');
             if (!empty($MovieTag)) {
                 if ($editing) {
                     $CGDb->where('tid', $MovieTag['tid'])->update('tags', array('name' => $TagName));
                 }
             } else {
                 if (!$CGDb->insert('tags', array('name' => $TagName, 'type' => 'ep'))) {
                     Response::dbError('Episode tag creation failed');
                 }
             }
         }
     } else {
         if ($SeasonChanged || $EpisodeChanged) {
             $TagName = CGUtils::checkEpisodeTagName("s{$insert['season']}e{$insert['episode']}");
             $EpTag = $CGDb->where('name', $editing ? "s{$Episode->season}e{$Episode->episode}" : $TagName)->getOne('tags', 'tid');
             if (!empty($EpTag)) {
                 if ($editing) {
                     $CGDb->where('tid', $EpTag['tid'])->update('tags', array('name' => $TagName));
                 }
             } else {
                 if (!$CGDb->insert('tags', array('name' => $TagName, 'type' => 'ep'))) {
                     Response::dbError('Episode tag creation failed');
                 }
             }
         }
     }
 }
 if ($editing) {
     $logentry = array('target' => $Episode->formatTitle(AS_ARRAY, 'id'));
예제 #2
0
             foreach ($TargetTagged as $tg) {
                 Appearances::updateIndex($tg['ponyid']);
             }
         }
     } else {
         $keep_tagged = false;
     }
     if (!$CGDb->where('tid', $Tag['tid'])->update('tags', array('synonym_of' => null, 'uses' => $uses))) {
         Response::dbError();
     }
     Response::done(array('keep_tagged' => $keep_tagged));
     break;
 case 'make':
 case 'set':
     $data['name'] = CGUtils::validateTagName('name');
     $epTagName = CGUtils::checkEpisodeTagName($data['name']);
     $surelyAnEpisodeTag = $epTagName !== false;
     $type = (new Input('type', function ($value) {
         if (!isset(Tags::$TAG_TYPES_ASSOC[$value])) {
             return Input::ERROR_INVALID;
         }
     }, array(Input::IS_OPTIONAL => true, Input::CUSTOM_ERROR_MESSAGES => array(Input::ERROR_INVALID => 'Invalid tag type: @value'))))->out();
     if (empty($type)) {
         if ($surelyAnEpisodeTag) {
             $data['name'] = $epTagName;
         }
         $data['type'] = $epTagName === false ? null : 'ep';
     } else {
         if ($type == 'ep') {
             if (!$surelyAnEpisodeTag) {
                 $errmsg = <<<HTML