403Webshell
Server IP : 85.158.181.41  /  Your IP : 216.73.217.12
Web Server : Apache
System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64
User : moncbefd ( 1024)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/moncbefd/www.moneta.at/system/classes/admin_info_box/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/system/classes/admin_info_box/AdminInfoboxControl.inc.php
<?php
/* --------------------------------------------------------------
   AdminInfoboxControl.inc.php 2015-04-15 gm
   Gambio GmbH
   http://www.gambio.de
   Copyright (c) 2015 Gambio GmbH
   Released under the GNU General Public License (Version 2)
   [http://www.gnu.org/licenses/gpl-2.0.html]
   --------------------------------------------------------------
*/

defined('TABLE_INFOBOX_MESSAGES') or define('TABLE_INFOBOX_MESSAGES', 'infobox_messages');
defined('TABLE_INFOBOX_MESSAGES_DESCRIPTION') or define('TABLE_INFOBOX_MESSAGES_DESCRIPTION', 'infobox_messages_description');

class AdminInfoboxControl
{
	var $v_reactivation_time_limit = 604800; // in seconds (604800 = 1 week)

	function add_message($p_message_array, $p_type = 'info', $p_headline_array = array(), $p_button_label_array = array(), $p_button_link = '', $p_visibility = 'hideable', $p_status = 'new', $p_identifier = '', $p_source = 'intern', $p_visible_for_all = false, $p_overwrite = false)
	{
		$t_infobox_message_id = false;

		if(is_array($p_message_array))
		{
			$c_type = 'info';
			if(in_array($p_type, array('info', 'success', 'warning')))
			{
				$c_type = (string)$p_type;
			}

			$c_button_link = gm_prepare_string((string)$p_button_link, true);
			$c_visibility = gm_prepare_string((string)$p_visibility, true);
			$c_status = gm_prepare_string((string)$p_status, true);
			$c_identifier = gm_prepare_string((string)$p_identifier, true);
			$c_source = gm_prepare_string((string)$p_source, true);

			$c_customers_id = $_SESSION['customer_id'];
			if($p_visible_for_all)
			{
				$c_customers_id = 0;
			}

			$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES, array('identifier' => $c_identifier, 'customers_id' => $c_customers_id)));
			$t_infobox_messages_id = (int)$coo_infobox_messages->get_data_value('infobox_messages_id');
			if($t_infobox_messages_id > 0 && $p_overwrite === false)
			{
				return $t_infobox_messages_id;
			}
			elseif($t_infobox_messages_id > 0)
			{
				$this->delete($t_infobox_messages_id);
			}

