Theme: Integrate ability to use Google Fonts.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2012
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
// make sure the PATH_SEPARATOR is defined
|
||||
umask(2);
|
||||
if (!defined("PATH_SEPARATOR")) {
|
||||
if (strpos($_ENV["OS"], "Win") !== false) {
|
||||
define("PATH_SEPARATOR", ";");
|
||||
} else {
|
||||
define("PATH_SEPARATOR", ":");
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($output_format)) $output_format = (PHP_SAPI == 'cli') ? 'text' : 'html';
|
||||
|
||||
// make sure the document_root is set
|
||||
$_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]);
|
||||
if(PHP_SAPI == 'cli'){
|
||||
chdir(pathinfo(realpath($_SERVER["PHP_SELF"]), PATHINFO_DIRNAME));
|
||||
$script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]);
|
||||
$dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME));
|
||||
if (file_exists('/project_root.php')) {
|
||||
$path = '/';
|
||||
} else {
|
||||
$i = 1;
|
||||
$path = '';
|
||||
while ($i < count($dirs)) {
|
||||
$path .= '/' . $dirs[$i];
|
||||
if (file_exists($path. '/project_root.php')) {
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$_SERVER["DOCUMENT_ROOT"] = $path;
|
||||
}else{
|
||||
$_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]);
|
||||
}
|
||||
$_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]);
|
||||
// try to detect if a project path is being used
|
||||
if (!defined('PROJECT_PATH')) {
|
||||
if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) {
|
||||
define('PROJECT_PATH', '/fusionpbx');
|
||||
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) {
|
||||
define('PROJECT_PATH', '');
|
||||
} else {
|
||||
$dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME)));
|
||||
$i = 1;
|
||||
$path = $_SERVER["DOCUMENT_ROOT"];
|
||||
while ($i < count($dirs)) {
|
||||
$path .= '/' . $dirs[$i];
|
||||
if (file_exists($path. '/project_root.php')) {
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
if(!file_exists($path. '/project_root.php')){
|
||||
die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance");
|
||||
}
|
||||
$project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path);
|
||||
define('PROJECT_PATH', $project_path);
|
||||
}
|
||||
$_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH);
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]);
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
include "root.php";
|
||||
require_once "resources/require.php";
|
||||
|
||||
$font_loader_version = ($_GET['v'] != '') ? $_GET['v'] : 1;
|
||||
|
||||
header("Content-type: text/javascript; charset: UTF-8");
|
||||
|
||||
//web font loader
|
||||
if ($_SESSION['theme']['font_loader']['text'] == 'true') {
|
||||
//parse font names
|
||||
if (is_array($_SESSION['theme']) && sizeof($_SESSION['theme']) > 0) {
|
||||
foreach ($_SESSION['theme'] as $subcategory => $type) {
|
||||
if (substr_count($subcategory, '_font') > 0) {
|
||||
$font_string = $type['text'];
|
||||
if ($font_string != '') {
|
||||
if (substr_count($font_string, ',') > 0) {
|
||||
$tmp_array = explode(',', $font_string);
|
||||
}
|
||||
else {
|
||||
$tmp_array[] = $font_string;
|
||||
}
|
||||
foreach ($tmp_array as $font_name) {
|
||||
$font_name = trim($font_name, "'");
|
||||
$font_name = trim($font_name, '"');
|
||||
$font_name = trim($font_name);
|
||||
$fonts[] = $font_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($fonts, $tmp_array);
|
||||
}
|
||||
}
|
||||
//optimize fonts array
|
||||
$fonts = array_unique($fonts);
|
||||
$common_fonts = 'arial,arial black,arial narrow,calibri,'.
|
||||
'candara,apple gothic,geneva,tahoma,microsoft sans serif,'.
|
||||
'lucidia,lucidia console,monaco,lucidia sans unicode,'.
|
||||
'lucidiagrande,consolas,menlo,trebuchet,trebuchet ms,'.
|
||||
'helvetica,times,times new roman,courier,courier new,'.
|
||||
'impact,comic sans,comic sans ms,georgia,palatino,'.
|
||||
'palatino linotype,verdana,franklin gothic,'.
|
||||
'franklin gothic medium,gill sans,gill sans mt,'.
|
||||
'brush script,corbel';
|
||||
$common_fonts = array(explode(',', $common_fonts));
|
||||
foreach ($fonts as $index => $font) {
|
||||
if (in_array(strtolower($font), $common_fonts)) {
|
||||
unset($fonts[$index]);
|
||||
}
|
||||
}
|
||||
//load fonts
|
||||
if (is_array($fonts) && sizeof($fonts) > 0) {
|
||||
if ($_SESSION['theme']['font_retrieval']['text'] == 'asynchronous') {
|
||||
?>
|
||||
WebFontConfig = {
|
||||
google: {
|
||||
families: ['<?php echo implode("','", $fonts); ?>']
|
||||
}
|
||||
};
|
||||
(function(d) {
|
||||
var wf = d.createElement('script'), s = d.scripts[0];
|
||||
wf.src = '//ajax.googleapis.com/ajax/libs/webfont/<?php echo $font_loader_version; ?>/webfont.js';
|
||||
s.parentNode.insertBefore(wf, s);
|
||||
})(document);
|
||||
<?php
|
||||
}
|
||||
else { //synchronous
|
||||
?>
|
||||
WebFont.load({
|
||||
google: {
|
||||
families: ['<?php echo implode("','", $fonts); ?>']
|
||||
}
|
||||
});
|
||||
<?php
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user