403Webshell
Server IP : 195.130.67.5  /  Your IP : 216.73.216.231
Web Server : Microsoft-IIS/10.0
System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586
User : IUSR ( 0)
PHP Version : 7.4.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/inetpub/wwwroot/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/inetpub/wwwroot/includes/Newsletter.php
<?
////////////////////////////////////////////////////////////////////////////////////////
// Class: Newsletter
// Purpose: Κλάση Newsletter
///////////////////////////////////////////////////////////////////////////////////////

class Newsletter
{
	private $connector;

	public function __construct($connector)
	{
		$this->connector = $connector;
	}

	// Επιστρέφει τα στοιχεία του newsletter με το δεδομένο id
	public function getNewsletterById($id)
	{
		$result = $this->connector->query("SELECT * FROM newsletter_emails WHERE id=".$id);
		return $this->connector->fetchArray($result);
	}

	// Εισάγει το νέο newsletter
	public function insertNewsletter($template_id, $subject, $fromname, $fromemail, $sendto, $body, $attachments, $create_date, $send_date, $author_id)
	{
		$result = $this->connector->query("INSERT INTO newsletter_emails (template_id, subject, fromname, fromemail, sendto, body, attachments, create_date, send_date, author_id) VALUES ($template_id, '$subject', '$fromname', '$fromemail', '$sendto', '$body', '$attachments', '$create_date', '$send_date', $author_id)");
		
		return $result;
	}	

	// Ενημερώνει τα στοιχεία του συγκεκριμένου newsletter
	public function updateNewsletter($id, $template_id, $subject, $fromname, $fromemail, $sendto, $body, $attachments)
	{
		$result = $this->connector->query("UPDATE newsletter_emails SET template_id=$template_id, subject='$subject', fromname='$fromname', fromemail='$fromemail', sendto='$sendto', body='$body', attachments='$attachments' WHERE id=".$id);

		return $result;
	}

	// Ενημερώνει την ημερομηνία αποστολής του συγκεκριμένου newsletter
	public function updateNewsletterSendDate($id)
	{
		$result = $this->connector->query("UPDATE newsletter_emails SET send_date=NOW() WHERE id=".$id);

		return $result;
	}

	// Διαγραφή του newsletter με το συγκεκριμένο id
	public function deleteNewsletter($id)
	{
		$result = $this->connector->query("DELETE FROM newsletter_emails WHERE id=".$id);	
		return $result;
	}

	// Επιστρέφει τα στοιχεία του συνδρομητή με το δεδομένο id
	public function getSubscriberById($id)
	{
		$result = $this->connector->query("SELECT * FROM newsletter_subscribers WHERE id=".$id);
		return $this->connector->fetchArray($result);
	}

	// Ελέγχει για την ύπαρξη συνδρομητή με το δοσμένο email
	public function emailExists($email)
	{
		$result = $this->connector->query("SELECT * FROM newsletter_subscribers WHERE email='$email'");
		return (mysqli_num_rows($result )>0?true:false);
	}
	
	// Καταχωρεί το συγκεκριμένο συνδρομητή (front-end)
	public function insertSubscriber($name, $email, $ip, $activation, $require_confirmation=0)
	{
		if ($require_confirmation==0)  // Λογαριασμός ενεργοποιημένος από την αρχή
		{
			$user_activated = 1;
			$activation_code = "";
		}
		else if ($require_confirmation==1)  // Ενεργοποίηση λογαριασμού μέσω e-mail
		{
			$user_activated = 0;
			$activation_code = $activation;
		}

		$result = $this->connector->query("INSERT INTO newsletter_subscribers (name, email, state, ip, subscribe_date,  activation) VALUES ('$name', '$email', $user_activated, '$ip', NOW(), '$activation_code')");

		return $result;
	}

	// Καταχωρεί το συγκεκριμένο συνδρομητή (back-end)
	public function insertNewSubscriber($name, $email, $ip, $state, $subscribe_date)
	{
		$result = $this->connector->query("INSERT INTO newsletter_subscribers (name, email, ip, state, subscribe_date) VALUES ('$name', '$email','$ip','$state', '$subscribe_date')");

		return $result;
	}	

