예제 #1
0
파일: AddTag.php 프로젝트: sinfocol/gwf3
 public function validate_tag($m, $arg)
 {
     if (Slay_Tag::getByName($arg) !== false) {
         return $m->lang('err_dup_tag');
     }
     return GWF_Validator::validateString($m, 'tag', $arg, 1, 63, true);
 }
예제 #2
0
파일: RenameTag.php 프로젝트: sinfocol/gwf3
 public function validate_tag_new($m, $arg)
 {
     if (false !== Slay_Tag::getByName($arg)) {
         return $m->lang('err_tag_exists');
     }
     return false;
 }
예제 #3
0
파일: Tag.php 프로젝트: sinfocol/gwf3
 private function onTag(Slay_Song $song)
 {
     $form = $this->formTag($song);
     if (false !== ($error = $form->validateCSRF_WeakS())) {
         return $error;
     }
     $tags = array();
     $errors = array();
     foreach ($_POST as $k => $v) {
         if (Common::startsWith($k, 'tag_')) {
             $k = substr($k, 4);
             if (Slay_Tag::getByName($k) === false) {
                 $errors[] = $this->module->lang('err_tag_uk');
             } else {
                 $tags[] = $k;
             }
         }
     }
     if (count($errors) > 0) {
         return GWF_HTML::error('Slaytags', $errors);
     }
     $user = GWF_Session::getUser();
     if (false === Slay_TagVote::clearVotes($song, $user)) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     }
     if (false === Slay_TagVote::addVotes($song, $user, $tags)) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     }
     if (false === $song->computeTags()) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     }
     return $this->module->message('msg_tagged');
 }
예제 #4
0
 private static function defaultTags(Module_Slaytags $module, $dropTables)
 {
     $tags = array('Rock', 'Pop', 'Classic', 'Siddy', 'Metal', 'Punk', 'Dance', 'Raggae', 'HipHop', 'Rap', 'Trance', 'Techno', 'Instrumental', 'Funk', 'Caribian', 'Acapella', 'Country', 'Orchestral', 'DrumAndBass', 'BreakBeat', 'Goa', 'Gabba', 'Ambient', 'Piano', 'Intro', 'Lyrics', 'Progressive', 'Melodic', 'Piano', 'Guitar', 'Bassy', 'Happy', 'Melancholic', 'Minimal', 'Relax', 'Funky', 'Oriental', 'Electro', 'House', 'Game', 'Tribal', 'Slow', 'Fast', 'Medieval', 'Theme', '80s', 'Spheric', 'Blues', 'Jazz', 'Acid');
     $table = GDO::table('Slay_Tag');
     foreach ($tags as $tag) {
         if (false === Slay_Tag::getByName($tag)) {
             if (false === $table->insertAssoc(array('st_id' => 0, 'st_uid' => 0, 'st_name' => $tag), true)) {
                 return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
             }
         }
     }
     return '';
 }