예제 #1
0
 protected function process()
 {
     $torrent = new Transform_Torrent($this->file);
     if (!$torrent->is_valid()) {
         throw new Error_Upload(Error_Upload::NOT_A_TORRENT);
     }
     $torrent->delete('announce-list');
     $torrent->set('announce', def::tracker('announce'));
     $data = $torrent->encode();
     $hash = $torrent->get_hash();
     $post_id = Database::get_field('post_torrent', 'post_id', 'hash = ?', $hash);
     if ($post_id) {
         throw new Error_Upload(Error_Upload::ALREADY_EXISTS);
     }
     $filename = pathinfo(urldecode($this->name), PATHINFO_FILENAME);
     $filename = Transform_File::make_name($filename);
     $filename = substr($filename, 0, 200) . '.torrent';
     if (!is_dir(FILES . SL . 'torrent' . SL . $hash)) {
         mkdir(FILES . SL . 'torrent' . SL . $hash, 0755);
     }
     $newfile = FILES . SL . 'torrent' . SL . $hash . SL . $filename;
     file_put_contents($newfile, $data);
     $size = $torrent->get_size();
     $size = Transform_File::weight_short($size);
     $return_data = '<input size="24%" type="text" name="torrent[0][name]" value="Скачать" />:' . "\n" . '<input readonly size="24%" type="text" name="torrent[0][file]" value="' . $filename . '" />' . "\n" . '<input type="hidden" name="torrent[0][hash]" value="' . $hash . '" />' . "\n" . '<input readonly size="4%" type="text" name="torrent[0][size]" value="' . $size . '" />' . "\n" . '<input type="submit" class="disabled sign remove_link" rel="torrent" value="-" />';
     $this->set(array('success' => true, 'data' => $return_data, 'file' => $filename, 'hash' => $hash, 'name' => 'Скачать', 'size' => $size));
 }
예제 #2
0
파일: art.php 프로젝트: 4otaku/4otaku
 protected function check_resize($target)
 {
     $resized = false;
     $this->sizes = $this->worker->get_image_width() . 'x' . $this->worker->get_image_height();
     $resize_width = def::art('resizewidth') * def::art('resizestep');
     if ($this->worker->get_image_width() > $resize_width || $this->info[0] > $resize_width) {
         if ($this->scale(def::art('resizewidth'), $target, 95, false)) {
             $resized = $this->sizes;
         }
     } elseif ($sizefile > def::art('resizeweight')) {
         if ($this->scale(false, $target, 95, false)) {
             $resized = $this->sizes;
         }
     }
     if (!empty($resized)) {
         $resized .= 'px; ' . Transform_File::weight_short($this->size);
     }
     return $resized;
 }