	// Ενημερώνει τα στοιχεία του συγκεκριμένου συνδρομητή
	public function updateSubscriber($id, $name, $email, $state)
	{
		$result = $this->connector->query("UPDATE newsletter_subscribers SET name='$name', email='$email', state='$state' WHERE id=".$id);

		return $result;
	}
	
	// Ενεργοποιεί το συγκεκριμένο συνδρομητή
	public function activateSubscriber($activation_code)
	{
		$result = $this->connector->query("UPDATE newsletter_subscribers SET activation=NULL, state=1 WHERE activation='$activation_code'");
		if (mysqli_affected_rows($this->connector->link)>0)
			return true;
		else
			return false;
	}
	
	// Διαγραφή του συνδρομητή με το συγκεκριμένο id
	public function deleteSubscriber($id)
	{
		$result = $this->connector->query("DELETE FROM newsletter_subscribers WHERE id=".$id);	
		return $result;
	}
	
	// Εναλλάσει τη κατάσταση (ενεργός/ανενεργός) του συνδρομητή με το συγκεκριμένο id
	public function toggleSubscriberState($id)
	{
		$myrow = $this->getSubscriberById($id);
		
		if ($myrow["state"]==1)
			$new_state = 0;
		else
			$new_state = 1;

		$result = $this->connector->query("UPDATE newsletter_subscribers SET state='$new_state' WHERE id=".$id);
		return $result;
	}

	// Επιστρέφει πίνακα με όλους τους συνδρομητές
	public function getAllActiveSubscribers()
	{
		$subscribers_array = array();
		
		$result = $this->connector->query("SELECT id, name, email FROM newsletter_subscribers WHERE state=1");
		
		while ($myrow = $this->connector->fetchAssoc($result))	
		{
			if ($myrow["email"]!="")
				$subscribers_array[] = $myrow;
		}

		return $subscribers_array;
	}

	// Επιστρέφει πίνακα με όλα τα email των συνδρομητών
	public function getAllEmails()
	{
		$emails_array = array();
		
		$result = $this->connector->query("SELECT DISTINCT email FROM newsletter_subscribers");
		
		while ($myrow = $this->connector->fetchArray($result))	
		{
			if ($myrow["email"]!="")
				$emails_array[] = $myrow["email"];
		}

		return $emails_array;
	}

	// Επιστρέφει τα στοιχεία του template με το δεδομένο id
	public function getTemplateById($id)
	{
		$result = $this->connector->query("SELECT * FROM newsletter_templates WHERE id=".$id);
		return $this->connector->fetchArray($result);
	}

	// Επιστρέφει πίνακα με όλα τα templates των newsletter
	public function getAllTemplates()
	{
		$templates_array = array();
		
		$result = $this->connector->query("SELECT * FROM newsletter_templates ORDER BY title");
		
		while ($myrow = $this->connector->fetchArray($result))	
		{
			$templates_array[] = $myrow;
		}

		return $templates_array;
	}

	// Εισάγει το νέο template
	public function insertTemplate($title, $description, $body, $thumbnail)
	{
		$result = $this->connector->query("INSERT INTO newsletter_templates (title, description, body, thumbnail) VALUES ('$title', '$description', '$body', '$thumbnail')");

		return $result;
	}	

	// Ενημερώνει τα στοιχεία του συγκεκριμένου template
	public function updateTemplate($id, $title, $description, $body, $thumbnail)
	{
		$result = $this->connector->query("UPDATE newsletter_templates SET title='$title', description='$description', body='$body', thumbnail='$thumbnail' WHERE id=".$id);

		return $result;
	}

	// Διαγραφή του template με το συγκεκριμένο id
	public function deleteTemplate($id)
	{
		$result = $this->connector->query("DELETE FROM newsletter_templates WHERE id=".$id);	
		return $result;
	}
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit