Advertisement
Guest User

Untitled

a guest
Feb 14th, 2014
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.23 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. class SiteDisplayGraphicalEnvironment extends AbstractDisplayGraphicalEnvironment
  35. {
  36.  
  37.  
  38.  
  39. private $breadcrumb=null;
  40.  
  41.  
  42.  
  43. private $columns_disabled=null;
  44.  
  45. private static $main_lang;
  46.  
  47. public function __construct()
  48. {
  49. parent::__construct();
  50. $this->load_langs();
  51. $this->set_breadcrumb(new BreadCrumb());
  52. $this->set_columns_disabled(ThemeManager::get_theme(get_utheme())->get_columns_disabled());
  53. }
  54.  
  55. private function load_langs()
  56. {
  57. self::$main_lang=LangLoader::get('main');
  58. }
  59.  
  60.  
  61.  
  62.  
  63. function display_header()
  64. {
  65. self::set_page_localization($this->get_page_title());
  66.  
  67. $template=new FileTemplate('header.tpl');
  68.  
  69. $theme=ThemeManager::get_theme(get_utheme());
  70. $customize_interface=$theme->get_customize_interface();
  71. $header_logo_path=$customize_interface->get_header_logo_path();
  72.  
  73. $customization_config=CustomizationConfig::load();
  74.  
  75. $template->put_all(array(
  76. 'C_CSS_CACHE_ENABLED'=>CSSCacheConfig::load()->is_enabled(),
  77. 'SITE_NAME'=>GeneralConfig::load()->get_site_name(),
  78. 'MAINTAIN'=>$this->display_site_maintenance(),
  79. 'C_COMPTEUR'=>false,
  80. 'C_FAVICON'=>$customization_config->favicon_exists(),
  81. 'FAVICON'=>Url::to_rel($customization_config->get_favicon_path()),
  82. 'FAVICON_TYPE'=>$customization_config->favicon_type(),
  83. 'C_HEADER_LOGO'=>!empty($header_logo_path),
  84. 'HEADER_LOGO'=>Url::to_rel($header_logo_path),
  85. 'TITLE'=>$this->get_page_title(),
  86. 'SITE_DESCRIPTION'=>$this->get_seo_meta_data()->get_description(),
  87. 'SITE_KEYWORD'=>$this->get_seo_meta_data()->get_keywords(),
  88. 'MODULES_CSS'=>$this->get_modules_css_files_html_code(),
  89. 'L_XML_LANGUAGE'=>self::$main_lang['xml_lang'],
  90. ));
  91.  
  92. $this->display_counter($template);
  93.  
  94. $this->display_menus($template);
  95.  
  96.  
  97. $this->get_breadcrumb()->display($template);
  98.  
  99. $template->display();
  100. }
  101.  
  102. protected function display_counter(Template $template)
  103. {
  104.  
  105. if(GraphicalEnvironmentConfig::load()->is_visit_counter_enabled())
  106. {
  107. $compteur=PersistenceContext::get_sql()->query_array(DB_TABLE_VISIT_COUNTER,
  108. 'ip AS nbr_ip','total','WHERE id = "1"',__LINE__,__FILE__);
  109.  
  110. $compteur_total=!empty($compteur['nbr_ip'])?$compteur['nbr_ip']:'1';
  111. $compteur_day=!empty($compteur['total'])?$compteur['total']:'1';
  112.  
  113. $template->put_all(array(
  114. 'L_VISIT'=>self::$main_lang['guest_s'],
  115. 'L_TODAY'=>self::$main_lang['today'],
  116. 'C_COMPTEUR'=>true,
  117. 'COMPTEUR_TOTAL'=>$compteur_total,
  118. 'COMPTEUR_DAY'=>$compteur_day
  119. ));
  120. }
  121. }
  122.  
  123. protected function display_menus(Template $template)
  124. {
  125. global $MENUS,$Cache;
  126.  
  127. if(!@include_once(PATH_TO_ROOT.'/cache/menus.php'))
  128. {
  129.  
  130. $Cache->Generate_file('menus');
  131.  
  132.  
  133. if(!@include_once(PATH_TO_ROOT.'/cache/menus.php'))
  134. {
  135. $controller=new UserErrorController(LangLoader::get_message('error','errors'),
  136. $LANG['e_cache_modules'],UserErrorController::FATAL);
  137. DispatchManager::redirect($controller);
  138. }
  139. }
  140.  
  141. $columns_disabled=$this->get_columns_disabled();
  142.  
  143. $enable_header_is_activated=!$columns_disabled->header_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__HEADER]);
  144. $enable_sub_header_is_activated=!$columns_disabled->sub_header_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__SUB_HEADER]);
  145. $enable_left_column_is_activated=!$columns_disabled->left_columns_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__LEFT]);
  146. $enable_right_column_is_activated=!$columns_disabled->right_columns_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__RIGHT]);
  147. $enable_top_central_is_activated=!$columns_disabled->top_central_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__TOP_CENTRAL]);
  148.  
  149. $header_content=$enable_header_is_activated?$MENUS[Menu::BLOCK_POSITION__HEADER]:'';
  150. $sub_header_content=$enable_sub_header_is_activated?$MENUS[Menu::BLOCK_POSITION__SUB_HEADER]:'';
  151. $left_content=$enable_left_column_is_activated?$MENUS[Menu::BLOCK_POSITION__LEFT]:'';
  152. $right_content=$enable_right_column_is_activated?$MENUS[Menu::BLOCK_POSITION__RIGHT]:'';
  153. $top_central_content=$enable_top_central_is_activated?$MENUS[Menu::BLOCK_POSITION__TOP_CENTRAL]:'';
  154.  
  155. $template->put_all(array(
  156. 'C_MENUS_HEADER_CONTENT'=>$enable_header_is_activated,
  157. 'MENUS_HEADER_CONTENT'=>$header_content,
  158. 'C_MENUS_SUB_HEADER_CONTENT'=>$enable_sub_header_is_activated,
  159. 'MENUS_SUB_HEADER_CONTENT'=>$sub_header_content,
  160. 'C_MENUS_LEFT_CONTENT'=>$enable_left_column_is_activated,
  161. 'MENUS_LEFT_CONTENT'=>$left_content,
  162. 'C_MENUS_RIGHT_CONTENT'=>$enable_right_column_is_activated,
  163. 'MENUS_RIGHT_CONTENT'=>$right_content,
  164. 'C_MENUS_TOPCENTRAL_CONTENT'=>$enable_top_central_is_activated,
  165. 'MENUS_TOPCENTRAL_CONTENT'=>$top_central_content
  166. ));
  167. }
  168.  
  169. protected function display_site_maintenance()
  170. {
  171.  
  172. parent::process_site_maintenance();
  173.  
  174. $template=new FileTemplate('maintain.tpl');
  175.  
  176. $maintenance_config=MaintenanceConfig::load();
  177. if($this->is_under_maintenance()&&$maintenance_config->get_display_duration_for_admin())
  178. {
  179.  
  180. $array_time=array(-1,60,300,600,900,1800,3600,7200,10800,14400,18000,
  181. 21600,25200,28800,57600,86400,172800,604800);
  182. $array_delay=array(LangLoader::get_message('unspecified','main'),'1 '.LangLoader::get_message('minute','main'),
  183. '5 '.LangLoader::get_message('minutes','main'),'10 '.LangLoader::get_message('minutes','main'),'15 '.LangLoader::get_message('minutes','main'),
  184. '30 '.LangLoader::get_message('minutes','main'),'1 '.LangLoader::get_message('hour','main'),'2 '.LangLoader::get_message('hours','main'),
  185. '3 '.LangLoader::get_message('hours','main'),'4 '.LangLoader::get_message('hours','main'),'5 '.LangLoader::get_message('hours','main'),
  186. '6 '.LangLoader::get_message('hours','main'),'7 '.LangLoader::get_message('hours','main'),'8 '.LangLoader::get_message('hours','main'),
  187. '16 '.LangLoader::get_message('hours','main'),'1 '.LangLoader::get_message('day','main'),'2 '.LangLoader::get_message('hours','main'),
  188. '1 '.LangLoader::get_message('week','main'));
  189.  
  190.  
  191. if(!$maintenance_config->is_unlimited_maintenance())
  192. {
  193. $key_delay=0;
  194. $current_time=time();
  195. $array_size=count($array_time)-1;
  196. $end_timestamp=$maintenance_config->get_end_date()->get_timestamp();
  197. for($i=$array_size;$i>=1;$i--)
  198. {
  199. if(($end_timestamp-$current_time)-$array_time[$i]<0
  200. &&($end_timestamp-$current_time)-$array_time[$i-1]>0)
  201. {
  202. $key_delay=$i-1;
  203. break;
  204. }
  205. }
  206.  
  207.  
  208. $seconds=gmdate_format('s',$end_timestamp,TIMEZONE_SITE);
  209. $array_release=array(
  210. gmdate_format('Y',$end_timestamp,TIMEZONE_SITE),
  211. (gmdate_format('n',$end_timestamp,TIMEZONE_SITE)-1),
  212. gmdate_format('j',$end_timestamp,TIMEZONE_SITE),
  213. gmdate_format('G',$end_timestamp,TIMEZONE_SITE),
  214. gmdate_format('i',$end_timestamp,TIMEZONE_SITE),
  215. ($seconds<10)?trim($seconds,0):$seconds);
  216.  
  217. $seconds=gmdate_format('s',time(),TIMEZONE_SITE);
  218. $array_now=array(
  219. gmdate_format('Y',time(),TIMEZONE_SITE),(gmdate_format('n',time(),
  220. TIMEZONE_SITE)-1),gmdate_format('j',time(),TIMEZONE_SITE),
  221. gmdate_format('G',time(),TIMEZONE_SITE),gmdate_format('i',time(),
  222. TIMEZONE_SITE),($seconds<10)?trim($seconds,0):$seconds);
  223. }
  224. else
  225. {
  226. $key_delay=0;
  227. $array_release=array('0','0','0','0','0','0');
  228. $array_now=array('0','0','0','0','0','0');
  229. }
  230.  
  231. $template->put_all(array(
  232. 'C_ALERT_MAINTAIN'=>true,
  233. 'C_MAINTAIN_DELAY'=>true,
  234. 'UNSPECIFIED'=>$maintenance_config->is_unlimited_maintenance()?0:1,
  235. 'DELAY'=>isset($array_delay[$key_delay])?$array_delay[$key_delay]:'0',
  236. 'MAINTAIN_RELEASE_FORMAT'=>implode(',',$array_release),
  237. 'MAINTAIN_NOW_FORMAT'=>implode(',',$array_now),
  238. 'L_MAINTAIN_DELAY'=>self::$main_lang['maintain_delay'],
  239. 'L_LOADING'=>self::$main_lang['loading'],
  240. 'L_DAYS'=>self::$main_lang['days'],
  241. 'L_HOURS'=>self::$main_lang['hours'],
  242. 'L_MIN'=>self::$main_lang['minutes'],
  243. 'L_SEC'=>self::$main_lang['seconds'],
  244. ));
  245. }
  246. return $template;
  247. }
  248.  
  249.  
  250.  
  251.  
  252. function display_footer()
  253. {
  254. global $MENUS;
  255. $template=new FileTemplate('footer.tpl');
  256.  
  257. $theme_configuration=ThemeManager::get_theme(get_utheme())->get_configuration();
  258. $columns_disabled=$this->get_columns_disabled();
  259.  
  260. $bottom_top_central_is_activated=!$columns_disabled->bottom_central_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__BOTTOM_CENTRAL]);
  261. $top_footer_is_activated=!$columns_disabled->top_footer_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__TOP_FOOTER]);
  262. $footer_is_activated=!$columns_disabled->footer_is_disabled()&&!empty($MENUS[Menu::BLOCK_POSITION__FOOTER]);
  263.  
  264. $bottom_top_central_content=$bottom_top_central_is_activated?$MENUS[Menu::BLOCK_POSITION__BOTTOM_CENTRAL]:'';
  265. $top_footer_content=$top_footer_is_activated?$MENUS[Menu::BLOCK_POSITION__TOP_FOOTER]:'';
  266. $footer_content=$footer_is_activated?$MENUS[Menu::BLOCK_POSITION__FOOTER]:'';
  267.  
  268. $template->put_all(array(
  269. 'THEME'=>get_utheme(),
  270. 'C_MENUS_BOTTOM_CENTRAL_CONTENT'=>$bottom_top_central_is_activated,
  271. 'MENUS_BOTTOMCENTRAL_CONTENT'=>$bottom_top_central_content,
  272. 'C_MENUS_TOP_FOOTER_CONTENT'=>$top_footer_is_activated,
  273. 'MENUS_TOP_FOOTER_CONTENT'=>$top_footer_content,
  274. 'C_MENUS_FOOTER_CONTENT'=>$footer_is_activated,
  275. 'MENUS_FOOTER_CONTENT'=>$footer_content,
  276. 'C_DISPLAY_AUTHOR_THEME'=>GraphicalEnvironmentConfig::load()->get_display_theme_author(),
  277. 'L_POWERED_BY'=>self::$main_lang['powered_by'],
  278. 'L_PHPBOOST_RIGHT'=>self::$main_lang['phpboost_right'],
  279. 'L_THEME'=>self::$main_lang['theme'],
  280. 'L_THEME_NAME'=>$theme_configuration->get_name(),
  281. 'L_BY'=>strtolower(self::$main_lang['by']),
  282. 'L_THEME_AUTHOR'=>$theme_configuration->get_author_name(),
  283. 'U_THEME_AUTHOR_LINK'=>$theme_configuration->get_author_link(),
  284. 'PHPBOOST_VERSION'=>GeneralConfig::load()->get_phpboost_major_version()
  285. ));
  286.  
  287.  
  288. StatsSaver::update_pages_displayed('pages');
  289.  
  290. if(GraphicalEnvironmentConfig::load()->is_page_bench_enabled())
  291. {
  292. $template->put_all(array(
  293. 'C_DISPLAY_BENCH'=>true,
  294. 'BENCH'=>AppContext::get_bench()->to_string(),
  295. 'REQ'=>PersistenceContext::get_querier()->get_executed_requests_count()+
  296. PersistenceContext::get_sql()->get_executed_requests_number(),
  297. 'L_REQ'=>self::$main_lang['sql_req'],
  298. 'L_ACHIEVED'=>self::$main_lang['achieved'],
  299. 'L_UNIT_SECOND'=>self::$main_lang['unit_seconds_short']
  300. ));
  301. }
  302.  
  303. $this->display_counter($template);
  304.  
  305. $template->display();
  306. }
  307.  
  308.  
  309.  
  310.  
  311.  
  312. public function get_breadcrumb()
  313. {
  314. return $this->breadcrumb;
  315. }
  316.  
  317.  
  318.  
  319.  
  320.  
  321. public function set_breadcrumb(BreadCrumb $breadcrumb)
  322. {
  323. $this->breadcrumb=$breadcrumb;
  324. $this->breadcrumb->set_graphical_environment($this);
  325. }
  326.  
  327. public function get_columns_disabled()
  328. {
  329. return $this->columns_disabled;
  330. }
  331.  
  332. public function set_columns_disabled($columns_disabled)
  333. {
  334. $this->columns_disabled=$columns_disabled;
  335. }
  336. }
  337. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement