| 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/teachers/includes/ |
Upload File : |
<?
////////////////////////////////////////////////////////////////////////////////////////
// Class: ControlSystem
// Purpose: Γενική κλάση του cms
///////////////////////////////////////////////////////////////////////////////////////
class ControlSystem
{
private $connector;
public function __construct($db)
{
$this->connector = $db;
}
// Δημιουργεί τα hidden fields της φόρμας categories_list_form που χρησιμοποιούνται από την javascript για ενημέρωση των πεδίων των ιδιοτήτων της κάθε κατηγορίας
public function resetParameters($control, $subcontrol)
{
$params_array = array();
if ($control==1 or $control==2)
{
$params_array["start"] = 0;
$params_array["content_category"] = -1;
$params_array["content_state"] = -1;
$params_array["article_type"] = 0;
if ($subcontrol==1 or $subcontrol==2 or $subcontrol==3)
{
$params_array["table_ordering"] = "created DESC, id";
$params_array["order_type"] = "DESC";
}
else if ($subcontrol==4)
{
$params_array["table_ordering"] = "id";
$params_array["order_type"] = "ASC";
}
}
else if ($control==3)
{
$params_array["start"] = 0;
$params_array["content_category"] = -1;
$params_array["content_state"] = -1;
$params_array["table_ordering"] = "fullname";
$params_array["order_type"] = "ASC";
}
else if ($control==5)
{
$params_array["start"] = 0;
$params_array["module_type"] = -1;
$params_array["module_position"] = -1;
$params_array["content_state"] = -1;
$params_array["table_ordering"] = "position ASC, sort_order";
$params_array["order_type"] = "ASC";
}
else if ($control==7)
{
$params_array["start"] = 0;
$params_array["content_category"] = -1;
$params_array["content_state"] = -1;
if ($subcontrol==1)
{
$params_array["table_ordering"] = "sort_order";
$params_array["order_type"] = "ASC";
}
else if ($subcontrol==2)
{
$params_array["table_ordering"] = "id";
$params_array["order_type"] = "DESC";
}
}
else if ($control==8)
{
$params_array["start"] = 0;
$params_array["content_category"] = -1;
$params_array["content_state"] = -1;
$params_array["table_ordering"] = "sort_order";
$params_array["order_type"] = "ASC";
if ($subcontrol==2)
$params_array["table_ordering"] = "category_id ASC, sort_order";
}
else if ($control==9)
{
$params_array["start"] = 0;
$params_array["content_state"] = -1;
if ($subcontrol==1 or $subcontrol==2)
{
$params_array["table_ordering"] = "id";
$params_array["order_type"] = "DESC";
}
else if ($subcontrol==3)
{
$params_array["table_ordering"] = "title";
$params_array["order_type"] = "ASC";
}
}
return $params_array;
}
// Καθορίζει την τρέχουσα κατηγορία ελέγχου του cms
public function defineCurrentControl($control)
{
if (!empty($control))
{
$control = (int) $control;
if (!in_array($control, array(1,2,3,4,5,6,7,8,9)))
{
if ($_SESSION["cms_perm_backend_manage_own_articles"]==1 or $_SESSION["cms_perm_backend_manage_all_articles"]==1)
$control = 2;
else
$control = 3;
}
}
else
{
if (isset($_SESSION["cms_control"]))
{
$control = $_SESSION["cms_control"];
}
else
{
if ($_SESSION["cms_perm_backend_manage_own_articles"]==1 or $_SESSION["cms_perm_backend_manage_all_articles"]==1)
$control = 2;
else
$control = 3;
}
}
return $control;
}
// Καθορίζει την τρέχουσα υποκατηγορία ελέγχου του cms
public function defineCurrentSubControl($subcontrol)
{
if (!empty($subcontrol))
{
$subcontrol = (int) $subcontrol;
if ($subcontrol==0)
$subcontrol = 1;
}
else
{
if (isset($_SESSION["cms_subcontrol"]))
$subcontrol = $_SESSION["cms_subcontrol"];
else
$subcontrol = 1;
}
return $subcontrol;
}
// Καθορίζει την τρέχουσα κατηγορία τιμή εκκίνησης των σελιδοποιήσεων
public function defineCurrentPaginationStart($start)
{
if (!empty($start) or $start==0)
{
$start = (int) $start;
}
else
{
if (isset($_SESSION["cms_start"]))
$start = $_SESSION["cms_start"];
else
$start = 0;
}
return $start;
}
// Καθορίζει την τρέχουσα κατηγορία του προβαλόμενου περιεχομένου
public function defineCurrentContentCategory($content_category)
{
if (!empty($content_category))
{
$content_category = (int) $content_category;
}
else
{
if (isset($_SESSION["cms_content_category"]))
$content_category = $_SESSION["cms_content_category"];
else
$content_category = -1;
}
return $content_category;
}
// Καθορίζει το προβαλόμενο περιεχομένο με βάση τον τίτλο
public function defineCurrentContentTitle($content_title)
{
if (!isset($content_title))
{
if (isset($_SESSION["cms_content_title"]))
$content_title = $_SESSION["cms_content_title"];
else
$content_title = "";
}
return $content_title;
}
// Καθορίζει την τρέχουσα κατάσταση (ενεργή-ανενεργή) του προβαλόμενου περιεχομένου
public function defineCurrentContentState($content_state)
{
if (!empty($content_state) or $content_state=="0")
{
$content_state = (int) $content_state;
}
else
{
if (isset($_SESSION["cms_content_state"]))
$content_state = $_SESSION["cms_content_state"];
else
$content_state = -1;
}
return $content_state;
}
// Καθορίζει τον τρέχων τύπο (άρθρο-σύνδεσμος) του προβαλόμενου περιεχομένου
public function defineCurrentArticleType($article_type)
{
if (!empty($article_type) or $article_type=="0")
{
$article_type = (int) $article_type;
}
else
{
if (isset($_SESSION["cms_article_type"]))
$article_type = $_SESSION["cms_article_type"];
else
$article_type = 0;
}
return $article_type;
}
// Καθορίζει την τρέχουσα θέση των προβαλόμενων modules
public function defineCurrentModulePosition($module_position)
{
if (!empty($module_position))
{
$module_position = (int) $module_position;
}
else
{
if (isset($_SESSION["cms_module_position"]))
$module_position = $_SESSION["cms_module_position"];
else
$module_position = -1;
}
return $module_position;
}
// Καθορίζει το τρέχων είδος των προβαλόμενων modules
public function defineCurrentModuleType($module_type)
{
if (!empty($module_type))
{
$module_type = (int) $module_type;
}
else
{
if (isset($_SESSION["cms_module_type"]))
$module_type = $_SESSION["cms_module_type"];
else
$module_type = -1;
}
return $module_type;
}
// Καθορίζει το πεδίο ταξινόμησης του προβαλόμενου περιεχομένου
public function defineCurrentTableOrdering($table_ordering)
{
if (empty($table_ordering))
{
if (isset($_SESSION["cms_table_ordering"]))
{
$table_ordering = $_SESSION["cms_table_ordering"];
}
else
{
if ($_SESSION["cms_control"]==2)
$table_ordering = "content.created DESC, content.id";
else if ($_SESSION["cms_control"]==3)
$table_ordering = "name";
else if ($_SESSION["cms_control"]==5)
$table_ordering = "sort_order";
if ($_SESSION["cms_control"]==7)
$table_ordering = "sort_order";
}
}
return $table_ordering;
}
// Καθορίζει τη σειρά ταξινόμησης του προβαλόμενου περιεχομένου
public function defineCurrentTableOrderType($order_type)
{
if ($order_type!="ASC" and $order_type!="DESC")
{
if (isset($_SESSION["cms_order_type"]))
{
$order_type = $_SESSION["cms_order_type"];
}
else
{
if ($_SESSION["cms_control"]==2 or $_SESSION["cms_control"]==7)
$order_type = "DESC";
else if ($_SESSION["cms_control"]==3 or $_SESSION["cms_control"]==5)
$order_type = "ASC";
}
}
return $order_type;
}
// Καθορίζει τον τρέχων αριθμό προβαλόμενων αποτελεσμάτων ανά σελίδα
public function defineCurrentResultsPerPage($results_per_page)
{
if (isset($results_per_page))
{
$results_per_page = (int) $results_per_page;
}
else
{
if (isset($_SESSION["cms_results_per_page"]))
$results_per_page = $_SESSION["cms_results_per_page"];
else
$results_per_page = 20;
}
return $results_per_page;
}
// Επιστρέφει πίνακα που περιέχει όλα τα πεδία (όνομα, περιγραφή πεδίου, τύπο πεδίου και μέγεθος πεδίου) του δεδομένου $reference_table που υπόκεινται σε μετάφραση
public function getFieldsForTranslation($reference_table, $param="")
{
if ($reference_table == "categories") // Κατηγορίες
{
$fields_array[] = array('field_name'=>'title', 'field_label'=>'Τίτλος', 'field_type'=>'text', 'maxlength'=>'255');
$fields_array[] = array('field_name'=>'description', 'field_label'=>'Περιγραφή', 'field_type'=>'textarea', 'rows'=>'6');
}
else if ($reference_table == "content") // Άρθρα-Σύνδεσμοι
{
$fields_array[] = array('field_name'=>'title', 'field_label'=>'Τίτλος', 'field_type'=>'text', 'maxlength'=>'255');
if ($param==0) // Άρθρα
{
$fields_array[] = array('field_name'=>'summary', 'field_label'=>'Περίληψη', 'field_type'=>'textarea', 'rows'=>'6');
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Πλήρες Κείμενο', 'field_type'=>'rte', 'height'=>'350');
}
else if ($param==1) // Σύνδεσμοι
{
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Περιγραφή', 'field_type'=>'textarea', 'rows'=>'6');
}
}
else if ($reference_table == "modules") // Ενθέματα
{
$fields_array[] = array('field_name'=>'title', 'field_label'=>'Τίτλος', 'field_type'=>'text', 'maxlength'=>'255');
if ($param==1) // mod_custom
{
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Περιεχόμενο', 'field_type'=>'rte', 'height'=>'200');
}
else if ( $param==2) // mod_search
{
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Κείμενο', 'field_type'=>'textarea', 'rows'=>'4');
}
else if ( $param==5) // mod_rss
{
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Κείμενο', 'field_type'=>'text', 'height'=>'200');
}
else if ( $param==17) // mod_photoslider
{
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Χαρακτηριστικά εικόνων', 'field_type'=>'textarea', 'rows'=>'6');
}
else if ( $param==19) // mod_newsletter
{
$fields_array[] = array('field_name'=>'body', 'field_label'=>'Συνοδευτικό κείμενο', 'field_type'=>'text', 'height'=>'200');
}
}
else if ($reference_table == "photogalleries_cats" or $reference_table == "photogalleries") // Φωτογραφικά άλμπουμ
{
$fields_array[] = array('field_name'=>'title', 'field_label'=>'Τίτλος', 'field_type'=>'text', 'maxlength'=>'255');
$fields_array[] = array('field_name'=>'description', 'field_label'=>'Περιγραφή', 'field_type'=>'rte', 'height'=>'100');
}
else if ($reference_table == "contacts_cats") // Κατηγορίες επαφών
{
$fields_array[] = array('field_name'=>'title', 'field_label'=>'Τίτλος', 'field_type'=>'text', 'maxlength'=>'255');
$fields_array[] = array('field_name'=>'description', 'field_label'=>'Περιγραφή', 'field_type'=>'rte', 'height'=>'100');
}
else if ($reference_table == "contacts") // Επαφές
{
$fields_array[] = array('field_name'=>'title', 'field_label'=>'Όνομα', 'field_type'=>'text', 'maxlength'=>'255');
$fields_array[] = array('field_name'=>'address', 'field_label'=>'Διεύθυνση', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'city', 'field_label'=>'Πόλη', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'country', 'field_label'=>'Χώρα', 'field_type'=>'text', 'maxlength'=>'50');
$fields_array[] = array('field_name'=>'zipcode', 'field_label'=>'Ταχυδρομικός κώδικας', 'field_type'=>'text', 'maxlength'=>'20');
$fields_array[] = array('field_name'=>'tel', 'field_label'=>'Τηλέφωνο', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'fax', 'field_label'=>'Fax', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'cellphone', 'field_label'=>'Κινητό τηλέφωνο', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'email', 'field_label'=>'E-mail', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'website', 'field_label'=>'Ιστοσελίδα', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'extra_info', 'field_label'=>'Άλλα στοιχεία', 'field_type'=>'textarea', 'rows'=>'4');
}
else if ($reference_table == "general_settings") // Γενικές ρυθμίσεις
{
$fields_array[] = array('field_name'=>'site_title', 'field_label'=>'Ονομασία Ιστοτόπου', 'field_type'=>'text', 'maxlength'=>'150');
$fields_array[] = array('field_name'=>'site_slogan', 'field_label'=>'Σύνθημα (slogan) Ιστοτόπου', 'field_type'=>'text', 'maxlength'=>'250');
$fields_array[] = array('field_name'=>'meta_description', 'field_label'=>'Γενική περιγραφή Ιστοτόπου', 'field_type'=>'textarea', 'rows'=>'2');
$fields_array[] = array('field_name'=>'meta_keywords', 'field_label'=>'Γενικές Λέξεις-Κλειδιά Ιστοτόπου', 'field_type'=>'textarea', 'rows'=>'2');
$fields_array[] = array('field_name'=>'site_url', 'field_label'=>'URL Ιστοτόπου', 'field_type'=>'text', 'maxlength'=>'255');
$fields_array[] = array('field_name'=>'owner_name', 'field_label'=>'Ονοματεπώνυμο κατόχου/Τίτλος εταιρίας', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'owner_address', 'field_label'=>'Οδός και αριθμός', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'owner_city', 'field_label'=>'Πόλη/Περιοχή', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'owner_country', 'field_label'=>'Χώρα', 'field_type'=>'text', 'maxlength'=>'50');
$fields_array[] = array('field_name'=>'owner_zipcode', 'field_label'=>'Ταχυδρομικός κώδικας', 'field_type'=>'text', 'maxlength'=>'20');
$fields_array[] = array('field_name'=>'owner_tel', 'field_label'=>'Τηλέφωνο', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'owner_fax', 'field_label'=>'Fax', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'owner_cellphone', 'field_label'=>'Κινητό τηλέφωνο', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'owner_email', 'field_label'=>'Ηλεκτρονικό ταχυδρομείο', 'field_type'=>'text', 'maxlength'=>'100');
$fields_array[] = array('field_name'=>'extra_info', 'field_label'=>'Επιπλέον πληροφορίες επικοινωνίας', 'field_type'=>'textarea', 'rows'=>'4');
}
return $fields_array;
}
// Δημιουργεί τα hidden fields της φόρμας categories_list_form που χρησιμοποιούνται από την javascript για ενημέρωση των πεδίων των ιδιοτήτων της κάθε κατηγορίας
public function buildHiddenCategoriesListFields()
{
$html = "";
$result = $this->connector->query("SELECT * FROM categories ORDER BY id");
while ($myrow = $this->connector->fetchAssoc($result))
{
$cat_internal_link_name = "Επιλέξτε ένα άρθρο...";
$result2 = $this->connector->query("SELECT * FROM content WHERE id='".$myrow["internal_link"]."'");
if ($myrow2 = $this->connector->fetchAssoc($result2))
$cat_internal_link_name = $myrow2["title"];
$html .= '<input type="hidden" name="cat_internal_link_name" value="'.$cat_internal_link_name.'">';
while (list($key,$value) = each($myrow))
$html .= '<input type="hidden" name="cat_'.$key.'" value="'.htmlspecialchars($value, ENT_QUOTES).'">';
$result2 = $this->connector->query("SELECT * FROM content WHERE category_id=".$myrow["id"]);
$html .= '<input type="hidden" name="cat_assigned_articles" value="'.$this->connector->getNumRows($result2).'">';
}
return $html;
}
// Επεξεργασία/επαναφορά του κειμένου πριν την εισαγωγή του στον Rich Text Editor
public function rteSafe($str, $reverse=false)
{
if ($reverse==true)
{
$str = str_replace("../userfiles/","userfiles/", $str);
$str = str_replace("../images/","images/", $str);
}
else
{
$str = str_replace("userfiles/","../userfiles/", $str);
$str = str_replace("src=\"images/","src=\"../images/", $str);
$str = str_replace("src='images/","src='../images/", $str);
//replace carriage returns & line feeds
//$str = str_replace(chr(10), " ", $str);
//$str = str_replace(chr(13), " ", $str);
}
return $str;
}
// Επιστρέφει τον html κώδικα των στοιχείων ελέγχου σελιδοποίησης του προβαλόμενου περιεχομένου
public function pagination($total_results)
{
$html = '';
$html .= '<div class="pagination">';
if ($total_results>$_SESSION["cms_results_per_page"])
{
$html .= '<span>';
if ($_SESSION["cms_start"]==0)
{
$html .= '<img src="images/ArrowL1_off.gif" alt="Πρώτη σελίδα" title="Πρώτη σελίδα">';
$html .= '<img src="images/ArrowL2_off.gif" alt="Προηγούμενη σελίδα" title="Προηγούμενη σελίδα">';
}
else
{
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?start=0"><img src="images/ArrowL1.gif" alt="Πρώτη σελίδα" title="Πρώτη σελίδα"></a>';
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?start=';
if ($_SESSION["cms_start"]-$_SESSION["cms_results_per_page"]>=0) $html .= ($_SESSION["cms_start"]-$_SESSION["cms_results_per_page"]); else $html .= "0";
$html .= '"><img src="images/ArrowL2.gif" alt="Προηγούμενη σελίδα" title="Προηγούμενη σελίδα"></a>';
}
$html .= '</span>';
$html .= '<span>Στοιχεία '.($_SESSION["cms_start"]+1).'-';
if ($_SESSION["cms_results_per_page"]>($total_results-$_SESSION["cms_start"]))
$html .= $total_results;
else
$html .= ($_SESSION["cms_start"]+$_SESSION["cms_results_per_page"]).' από '.$total_results.'</span>';
$html .= '<span>';
$last_page_results_num = $total_results%$_SESSION["cms_results_per_page"];
if ($last_page_results_num==0)
$last_page_results_num = $_SESSION["cms_results_per_page"];
if (($_SESSION["cms_start"] + $last_page_results_num) == $total_results)
{
$html .= '<img src="images/ArrowR2_off.gif" alt="Επόμενη σελίδα" title="Επόμενη σελίδα">';
$html .= '<img src="images/ArrowR1_off.gif" alt="Τελευταία σελίδα" title="Τελευταία σελίδα"border="0">';
}
else
{
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?start='.($_SESSION["cms_start"]+$_SESSION["cms_results_per_page"]).'"><img src="images/ArrowR2.gif" alt="Επόμενη σελίδα" title="Επόμενη σελίδα"></a>';
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?start='.($total_results-($total_results%$_SESSION["cms_results_per_page"])).'"><img src="images/ArrowR1.gif" alt="Τελευταία σελίδα" title="Τελευταία σελίδα"border="0"></a>';
}
echo '</span>';
}
$html .= '
<div id="results_per_page">
<form method="POST" action="'.$_SERVER["PHP_SELF"].'">
<input type="hidden" name="start" value="0">
<label for="results_per_page">Προβολή #</label>
<select name="results_per_page" id="results_per_page" size="1" onchange="submit();">
<option value="5"'.($_SESSION["cms_results_per_page"]==5?" selected":"").'>5</option>
<option value="10"'.($_SESSION["cms_results_per_page"]==10?" selected":"").'>10</option>
<option value="15"'.($_SESSION["cms_results_per_page"]==15?" selected":"").'>15</option>
<option value="20"'.($_SESSION["cms_results_per_page"]==20?" selected":"").'>20</option>
<option value="25"'.($_SESSION["cms_results_per_page"]==25?" selected":"").'>25</option>
<option value="30"'.($_SESSION["cms_results_per_page"]==30?" selected":"").'>30</option>
<option value="50"'.($_SESSION["cms_results_per_page"]==50?" selected":"").'>50</option>
<option value="100"'.($_SESSION["cms_results_per_page"]==100?" selected":"").'>100</option>
<option value="99999"'.($_SESSION["cms_results_per_page"]==99999?" selected":"").'>Όλα</option>
</select>
</form>
</div>
</div>
';
return $html;
}
// Επιστρέφει έναν πλήθος από συνεχόμενα κενά για χρήση σε διάφορες περιπτώσεις όπου απαιτούνται εσoχές
public function spaces($num_of_spaces)
{
$html = "";
for ($i=1; $i<=$num_of_spaces; ++$i)
$html .= " ";
return $html;
}
}
?>