			$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES));

			$coo_infobox_messages->set_data_value('source', $c_source);
			$coo_infobox_messages->set_data_value('identifier', $c_identifier);
			$coo_infobox_messages->set_data_value('status', $c_status);
			$coo_infobox_messages->set_data_value('type', $c_type);
			$coo_infobox_messages->set_data_value('visibility', $c_visibility);
			$coo_infobox_messages->set_data_value('button_link', $c_button_link);
			$coo_infobox_messages->set_data_value('customers_id', $c_customers_id);
			$coo_infobox_messages->set_data_value('date_added', date('Y-m-d H:i:s'));

			$t_infobox_message_id = $coo_infobox_messages->save_body_data();

			foreach($p_message_array AS $t_languages_id => $t_message)
			{
				$c_languages_id = (int)$t_languages_id;
				$c_message = gm_prepare_string((string)$t_message, true);

				$c_headline = '';
				if(isset($p_headline_array[$c_languages_id]))
				{
					$c_headline = gm_prepare_string((string)$p_headline_array[$c_languages_id], true);
				}

				$c_button_label = '';
				if(isset($p_button_label_array[$c_languages_id]))
				{
					$c_button_label = gm_prepare_string((string)$p_button_label_array[$c_languages_id], true);
				}

				$coo_infobox_messages_description = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES_DESCRIPTION));

				$coo_infobox_messages_description->set_data_value('infobox_messages_id', $t_infobox_message_id);
				$coo_infobox_messages_description->set_data_value('languages_id', $c_languages_id);
				$coo_infobox_messages_description->set_data_value('headline', $c_headline);
				$coo_infobox_messages_description->set_data_value('message', $c_message);
				$coo_infobox_messages_description->set_data_value('button_label', $c_button_label);

				$coo_infobox_messages_description->save_body_data();
			}
		}

		return $t_infobox_message_id;
	}


	function set_status($p_infobox_messages_id, $p_status)
	{
		$c_infobox_messages_id = (int)$p_infobox_messages_id;
		$c_status = gm_prepare_string($p_status, true);

		$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES, array('infobox_messages_id' => $c_infobox_messages_id)));
		$coo_infobox_messages->set_data_value('status', $c_status);
		$coo_infobox_messages->set_data_value('date_modified', date('Y-m-d H:i:s'));
		$coo_infobox_messages->save_body_data();

		return true;
	}


	function delete($p_infobox_messages_id)
	{
		$c_infobox_messages_id = (int)$p_infobox_messages_id;

		$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES, array('infobox_messages_id' => $c_infobox_messages_id)));
		$coo_infobox_messages->delete();

		$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES_DESCRIPTION, array('infobox_messages_id' => $c_infobox_messages_id)));
		$coo_infobox_messages->delete();

		return true;
	}


	function delete_by_identifier($p_identifier, $p_ignore_customers_id = false)
	{
		$c_identifier = gm_prepare_string($p_identifier, true);

		if($p_ignore_customers_id === true)
		{
			$coo_infobox_messages = MainFactory::create_object('GMDataObjectGroup', array(TABLE_INFOBOX_MESSAGES, array('identifier' => $c_identifier)));
			$t_messages_array = $coo_infobox_messages->get_data_objects_array();

			foreach($t_messages_array AS $t_message_object)
			{
				$this->delete($t_message_object->get_data_value('infobox_messages_id'));
			}
		}
		else
		{
			$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES, array('identifier' => $c_identifier, 'customers_id' => $_SESSION['customer_id'])));
			$t_infobox_messages_id = (int)$coo_infobox_messages->get_data_value('infobox_messages_id');
			$this->delete($t_infobox_messages_id);

			$coo_infobox_messages = MainFactory::create_object('GMDataObject', array(TABLE_INFOBOX_MESSAGES, array('identifier' => $c_identifier, 'customers_id' => 0)));
			$t_infobox_messages_id = (int)$coo_infobox_messages->get_data_value('infobox_messages_id');
			$this->delete($t_infobox_messages_id);
		}

		return true;
	}


	function delete_by_source($p_identifier_to_exclude_array, $p_source)
	{
		$c_source = gm_prepare_string((string)$p_source, true);

		if(is_array($p_identifier_to_exclude_array) && !empty($c_source))
		{
			$coo_infobox_messages = MainFactory::create_object('GMDataObjectGroup', array(TABLE_INFOBOX_MESSAGES, array('source' => $c_source, 'customers_id' => $_SESSION['customer_id'])));
			$t_messages_array = $coo_infobox_messages->get_data_objects_array();

			foreach($t_messages_array AS $t_message_object)
			{
				if(in_array($t_message_object->get_data_value('identifier'), $p_identifier_to_exclude_array) === false)
				{
					$this->delete($t_message_object->get_data_value('infobox_messages_id'));
				}
			}
		}
	}


	function get_all_messages()
	{
		$t_messages_array = array();

		$t_sql = "SELECT
						i.infobox_messages_id,
						i.identifier,
						i.status,
						i.type,
						i.visibility,
						i.button_link,
						i.customers_id,
						i.date_added,
						id.headline,
						id.message,
						id.button_label
					FROM
						infobox_messages i,
						infobox_messages_description id
					WHERE
						i.infobox_messages_id = id.infobox_messages_id AND
						id.languages_id = '" . (int)$_SESSION['languages_id'] . "' AND
						(i.customers_id = '" . (int)$_SESSION['customer_id'] . "' OR i.customers_id = 0) AND
						i.status != 'deleted'
					ORDER BY i.date_added DESC";
		$t_result = xtc_db_query($t_sql);
		while($_result_array = xtc_db_fetch_array($t_result))
		{
			$_result_array['ajax'] = 0;

			if(strpos($_result_array['button_link'], 'request_port.php') !== false)
			{
				$_result_array['ajax'] = 1;
			}

			$t_messages_array[] = $_result_array;
		}

		return $t_messages_array;
	}


	function reactivate_messages()
	{
		$t_messages_array = array();

		$t_limit = date('Y-m-d H:s:i', time() - $this->get_reactivation_time_limit());

		// use only PHP-time to ensure consistent time settings
		$t_sql = "UPDATE infobox_messages SET status = 'new', date_modified = '" . date('Y-m-d H:s:i') . "' WHERE ((date_added < '" . $t_limit . "' AND date_modified = '1000-01-01 00:00:00') || (date_modified < '" . $t_limit . "' AND date_modified != '1000-01-01 00:00:00')) AND status = 'hidden'";
		$t_result = xtc_db_query($t_sql);

		return true;
	}


	function get_reactivation_time_limit()
	{
		return (int)$this->v_reactivation_time_limit;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit