$ffa[] = $ffe["value"]; } if (!count($ffa)) { bark("filename error"); } $ffe = implode("/", $ffa); $filelist[] = array($ffe, $ll); } $type = "multi"; } $infohash = pack("H*", sha1($info["string"])); unset($info); // Replace punctuation characters with spaces $torrent = str_replace("_", " ", $torrent); #Morgan: Add version insert if applicable $version_id = get_version_id_for_torrent($version_torrent_id, 0); $ret = mysql_query("INSERT INTO torrents (search_text, filename, owner, visible, info_hash, name, size, numfiles, type,descr, ori_descr, category,license, save_as, added, last_action, nfo, client_created_by, version) VALUES (" . implode(",", array_map("sqlesc", array(searchfield("{$shortfname} {$dname} {$torrent}"), $fname, $CURUSER["id"], "no", $infohash, $torrent, $totallen, count($filelist), $type, $descr, $descr, $catid, $lic_id, $dname))) . ", " . time() . ", " . time() . ", {$nfo}, {$tmaker}, {$version_id})"); if (!$ret) { if (mysql_errno() == 1062) { bark("torrent already uploaded!"); } bark("mysql puked: " . mysql_error()); } $id = mysql_insert_id(); @mysql_query("DELETE FROM files WHERE torrent = {$id}"); function file_list($arr, $id) { foreach ($arr as $v) { $new[] = "({$id}," . sqlesc($v[0]) . "," . $v[1] . ")"; } return join(",", $new);
$res = mysql_query("SELECT owner, filename, save_as FROM torrents WHERE id = {$id}"); $row = mysql_fetch_assoc($res); if (!$row) { die; } if ($CURUSER["id"] != $row["owner"] && $CURUSER['class'] < UC_MODERATOR) { bark("You're not the owner! How did that happen?\n"); } $updateset = array(); $fname = $row["filename"]; preg_match('/^(.+)\\.torrent$/si', $fname, $matches); $shortfname = $matches[1]; $dname = $row["save_as"]; $version_action = $_POST['version_action']; if ($version_action == 'update') { $version_id = get_version_id_for_torrent($_POST['version'], $id); $updateset[] = "version = " . $version_id; } else { if ($version_action == 'remove') { $updateset[] = 'version = 0'; } } $updateset[] = "name = " . sqlesc($name); $updateset[] = "search_text = " . sqlesc(searchfield("{$shortfname} {$dname} {$name}")); $updateset[] = "descr = " . sqlesc($descr); $updateset[] = "ori_descr = " . sqlesc($descr); $updateset[] = "category = " . (0 + $type); $updateset[] = "license = " . (0 + $lic); //if ($CURUSER["admin"] == "yes") { if ($CURUSER['class'] > UC_MODERATOR) { if (isset($_POST["banned"])) {