예제 #1
0
파일: Fun.php 프로젝트: xandros15/Saya-Bot
 private function shortIt($url, $md5)
 {
     if (!self::API_SHORT) {
         return $url;
     }
     parent::RedBeanConnect('short');
     if ($fetch = @R::findOne('short_url', '`title` = ?', [$md5])) {
         return self::API_SHORT . $fetch->keyword;
     }
     $timestamp = date('Y-m-d H:i:s');
     do {
         $uniq = '';
         $base = strtolower(hash('sha256', uniqid()));
         while (strlen($uniq) < 8) {
             $uniq .= substr($base, (int) -(strlen($base) / (1 + strlen($uniq))), 1);
         }
     } while (@R::findOne('short_url', '`keyword` = ?', [$uniq]));
     $sql = 'INSERT INTO `short`.`short_url` ';
     $sql .= "(`keyword`, `url`, `title`, `timestamp`, `ip`, `clicks`) ";
     $sql .= "VALUES ('{$uniq}', '{$url}', '{$md5}', '{$timestamp}', '";
     $sql .= getHostByName(getHostName()) . "', '0')";
     R::exec($sql);
     R::close();
     return 'http://exsubs.anidb.pl/short/' . $uniq;
 }
예제 #2
0
 private function createTable()
 {
     parent::RedBeanConnect(self::DB_NAME);
     $sql = 'CREATE TABLE IF NOT EXISTS `' . self::TB_NAME . '`(';
     $sql .= '`id` int(10) NOT NULL AUTO_INCREMENT,';
     $sql .= '`name` varchar(25),';
     $sql .= '`orginal` varchar(45) NOT NULL,';
     $sql .= '`icon` varchar(100) NOT NULL,';
     $sql .= '`link` varchar(100) NOT NULL,';
     $sql .= '`linkgc` varchar(100) NOT NULL,';
     $sql .= 'PRIMARY KEY (`id`)';
     $sql .= ') ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;';
     $sql = trim($sql);
     R::exec($sql);
     R::close();
 }