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/control/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/inetpub/wwwroot/control/includes/ControlSystem.php
<?
////////////////////////////////////////////////////////////////////////////////////////
// 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 = "created DESC, 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 .= "&nbsp;";

		return $html;
	}
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit