| 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/Civil/includes/ |
Upload File : |
<?
////////////////////////////////////////////////////////////////////////////////////////
// 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;
}
}
?>