friendica/view/theme/frio/php/frio_boot.php

147 lines
3.3 KiB
PHP
Raw Normal View History

2016-03-28 16:29:05 +02:00
<?php
/**
* @copyright Copyright (C) 2020, Friendica
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
2020-01-19 07:05:23 +01:00
* This file contains functions for page construction
*
2016-03-28 16:29:05 +02:00
*/
use Friendica\App;
use Friendica\DI;
2016-03-28 16:29:05 +02:00
/**
2020-01-19 07:05:23 +01:00
* Load page template in dependence of the template mode
*
2016-03-28 16:29:05 +02:00
* @todo Check if this is really needed.
*/
2018-04-29 00:33:52 +02:00
function load_page(App $a)
{
if (isset($_GET['mode']) && ($_GET['mode'] == 'minimal')) {
require 'view/theme/frio/minimal.php';
} elseif ((isset($_GET['mode']) && ($_GET['mode'] == 'none'))) {
require 'view/theme/frio/none.php';
2016-03-28 16:29:05 +02:00
} else {
$template = 'view/theme/' . $a->getCurrentTheme() . '/'
. ((DI::page()['template'] ?? '') ?: 'default' ) . '.php';
2018-04-29 00:33:52 +02:00
if (file_exists($template)) {
require_once $template;
} else {
require_once str_replace('theme/' . $a->getCurrentTheme() . '/', '', $template);
2018-04-29 00:33:52 +02:00
}
2016-03-28 16:29:05 +02:00
}
}
/**
2020-01-19 07:05:23 +01:00
* Check if page is a modal page
*
2016-03-28 16:29:05 +02:00
* This function checks if $_REQUEST['pagename'] is
* a defined in a $modalpages
*
2016-03-28 16:29:05 +02:00
* @return bool
*/
function is_modal() {
$is_modal = false;
$modalpages = get_modalpage_list();
foreach ($modalpages as $r => $value) {
if(strpos($_REQUEST['pagename'],$value) !== false) {
$is_modal = true;
}
}
2016-03-28 16:29:05 +02:00
return $is_modal;
}
/**
2020-01-19 07:05:23 +01:00
* Array with modalpages
*
2016-03-28 16:29:05 +02:00
* The array contains the page names of the pages
* which should displayed as modals
*
2016-03-28 16:29:05 +02:00
* @return array Pagenames as path
*/
function get_modalpage_list() {
//Arry of pages wich getting bootstrap modal dialogs
$modalpages = ['poke/',
2016-03-28 16:29:05 +02:00
'message/new',
'settings/oauth/add',
'events/new',
// 'fbrowser/image/'
];
2016-03-28 16:29:05 +02:00
return $modalpages;
}
/**
2020-01-19 07:05:23 +01:00
* Array with standard pages
*
2016-03-28 16:29:05 +02:00
* The array contains the page names of the pages
* which should displayed as standard-page
*
2016-03-28 16:29:05 +02:00
* @return array Pagenames as path
*/
function get_standard_page_list() {
//Arry of pages wich getting the standard page template
$standardpages = [//'profile',
2016-03-28 16:29:05 +02:00
// 'fbrowser/image/'
];
2016-03-28 16:29:05 +02:00
return $standardpages;
}
/**
2020-01-19 07:05:23 +01:00
* Check if page is standard page
*
2016-03-28 16:29:05 +02:00
* This function checks if $_REQUEST['pagename'] is
* a defined $standardpages
*
2016-03-28 16:29:05 +02:00
* @param string $pagetitle Title of the actual page
* @return bool
*/
function is_standard_page($pagetitle) {
$is_standard_page = false;
$standardpages = get_standard_page_list();
foreach ($standardpages as $r => $value) {
if(strpos($pagetitle,$value) !== false) {
$is_standard_page = true;
}
}
2016-03-28 16:29:05 +02:00
return $is_standard_page;
}
/**
2020-01-19 07:05:23 +01:00
* Get the typ of the page
*
2016-03-28 16:29:05 +02:00
* @param type $pagetitle
* @return string
*/
function get_page_type($pagetitle) {
$page_type = "";
if(is_modal())
$page_type = "modal";
if(is_standard_page($pagetitle))
$page_type = "standard_page";
if($page_type)
return $page_type;
}