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/accounts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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


  based on:
  (c) 2000-2001 The Exchange Project (earlier name of osCommerce)
  (c) 2002-2003 osCommerce (account.php,v 1.59 2003/05/19); www.oscommerce.com
  (c) 2003      nextcommerce (account.php,v 1.12 2003/08/17); www.nextcommerce.org
  (c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: account.php 1124 2005-07-28 08:50:04Z mz $)

  Released under the GNU General Public License
  --------------------------------------------------------------------------------------- */

// include needed functions
require_once(DIR_FS_INC . 'xtc_count_customer_orders.inc.php');
require_once(DIR_FS_INC . 'xtc_date_short.inc.php');
require_once(DIR_FS_INC . 'xtc_date_long.inc.php');
require_once(DIR_FS_INC . 'xtc_get_path.inc.php');
require_once(DIR_FS_INC . 'xtc_get_product_path.inc.php');
require_once(DIR_FS_INC . 'xtc_get_products_name.inc.php');
require_once(DIR_FS_INC . 'xtc_get_products_image.inc.php');

class AccountContentView extends ContentView
{
	protected $customer_id;
	protected $is_guest = false;
	protected $customer_data_array;
	protected $tracking_data_array;
	protected $products_history_array;
	protected $order_history_array;
	protected $mail_content_array;
	protected $languages_id;
	protected $coo_product;
	protected $coo_message_stack;
	protected $post_action = '';
	protected $post_content = '';
	protected $coo_smarty;
	
	public function __construct()
	{
		parent::__construct();
		
		$this->set_content_template('module/account.html');
		$this->set_flat_assigns(true);
		$this->set_caching_enabled(false);
	}
	
	protected function set_validation_rules()
	{
		$this->validation_rules_array['customer_id']			= array('type' 			=> 'int');
		$this->validation_rules_array['languages_id']			= array('type' 			=> 'int');
		$this->validation_rules_array['post_action']			= array('type' 			=> 'string');
		$this->validation_rules_array['post_content']			= array('type' 			=> 'string');
		$this->validation_rules_array['is_guest']				= array('type' 			=> 'bool');
		$this->validation_rules_array['customer_data_array']	= array('type' 			=> 'array');
		$this->validation_rules_array['mail_content_array']		= array('type' 			=> 'array');
		$this->validation_rules_array['tracking_data_array']	= array('type' 			=> 'array');
		$this->validation_rules_array['products_history_array']	= array('type' 			=> 'array');
		$this->validation_rules_array['order_history_array']	= array('type' 			=> 'array');
		$this->validation_rules_array['coo_message_stack']		= array('type' 			=> 'object',
																		'object_type'	=> 'messageStack');
		$this->validation_rules_array['coo_smarty']				= array('type' 			=> 'object',
																		'object_type' 	=> 'Smarty');
		$this->validation_rules_array['coo_product']			= array('type' 			=> 'object',
																		'object_type' 	=> 'product');
	}
	
	public function prepare_data()
	{
		$t_uninitialized_array = $this->get_uninitialized_variables(array('customer_id',
																		  'languages_id',
																		  'coo_product',
																		  'coo_message_stack',
																		  'tracking_data_array')
		);

		if(empty($t_uninitialized_array))
		{
			$this->coo_smarty = new Smarty();

			if($this->post_action == 'gm_delete_account')
			{
				$this->load_customer_data();
				$this->create_admin_email_data();
				$this->send_admin_email();
			}

			$this->load_products_history();
			$this->load_order_history();

			$this->add_error_messages();
			$this->add_data();
		}
		else
		{
			trigger_error("Variable(s) " . implode(', ', $t_uninitialized_array) . " do(es) not exist in class " . get_class($this) . " or is/are null", E_USER_ERROR);
		}
	}
	
	protected function add_error_messages()
	{
		if($this->coo_message_stack->size('account') > 0)
		{
			$this->content_array['error_message'] = $this->coo_message_stack->output('account');
		}
		if($this->post_action == 'gm_delete_account')
		{
			$this->content_array['error_message'] = GM_SEND;
		}
	}
	
	protected function add_data()
	{
		if($this->is_guest)
		{
			$this->content_array['NO_GUEST'] = 0;
		}
		else
		{
			$this->content_array['NO_GUEST'] = 1;
		}

		$this->content_array['LINK_DELETE_ACCOUNT'] = xtc_href_link('gm_account_delete.php', '', 'SSL');

		$this->content_array['LINK_EDIT'] = xtc_href_link(FILENAME_ACCOUNT_EDIT, '', 'SSL');
		$this->content_array['LINK_ADDRESS'] = xtc_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL');
		$this->content_array['LINK_PASSWORD'] = xtc_href_link(FILENAME_ACCOUNT_PASSWORD, '', 'SSL');
		$this->content_array['LINK_LOGOFF'] = xtc_href_link(FILENAME_LOGOFF, '', 'SSL');
		
		if(gm_get_conf('MODULE_CENTER_NEWSLETTERLINK_INSTALLED') === '1')
		{
			$this->content_array['LINK_NEWSLETTER'] = xtc_href_link(FILENAME_NEWSLETTER, '', 'SSL');
		}
		
		if(ACTIVATE_GIFT_SYSTEM === 'true')
		{
			$xtPrice = new xtcPrice($_SESSION['currency'], $this->customer_data_array['customers_status_id']);
			$gvSelect = 'SELECT amount FROM ' . TABLE_COUPON_GV_CUSTOMER . ' WHERE customer_id = "'
			            . $this->customer_id . '"';
			$gvQuery = xtc_db_query($gvSelect);
			$gvDeposit = xtc_db_fetch_array($gvQuery);
			$this->content_array['gvDepositCurrency'] = $xtPrice->xtcFormat($gvDeposit['amount'], true, 0, true);

			$this->content_array['LINK_GIFT_CART'] = xtc_href_link(FILENAME_GV_SEND, '', 'SSL');
		}
		
		$this->content_array['LINK_ALL'] = xtc_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL');
		$this->content_array['order_content'] = $this->order_history_array;
		$this->content_array['products_history'] = $this->generateProductHistoryListing();
	}

	protected function load_customer_data()
	{
		$this->customer_data_array = array();
		if(isset($this->customer_id) && is_numeric($this->customer_id))
		{
			$t_select = "SELECT
							*
						FROM 
							" . TABLE_CUSTOMERS . "
						WHERE
							customers_id = '" . $this->customer_id . "'
			";
			$t_result = xtc_db_query($t_select);
			if(xtc_db_num_rows($t_result))
			{
				$this->customer_data_array = xtc_db_fetch_array($t_result);
			}
		}
	}
	
	protected function create_admin_email_data()
	{
		$t_customer = $this->customer_data_array['customers_firstname']
					  . ' '
					  . $this->customer_data_array['customers_lastname']
					  . ' '
					  . $this->customer_data_array['customers_email_address']
		;
		$this->mail_content_array['CUSTOMER'] = $t_customer;
		$this->mail_content_array['NOTIFY_COMMENTS'] = htmlentities_wrapper($this->post_content);
		// bof gm
		$coo_gm_logo_manager = MainFactory::create_object('GMLogoManager', array("gm_logo_mail"));
		if($coo_gm_logo_manager->logo_use == '1')
		{
			$this->mail_content_array['gm_logo_mail'] = $coo_gm_logo_manager->get_logo();
		}
	}
	
	protected function send_admin_email()
	{
		foreach($this->mail_content_array as $t_key => $t_value)
		{
			$this->coo_smarty->assign($t_key, $t_value);
		}

		// eof gm
		$html_mail = fetch_email_template($this->coo_smarty, 'delete_account_mail', 'html');
		$txt_mail = fetch_email_template($this->coo_smarty, 'delete_account_mail', 'txt');

		// send mail to admin
		xtc_php_mail(EMAIL_SUPPORT_ADDRESS,
					 EMAIL_SUPPORT_NAME,
					 EMAIL_SUPPORT_ADDRESS,
					 STORE_NAME,
					 EMAIL_SUPPORT_FORWARDING_STRING,
					 $this->customer_data_array['customers_email_address'],
					 $this->customer_data_array['customers_firstname'] . ' ' . $this->customer_data_array['customers_lastname'],
					 '',
					 '',
					 GM_SUBJECT,
					 $html_mail,
					 $txt_mail
		);
	}
	
	protected function load_products_history()
	{
		$this->products_history_array = array();
		$coo_seo_boost = MainFactory::create_object('GMSEOBoost', [], true);
		$i = 0;
		$max = is_array($this->tracking_data_array['products_history']) ? count($this->tracking_data_array['products_history']) : 0;

		while($i < $max)
		{
			$t_select = "SELECT 
							* 
						FROM 
							" . TABLE_PRODUCTS . " p, 
							" . TABLE_PRODUCTS_DESCRIPTION . " pd 
						WHERE 
							p.products_id = pd.products_id 
							AND pd.language_id='" . $this->languages_id . "' 
							AND p.products_status = '1' 
							AND p.products_id = '" . $this->tracking_data_array['products_history'][$i] . "'
			";
			$product_history_query = xtc_db_query($t_select);
			$history_product = xtc_db_fetch_array($product_history_query);
			$cpath = xtc_get_product_path($this->tracking_data_array['products_history'][$i]);
			if($history_product['products_status'] != 0)
			{
				/* bof gm */
				$gm_seo_cat = explode('_', $cpath);
				if($coo_seo_boost->boost_categories)
				{
					$gm_seo_cat_link = xtc_href_link($coo_seo_boost->get_boosted_category_url(end($gm_seo_cat), $this->languages_id));
				}
				else
				{
					$gm_seo_cat_link = xtc_href_link(FILENAME_DEFAULT, xtc_category_link(end($gm_seo_cat)));
				}
				$history_product = array_merge($history_product, array('cat_url' => $gm_seo_cat_link));
				/* eof gm */

				$this->products_history_array[] = $this->coo_product->buildDataArray($history_product);
			}
			$i ++;
		}
	}
	
