Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function doSubmit() {
- if(!empty($_POST)) {
- $titles = $_POST['title'];
- $urls = $_POST['url'];
- $types = $_POST['type'];
- $sname = $_POST['sname'];
- $surl = $_POST['surl'];
- $email = $_POST['email'];
- if(empty($titles[0]) || empty($urls[0]) || empty($types[0]) || empty($sname) || empty($surl) || empty($email)) {
- $this->error = 'Some fields were not set, please check you filled in all details.';
- } else {
- $surl = $this->purl(str_replace("www.","",$surl),"host");
- $durl = $this->purl(str_replace("www.","",$urls[0]),"host");
- $subContinue = true;
- if($this->blackorwhite == "black" && @mysql_num_rows(mysql_query("SELECT url FROM wcddl_blacklist WHERE url = '".mysql_real_escape_string($surl)."'"))) {
- $subContinue = false;
- $this->error = 'You have been blacklisted for the reasons ^^ then <a href="/contact.php">email</a> the admin for more information.';
- }
- if($surl != $durl) {
- $subContinue = false;
- $this->error .= 'Download URL does not match Site URL.';
- }
- $this->processHook("submitChecks");
- $checksPass = array(
- 'status' => $subContinue,
- 'site' => array(
- 'sname' => $sname,
- 'surl' => $surl,
- 'email' => $email
- ),
- 'downloads' => array(
- 'titles' => $titles,
- 'urls' => $urls,
- 'types' => $types
- )
- );
- // Var names getting lengthy here :o
- $subContinueHook = $this->processDataHook("submitChecksPass",$checksPass);
- $subContinue = isset($subContinueHook['status']) ? $subContinueHook['status'] : $subContinue;
- if($subContinue) {
- $inserted = array('details' => array(), 'downloads' => array());
- $checkSite = mysql_query("SELECT id FROM wcddl_sites WHERE url = '".mysql_real_escape_string($surl)."'");
- if(@mysql_num_rows($checkSite)) {
- $checkSite = mysql_result($checkSite,0);
- } else {
- $checkSite = false;
- $pass=alphanumericPass();
- mysql_query("INSERT INTO wcddl_sites (name,url,email,password) VALUES ('".mysql_real_escape_string($sname)."','".mysql_real_escape_string($surl)."','".mysql_real_escape_string($email)."','".md5($pass)."')");
- sendwelcomeemail($email,$surl,$pass);
- }
- $sid = ($checkSite) ? $checkSite : mysql_insert_id();
- $inserted['details'] = array(
- "sname" => $sname,
- "surl" => $surl,
- "email" => $email,
- "sid" => $sid
- );
- // 24 hour mod start, rewritten and optimized by Chris.
- //Get time and call for last 24 hr time stamp.
- $Time = time();
- $Day = (60*60*24);
- $Time = ($Time - $Day);
- $Site = mysql_real_escape_string($_POST['sname']);
- //Lookup site and get its ID for next 2 queries
- $querySite = ("SELECT * FROM wcddl_sites WHERE name='$Site'");
- $resultSite = mysql_query($querySite);
- $rowSite = mysql_fetch_array($resultSite);
- //Get number of downloads already stored within last 24hrs
- $queryDownloads = ("SELECT * FROM wcddl_downloads WHERE sid='$rowSite[id]' and dat > '$Time'");
- $resultDownloads = mysql_query($queryDownloads);
- $countDownloads = mysql_num_rows($resultDownloads);
- //Get number of downloads in queue already stored within last 24hrs
- $queryQueue = ("SELECT * FROM wcddl_queue WHERE sid='$rowSite[id]'");
- $resultQueue = mysql_query($queryQueue);
- if (!$countQueue = mysql_num_rows($resultQueue)) {
- //If nothing in queue and mysql_num_rows returns false, set to 0
- $countQueue = 0;
- }
- //Get total count of everything submitted in last 24 hrs (inc queued items that have been submitted anytime)
- $totalCount = ($countQueue + $countDownloads);
- for($i=0;$i<=count($titles)-1;$i++) { // loop thru the input fields
- if(!$this->allow_dupes) { // check for dupe titles or urls
- unset($downDupe);
- $downDupe = mysql_query("SELECT COUNT(*) FROM wcddl_downloads WHERE url = '".mysql_real_escape_string($urls[$i])."'");
- $downDupe = mysql_result($downDupe,0);
- if($downDupe < 1)
- unset($downDupe);
- } // dupe check end
- //Check each row of fields is set
- if(!empty($titles[$i]) && !empty($urls[$i]) && !empty($types[$i]) && (in_array(strtolower($types[$i]),$this->allowed_types) || in_array($types[$i],$this->allowed_types)) && !isset($downDupe)) {
- //If total submitted items more than allowed.
- if ($totalCount >= $this->Limit) {
- //Print error, break out and process no more
- $this->Output = '<center><div class="error_message">You can not submit any more downloads as you have reached your daily limit.</div></center>';
- break;
- }
- //All set so insert details.
- mysql_query("INSERT INTO wcddl_queue (sid,title,type,url) VALUES ('".mysql_real_escape_string($sid)."','".mysql_real_escape_string($titles[$i])."','".mysql_real_escape_string($types[$i])."','".mysql_real_escape_string($urls[$i])."')");
- $totalCount++;
- $amountLeft = ($this->Limit - $totalCount);
- $this->Output = '<center><div class="success_message">'.$totalCount.' downloads were successfully submitted in the last 24 hours!<br>
- You have '.$amountLeft.' of '.$this->Limit.' submissions left.</div></center>';
- // 24 hour mod end, rewritten and optimized by Chris.
- $inserted['downloads'][] = array(
- "title" => $titles[$i],
- "url" => $urls[$i],
- "type" => $types[$i],
- );
- }
- }
- $subSuccessHook = $this->processDataHook("submitSuccess",$inserted);
- $subSuccess = '<center><div class="success_message">Downloads submitted successfully!</div></center>';
- }
- }
- }
- $this->processHook("submitEnd");
- return $subSuccess;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement