*/
public static function getFaqCategories(array $faqs){
if (count(array_column ($faqs,'categoria'))>0) {
$categorie = array_unique(array_column ($faqs,'categoria'));
foreach ($categorie as $categoria) {
$cats[strtolower(str_replace(' ', '', $categoria))] = $categoria;
}
return self::$categorie = $cats;
} else return [];
}
/**
* Ritorna l'array FAQ ordinato in base alla colonna CATEGORIA e alla colonna ORDINA del foglio FAQ in SETUP_nomeagenzia
*
* @param array $faq
* @return array
*/
public static function sortFAQ(array $faq){
/*
usort($faq, function($a, $b) {
return strcmp ($a["ordine"], $b["ordine"]);
});
*/
$ordine = (count(array_column ($faq,'ordine'))>0) ? array_column($faq, 'ordine') : [];
$categoria = (count(array_column ($faq,'categoria'))>0) ? array_column($faq, 'categoria') : [];
if (count($ordine) > 0 && count($categoria) > 0) {
array_multisort($categoria, SORT_ASC, $ordine, SORT_ASC, $faq);
}
return $faq;
}
/**
* @param array $faqs
* @param string $cat_name Nome della Categoria da contare
* @return int Numero di FAQ presenti nella Categoria
*/
Arguments
"Argument 1 passed to App\Classes\UUtils\UUtils::sortFAQ() must be of the type array, null given, called in /var/www/vhosts/totamanager.com/app.totamanager.com/resources/views/home.faq.php on line 24"
* Web Funnel S.r.l.s.
* Via E. Mele, 19 - 81100 Caserta (CE) - Italy.
* Tel. +39.08231767130 - Fax +39.08231764789
* https://www.webfunnel.it - info@webfunnel.it
*/
use App\Classes\Utils\Utils;
use App\Classes\UUtils\UUtils;
require_once(Utils::userRequire('base'));
$smarty = ($smarty) ?? Utils::$smarty;
$smarty->assign('BODY_class','faq');
$smarty->assign('SECTIONS_FAQ',true);
$smarty->assign('seo_META_TITLE', 'FAQ - Domande poste frequentemente');
$smarty->assign('seo_META_DESCRIPTION','In questa pagina trovi le risposte alle domande poste frequentemente dai nostri clienti');
$smarty->assign('CanonicalURL', UUtils::getAgencyUrl()."faq");
// recupero le FAQ dal soglio SETUP
$faq = UUtils::sortFAQ(UUtils::getFaq());
$smarty->assign('faq', $faq);
// recupero le categorie
$categoriefaq = UUtils::getFaqCategories($faq);
$smarty->assign('categoriefaq', $categoriefaq);
// conto le offerte in ogni categoria
$smarty->assign('totInCategories', UUtils::getTotInCategories($faq));
$stile = UUtils::getStyleId();
switch ($stile) {
case "1":
/* Mostra il logo ed il menu */
require(Utils::userRequire('top'));
/* Mostra il copyright */
require(Utils::userRequire('footer'));
/* Mostra il logo Web Funnel */
require(Utils::userRequire('poweredby'));
break;
}
}
if (! function_exists('view')) {
/**
* Get the evaluated view contents for the given view.
*/
function view($view, array $vars = [])
{
global $TM, $lang, $userid, $userkey, $pag, $step;
if ($TM->getOfflineStatus($userid)>0) $view = 'home.offline';
if (count($vars) > 0) {
foreach ($vars as $chiave => $valore) :
$_REQUEST[$chiave] = $valore ?? '';
endforeach;
extract($vars);
}
require_once(Utils::userRequire($view));
}
}
if (! function_exists('super_unique')) {
/**
* Elimina le righe di $array con valore duplicato della colonna $key.
* Funziona con gli array multidimensionali
*
* @param array $array
* @param string $key
* @param $matches
* @return array
*/
function super_unique(array $array, string $key, &$matches =[]): array
{
$temp_array = [];
foreach ($array as &$v) {
if (!isset($temp_array[$v[$key]]))
$temp_array[$v[$key]] =& $v;
else $matches[]=$v[$key];
}
Arguments
"/var/www/vhosts/totamanager.com/app.totamanager.com/resources/views/home.faq.php"
*
* Web Funnel S.r.l.s.
* Via E. Mele, 19 - 81100 Caserta (CE) - Italy.
* Tel. +39.08231767130 - Fax +39.08231764789
* https://www.webfunnel.it - info@webfunnel.it
*/
/**
* Project: TOTA Manager
* User: Daniele
* Date: 29/10/2018
* Time: 22:01
*/
namespace App\Controllers;
class FaqController extends Controller {
public function default($pag) {
view('home.faq',['pag'=>$pag]);
}
}
$e_title = 'Attenzione:';
$e_msg = $e->getMessage();
$e_desc_array = [];
//.'<br><br>'.print_r($vars)
view('errorpage.404', compact('e_title','e_msg','e_desc_array'));
}
}
public function route($stats, $handler, $vars)
{
try {
if (is_callable($handler)){
call_user_func_array($handler, $vars);
die();
}
list($controller, $method) = explode("@", $handler, 2);
list($controller_path, $namespace_class) = $this->getNamespaceAndPath($controller);
if (file_exists($controller_path)) {
if (method_exists($namespace_class, $method))
call_user_func_array(array(new $namespace_class, $method), $vars);
else throw new \Exception('Il metodo ' . $method . ' non esiste');
} else throw new \Exception( $controller_path . ' non esiste');
} catch (\Exception $e) {
$e_title = 'ATTENZIONE:';
$e_msg = $e->getMessage();
$e_desc_array = [
'<b>File:</b> '.$e->getFile(),
'<b>Line:</b> '.$e->getLine(),
'<b>Code:</b> '.$e->getCode(),
];
//.'<br><br>'.print_r($vars)
view('errorpage.default', compact('e_title','e_msg','e_desc_array'));
}
}
public function getNamespaceAndPath(string $controller): array
{
$subDir = $this->verifySubDir($controller);
if (empty($subDir)) {
$controller_path = __ABSPATH__ . 'app/Controllers/' . $controller . '.php';
$e_title = 'Attenzione:';
$e_msg = $e->getMessage();
$e_desc_array = [];
//.'<br><br>'.print_r($vars)
view('errorpage.404', compact('e_title','e_msg','e_desc_array'));
}
}
public function route($stats, $handler, $vars)
{
try {
if (is_callable($handler)){
call_user_func_array($handler, $vars);
die();
}
list($controller, $method) = explode("@", $handler, 2);
list($controller_path, $namespace_class) = $this->getNamespaceAndPath($controller);
if (file_exists($controller_path)) {
if (method_exists($namespace_class, $method))
call_user_func_array(array(new $namespace_class, $method), $vars);
else throw new \Exception('Il metodo ' . $method . ' non esiste');
} else throw new \Exception( $controller_path . ' non esiste');
} catch (\Exception $e) {
$e_title = 'ATTENZIONE:';
$e_msg = $e->getMessage();
$e_desc_array = [
'<b>File:</b> '.$e->getFile(),
'<b>Line:</b> '.$e->getLine(),
'<b>Code:</b> '.$e->getCode(),
];
//.'<br><br>'.print_r($vars)
view('errorpage.default', compact('e_title','e_msg','e_desc_array'));
}
}
public function getNamespaceAndPath(string $controller): array
{
$subDir = $this->verifySubDir($controller);
if (empty($subDir)) {
$controller_path = __ABSPATH__ . 'app/Controllers/' . $controller . '.php';
if (!$GLOBALS['TM']->checkReportKey($mp_uid, $mp_rkey)) {
throw new \Exception('Accesso non consentito!');
}
unset($vars['mp_rkey']);
}
}
switch ($stats)
{
// ... 404 Not Found
case Dispatcher::NOT_FOUND:
throw new \Exception ("(404 error) L'indirizzo URL è errato oppure è stato rimosso.");
break;
// ... 405 Method Not Allowed
case Dispatcher::METHOD_NOT_ALLOWED:
list($stats, $allowedMethods) = $routeInfo;
throw new \Exception ("(405 error) Metodo consentito '".$allowedMethods);
break;
case Dispatcher::FOUND:
$this->route($stats, $handler, $vars);
break;
}
} catch (\Exception $e) {
$GLOBALS['TM']->checkUser(__USERID__, __USERKEY__);
$e_title = 'Attenzione:';
$e_msg = $e->getMessage();
$e_desc_array = [];
//.'<br><br>'.print_r($vars)
view('errorpage.404', compact('e_title','e_msg','e_desc_array'));
}
}
public function route($stats, $handler, $vars)
{
try {
if (is_callable($handler)){
call_user_func_array($handler, $vars);
die();
}
list($controller, $method) = explode("@", $handler, 2);
// rotte di default ------------------------------------------------------------------------------------------------
$r->get('/', 'Controller@ReditectToIndex');
//dd($r->getData());
});
// Fetch method and URI from somewhere
$this->httpMethod = $this->request->method(); // $_SERVER['REQUEST_METHOD'];
$uri = $this->request->getRequestUri(); // $_SERVER['REQUEST_URI'];
// Strip query string (?foo=bar) and decode URI
if (false !== $pos = strpos($uri, '?')) {
$uri = substr($uri, 0, $pos);
}
$uri = rawurldecode($uri);
$routeInfo = $dispatcher->dispatch($this->httpMethod, $uri);
$this->processQueue($routeInfo);
}
protected function processQueue($routeInfo)
{
try {
list($stats, $handler, $vars) = $routeInfo;
if(is_array($vars)) {
$_GET = array_merge($_GET, $vars);
// Faccio in modo che queste variabili siano GLOBALI
extract($vars);
if (array_key_exists('mp_uid', $vars)) {
$mp_uid = $vars['mp_uid'];
// elimino la variabile dall'array $vars per evitare di doverle sempre aggiungere
// tra gli argomenti del metodo() della classe, anche quando non ci servono
unset($vars['mp_uid']);
}
if (array_key_exists('mp_ukey', $vars)) {
$mp_ukey = $vars['mp_ukey'];
// elimino la variabile dall'array $vars per evitare di doverle sempre aggiungere
// tra gli argomenti del metodo() della classe, anche quando non ci servono
* Web Funnel S.r.l.s.
* Via E. Mele, 19 - 81100 Caserta (CE) - Italy.
* Tel. +39.08231767130 - Fax +39.08231764789
* https://www.webfunnel.it - info@webfunnel.it
*/
use App\Classes\Request\Request;
use App\Classes\Router\Router;
/*
|-----------------------------------------------------------------------------------------------------
| Includo file di configurazione, dipendenze del progetto, traduzioni, helpers, ecc..
|-----------------------------------------------------------------------------------------------------
*/
require_once(__ABSPATH__.'core/bootstrap.php');
$request = Request::createFromGlobals();
$router = new Router($request);
$router->dispatch();
<?php
/**
* Copyright (c) 2015 - 2019. Web Funnel S.r.l.s. - All rights reserved.
*
* Web Funnel S.r.l.s.
* Via E. Mele, 19 - 81100 Caserta (CE) - Italy.
* Tel. +39.08231767130 - Fax +39.08231764789
* https://www.webfunnel.it - info@webfunnel.it
*/
if (!defined('__ABSPATH__')) define('__ABSPATH__', __DIR__ . DIRECTORY_SEPARATOR.'..'. DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'app.totamanager.com'.DIRECTORY_SEPARATOR);
if (!defined('__ADVPATH__')) define('__ADVPATH__', __DIR__ . DIRECTORY_SEPARATOR);
if (!defined('__USERID__') ) define('__USERID__', 'tota');
if (!defined('__USERKEY__')) define('__USERKEY__', 'offerte');
require_once(__ABSPATH__ . 'core/app.php');
?>
Arguments
"/var/www/vhosts/totamanager.com/app.totamanager.com/core/app.php"