	protected function load_order_history()
	{
		$this->order_history_array = array();
		if(xtc_count_customer_orders() > 0)
		{
			$t_select = "SELECT
							o.orders_id,
							o.date_purchased,
							o.delivery_name,
							o.delivery_country,
							o.billing_name,
							o.billing_country,
							ot.text as order_total,
							s.orders_status_name
						FROM
							" . TABLE_ORDERS . " o, 
							" . TABLE_ORDERS_TOTAL . " ot, 
							" . TABLE_ORDERS_STATUS . " s,
							" . TABLE_CUSTOMERS_INFO . " ci
						WHERE
							o.customers_id = '" . $this->customer_id . "'
							AND o.orders_id = ot.orders_id
							AND ot.class = 'ot_total'
							AND o.orders_status = s.orders_status_id
							AND s.language_id = '" . $this->languages_id . "'
							AND o.customers_id = ci.customers_info_id 
							AND o.date_purchased >= ci.customers_info_date_account_created
						ORDER BY 
							orders_id DESC
						LIMIT " . MAX_DISPLAY_ORDER_HISTORY
			;
			
			$orders_query = xtc_db_query($t_select);

			while($orders = xtc_db_fetch_array($orders_query))
			{
				$t_order_array = array(
					'ORDER_ID' => $orders['orders_id'],
					'ORDER_DATE' => xtc_date_short($orders['date_purchased']),
					'ORDER_STATUS' => $orders['orders_status_name'],
					'ORDER_TOTAL' => $orders['order_total'],
					'ORDER_LINK' => xtc_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $orders['orders_id'], 'SSL'),
					'ORDER_BUTTON' => '<a href="' . xtc_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $orders['orders_id'], 'SSL') . '">' . xtc_image_button('small_view.gif', SMALL_IMAGE_BUTTON_VIEW) . '</a>',
					'ORDER_BUTTON_LINK' => xtc_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $orders['orders_id'], 'SSL'),
					'downloads_data' => $this->get_download_by_orders_id($orders['orders_id'])
				);
				$this->order_history_array[] = $t_order_array;
			}
		}
	}

	protected function get_download_by_orders_id($p_orders_id)
	{
		$c_orders_id = (int)$p_orders_id;

		$t_downloads_array = array();

		$t_sql = '
				SELECT
					orders_status
				FROM 
					' . TABLE_ORDERS . '
				WHERE 
					orders_id = "' . $c_orders_id . '"
		';
		$t_query = xtc_db_query($t_sql);
		if(xtc_db_num_rows($t_query))
		{
			$t_order_array = xtc_db_fetch_array($t_query);
			$t_order_status = $t_order_array['orders_status'];

			$t_download_order_status_array = explode('|', DOWNLOAD_MIN_ORDERS_STATUS);

			if(is_array($t_download_order_status_array) && in_array($t_order_status, $t_download_order_status_array))
			{
				$t_sql = "SELECT
								date_format(o.date_purchased, '%Y-%m-%d') AS date_purchased_day,
								op.products_name,
								opd.orders_products_download_id,
								opd.orders_products_filename,
								opd.download_count,
								opd.download_maxdays,
								o.abandonment_download,
								UNIX_TIMESTAMP(o.date_purchased) as date_purchased_unix
							FROM
								" . TABLE_ORDERS . " o,
								" . TABLE_ORDERS_PRODUCTS . " op,
								" . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " opd
							WHERE
								o.customers_id = '" . $this->customer_id . "' AND
								o.orders_id = '" . $c_orders_id . "' AND
								o.orders_id = op.orders_id AND
								op.orders_products_id = opd.orders_products_id AND
								opd.orders_products_filename != ''
				";
				$t_query = xtc_db_query($t_sql);
				if(xtc_db_num_rows($t_query) > 0)
				{
					$i = 0;
					while($t_downloads_data_array = xtc_db_fetch_array($t_query))
					{
						list($t_year, $t_month, $t_day) = explode('-', $t_downloads_data_array['date_purchased_day']);
						$t_download_timestamp = mktime(23, 59, 59, $t_month, $t_day + $t_downloads_data_array['download_maxdays'], $t_year);
						$t_download_expiry = date('Y-m-d H:i:s', $t_download_timestamp);

						if(($t_downloads_data_array['download_count'] > 0) 
						   && empty($t_downloads_data_array['orders_products_filename']) == false 
						   && file_exists(DIR_FS_DOWNLOAD . basename($t_downloads_data_array['orders_products_filename'])) 
						   && ($t_downloads_data_array['download_maxdays'] == 0 || $t_download_timestamp > time()) 
						   && in_array($t_order_status, $t_download_order_status_array))
						{
							$t_downloads_array[$i]['LINK'] = xtc_href_link(FILENAME_DOWNLOAD, 'order=' . $c_orders_id . '&id=' . $t_downloads_data_array['orders_products_download_id']);
						}
						
						$t_downloads_array[$i]['DELAY_MESSAGE'] = $this->get_download_delay_message($t_downloads_data_array['date_purchased_unix'], $t_downloads_data_array['abandonment_download']);
						$t_downloads_array[$i]['PRODUCTS_NAME'] = $t_downloads_data_array['products_name'];
						$t_downloads_array[$i]['DATE'] = xtc_date_long($t_download_expiry);
						$t_downloads_array[$i]['DATE_SHORT'] = xtc_date_short($t_download_expiry);
						$t_downloads_array[$i]['COUNT'] = $t_downloads_data_array['download_count'];
						$i++;
					}
				}
			}
		}

		return $t_downloads_array;
	}
	
	protected function get_download_delay_message($p_date_purchased, $p_withdrawal_right_abandoned = 0)
	{
		$t_output = '';
		
		if($p_withdrawal_right_abandoned == 1)
		{
			$t_download_abandonment_time = gm_get_conf('DOWNLOAD_DELAY_FOR_ABANDONMENT_OF_WITHDRAWL_RIGHT');
		}
		else
		{
			$t_download_abandonment_time = gm_get_conf('DOWNLOAD_DELAY_WITHOUT_ABANDONMENT_OF_WITHDRAWL_RIGHT');
		}

		$t_time_until_download_allowed = ($p_date_purchased + $t_download_abandonment_time) - time();

		if($t_download_abandonment_time > 0 && $t_time_until_download_allowed > 0)
		{
			/** @var $coo_download_delay DownloadDelay */
			$coo_download_delay = MainFactory::create_object('DownloadDelay');
			$coo_download_delay->convert_seconds_to_days($t_time_until_download_allowed);

			$t_days = $coo_download_delay->get_delay_days();
			$t_hours = $coo_download_delay->get_delay_hours();
			$t_minutes = $coo_download_delay->get_delay_minutes();
			$t_seconds = $coo_download_delay->get_delay_seconds();

			$coo_text_mgr = MainFactory::create_object('LanguageTextManager', array('withdrawal', $_SESSION['languages_id']) );
			/** @var $coo_text_time_left DownloadTimerStringOutput */
			$coo_text_time_left = MainFactory::create_object('DownloadTimerStringOutput', array(
				$t_days,
				$t_hours,
				$t_minutes,
				$t_seconds,
				$coo_text_mgr
			));

			$t_output = $coo_text_time_left->get_msg();
		}
		
		return $t_output;
	}
    
    
    protected function generateProductHistoryListing()
    {
        if(!empty($this->products_history_array)) 
        {
            $showRating = false;
            if(gm_get_conf('ENABLE_RATING') === 'true' && gm_get_conf('SHOW_RATING_IN_GRID_AND_LISTING') === 'true')
            {
                $showRating = true;
            }
            
            $swiperData = [
                'products'   => $this->products_history_array,
                'id'         => 'products-history',
                'truncate'   => gm_get_conf('TRUNCATE_PRODUCTS_NAME'),
                'template'   => 'snippets/product_listing/product_listing.html',
                'showRating' => $showRating,
            ];
    
            $swiperHtml = MainFactory::create_object('ProductsSwiperContentView', [$swiperData]);
            return $swiperHtml->get_html();
        }
        
        return false;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit