diff --git a/.gitignore b/.gitignore
index 26c941d..5b043ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/.bash_history
/.gitconfig
/.mysql_history
+_DOCS
diff --git a/conf/conf.php b/conf/conf.php
deleted file mode 100644
index d4967d3..0000000
--- a/conf/conf.php
+++ /dev/null
@@ -1,73 +0,0 @@
-loadFilter('output', 'trimwhitespace');
-session_start();
-session_reset();
-
-define('COMPOSER_LOADER',PHP_LIB_DIR.'composer/vendor/autoload.php');
-require_once(COMPOSER_LOADER);
-
-require_once(FUNCTIONS_DIR_PATH.'functions.php');
-require_once(FUNCTIONS_DIR_PATH.'dbSqlManager.php');
-
-$GLOBALS['smarty']->assign('site_name',SITE_NAME);
-$GLOBALS['smarty']->assign('online_repo',ONLINE_REPOSITORY);
-
-////////////////////////////////////////////////////////////////////////
-// JS / CSS / FUNCTIONS FILES //////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-
-// ADMIN
-if($GLOBALS['admin']) {
- $cssFiles = array(
- PUBLIC_HTML_ADMIN.'libs/bootstrap-3.3.5/css/bootstrap.min.css',
- PUBLIC_HTML_ADMIN.'libs/bootstrap_modal/bootstrap_modal.css',
- PUBLIC_HTML_ADMIN.'libs/bootstrap_glyphicons/bootstrap_glyphicons.css',
- PUBLIC_HTML_ADMIN.'libs/bootstrap_tooltip_popover/bootstrap_tooltip_popover.css',
- PUBLIC_HTML_ADMIN.'libs/jquery-ui-bootstrap/css/custom-theme/jquery-ui-1.10.3.custom.css',
- PUBLIC_HTML_ADMIN.'libs/intl-tel-input/build/css/intlTelInput.css',
- PUBLIC_HTML_ADMIN.'css/admin.css'
- );
-
- $jsFiles = array(
- PUBLIC_HTML_ADMIN.'libs/jquery/jquery-2.1.4.min.js',
- PUBLIC_HTML_ADMIN.'libs/bootstrap-3.3.5/js/bootstrap.min.js',
- PUBLIC_HTML_ADMIN.'libs/jquery-ui-1.11.4/jquery-ui.min.js',
- PUBLIC_HTML_ADMIN.'libs/jquery.ui.autocomplete.html.js',
- PUBLIC_HTML_ADMIN.'libs/moment/moment.js',
- PUBLIC_HTML_ADMIN.'libs/bootstrap_modal/bootstrap_modal.js',
- PUBLIC_HTML_ADMIN.'libs/bootstrap_tooltip_popover/bootstrap_tooltip_popover.js',
- PUBLIC_HTML_ADMIN.'libs/intl-tel-input/build/js/intlTelInput.js',
- PUBLIC_HTML_ADMIN.'js/functions.js',
- PUBLIC_HTML_ADMIN.'js/navSecondBar.js'
- );
-
- require_once(FUNCTIONS_DIR_PATH.'functions_generals.php');
- require_once(FUNCTIONS_DIR_PATH.'functions_tmp_files.php');
-}
diff --git a/conf/settings.php b/conf/settings.php
index f701c11..82c05e2 100644
--- a/conf/settings.php
+++ b/conf/settings.php
@@ -11,7 +11,6 @@ define("SITE_NAME", "La p'tite fourmi - Gestion paniers");
////////////////////////////////////////////////////////////////////////
define('ONLINE_REPOSITORY', !($_SERVER["SERVER_NAME"] == "localhost" || $_SERVER["SERVER_NAME"] == "127.0.0.1"));
-define("PROJECT_KEY", "PQ4re2r9y@AV-Tn>_Fy7<507ln3U_qTc");
////////////////////////////////////////////////////////////////////////
// DEBUG & PHP ERROR SETTINGS //////////////////////////////////////////
@@ -47,6 +46,17 @@ else {
define('PUBLIC_HTML_ADMIN','http://localhost/paniers/public_html_admin/');
}
+////////////////////////////////////////////////////////////////////////
+// DIRECTORIES /////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+define("FUNCTIONS_DIR_PATH",ROOT_DIR_PATH."functions/");
+define('PUBLIC_HTML_ADMIN_PATH',ROOT_DIR_PATH.'public_html_admin/');
+
+// TMP DIR
+define('TMP_DIR',ROOT_DIR_PATH."tmp/");
+if(!file_exists(TMP_DIR)) mkdir(TMP_DIR);
+
////////////////////////////////////////////////////////////////////////
// DB CONFIG ///////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
@@ -68,7 +78,7 @@ define('AUTO_ARCHIVE_OLD_LIVRAISONS_DELAY',5); // NB DE JOURS
define('AUTO_ARCHIVE_OLD_CONTRATS_DELAY',5); // NB DE JOURS (après le dernier panier livré)
////////////////////////////////////////////////////////////////////////
-// LISTES - NB DE LIGNE PAR PAGE ///////////////////////////////////////
+// LISTES - NB DE LIGNES PAR PAGE //////////////////////////////////////
////////////////////////////////////////////////////////////////////////
define('LIST_NB_LIGNES_PAR_PAGE',30);
@@ -84,5 +94,9 @@ define('WARNING_NB_PANIERS_QUINZE',1);
// LIBS ////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
+define('PHP_LIB_DIR',ROOT_DIR_PATH."php_libs/");
+
+define('COMPOSER_LOADER',PHP_LIB_DIR.'vendor/autoload.php');
+
if(ONLINE_REPOSITORY) define('MYSQLDUMP',"/usr/bin/mysqldump");
else define('MYSQLDUMP',"/Applications/MAMP/Library/bin/mysqldump");
diff --git a/functions/functions.php b/functions/functions.php
index 1fd3c31..98c75db 100644
--- a/functions/functions.php
+++ b/functions/functions.php
@@ -3,33 +3,15 @@
// SMARTY DISPLAY //
function display() {
- $GLOBALS['smarty'] -> assign('prefixe',isset($GLOBALS['prefixe']) ? $GLOBALS['prefixe'] : "");
- $GLOBALS['smarty'] -> assign('publicHTML',PUBLIC_HTML);
- $GLOBALS['smarty'] -> assign('publicHTMLadmin',PUBLIC_HTML_ADMIN);
- $GLOBALS['smarty'] -> assign('racine',isset($GLOBALS['racine']) ? $GLOBALS['racine'] : "");
- $GLOBALS['smarty'] -> assign('frameDisplay',isset($GLOBALS['frameDisplay']) ? $GLOBALS['frameDisplay'] : false);
- $GLOBALS['smarty'] -> assign('noMenu',isset($GLOBALS['noMenu']) ? $GLOBALS['noMenu'] : false);
$GLOBALS['smarty'] -> assign('debug',isset($GLOBALS['debug']) ? $GLOBALS['debug'] : false);
$GLOBALS['smarty'] -> assign('errors',isset($GLOBALS['errors']) ? $GLOBALS['errors'] : false);
- $GLOBALS['smarty'] -> assign('user',isset($_SESSION['user']) ? $_SESSION['user'] : false);
$GLOBALS['smarty'] -> assign('gitVS',getGitVersion());
- if(isset($GLOBALS['frameDisplay']) && $GLOBALS['frameDisplay']) {
- $datas = array(
- 'content' => $GLOBALS['smarty'] -> fetch('msg.tpl').$GLOBALS['smarty'] -> fetch($GLOBALS['template']),
- 'page' => $GLOBALS['smarty']->getTemplateVars('page'),
- 'jsFiles' => $GLOBALS['jsFiles'],
- 'cssFiles' => $GLOBALS['cssFiles']
- );
- die(json_encode($datas));
- }
- else {
- $GLOBALS['smarty'] -> assign('jsFiles',$GLOBALS['jsFiles']);
- $GLOBALS['smarty'] -> assign('cssFiles',$GLOBALS['cssFiles']);
+ $GLOBALS['smarty'] -> assign('jsFiles',$GLOBALS['jsFiles']);
+ $GLOBALS['smarty'] -> assign('cssFiles',$GLOBALS['cssFiles']);
- $GLOBALS['smarty'] -> display($GLOBALS['template']);
- die();
- }
+ $GLOBALS['smarty'] -> display($GLOBALS['template']);
+ die();
}
// DEBUG & ERRORS //
@@ -108,334 +90,6 @@ function getGitVersion() {
return $version;
}
-// IMPORT EXCEL FILE
-
-function uploadExcelFile($uploadFileName = 'csv_file') {
- if(file_exists($_FILES[$uploadFileName]['tmp_name'])) {
- $allow_mime_type=array('application/octet-stream',"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- if (in_array($_FILES[$uploadFileName]['type'],$allow_mime_type)) {
- $tmp = DOCS_TMP_DIR.'/tmp_'.time().'.xlsx';
- if(move_uploaded_file($_FILES[$uploadFileName]['tmp_name'], $tmp)) { // Déplace dans le dossier tmp
- return $tmp;
- }
- }
- else {
- $GLOBALS['errors'][] = "ERREUR : Le fichier chargé n'est pas un fichier Excel ! (".$_FILES[$uploadFileName]['type'].') ';
- }
- }
- else {
- $GLOBALS['errors'][] = "ERREUR : Aucun fichier uplaodé !";
- }
-
- return false;
-}
-
-function parseExcelFile($file, $sheetName, $vals, $deleteIfNull=array(), $correctPhoneNum=array(), $correctNL2BR=array()) {
- if(isset($GLOBALS['prefixe'])) require_once $GLOBALS['prefixe'].'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
- else require_once 'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
-
- if(!file_exists($file)) return "ERREUR : le fichier n'éxiste pas !";
-
- // LOAD FILE
- try {
- $objPHPExcel = PHPExcel_IOFactory::load($file);
- }
- catch ( Exception $e ) {
- return "ERREUR : ".$e->getMessage();
- }
-
- // LOAD SHEET
-
- $sheet = $objPHPExcel->getSheetByName($sheetName);
- if(!$sheet) {
- return "ERREUR : la feuille '".$sheetName."' est introuvable ! feuilles disponible : ".afficheArray($objPHPExcel->getSheetNames());
- }
-
- // LOAD SHEETDATAS
- $sheetDatas = $sheet->toArray(null,true,true,true);
-
- // FIND LINKS
- $linkValsCols = array();
- $cols = $sheetDatas[1];
- foreach ($cols as $key => $val) {
- if($val !="" && in_array($val, $vals)) {
- $linkValsCols[ array_search($val,$vals) ] = $key; //
- }
- }
-
- if(count($linkValsCols) != count($vals)) {
- $er = "ERREUR : les valeurs suivantes sont introuvables dans le fichier importé !
";
- foreach($vals as $key => $val) {
- if(!array_key_exists(array_search($val,$vals),$linkValsCols)) $er .= "\"".$val."\" ";
- }
- $er.=" ";
- return $er;
- }
-
- // GET ROWS
- $liste = array();
- for($i=2;$i<=count($sheetDatas);$i++) {
- $row = array();
- foreach($linkValsCols as $val => $key) {
- $row[$val] = $sheetDatas[$i][$key];
- }
- $liste[] = $row;
- }
-
- $objPHPExcel->disconnectWorksheets();
- unset($objPHPExcel);
-
-
- $checkNull = (count($deleteIfNull)>0);
- $newListe = array();
- for($i=0;$i $val) {
- if(!((string)$liste[$i][$key]!="")) $liste[$i][$key] = "";
- }
- $newListe[] = $liste[$i];
- }
- }
-
- return $newListe;
-
-}
-
-// EXPORT EXCEL FILE
-
-function createExcelObj($title,$subject,$desc) {
- if(isset($GLOBALS['prefixe'])) require_once $GLOBALS['prefixe'].'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
- else require_once 'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
-
- // CREATE OBJ
- try {
-
- // CREATION DE L'OBJECT EXCEL
- $objPHPExcel = new PHPExcel();
-
- $objPHPExcel->getProperties()->setCreator("ERP - alabama");
- $objPHPExcel->getProperties()->setLastModifiedBy("ERP");
- $objPHPExcel->getProperties()->setTitle($title);
- $objPHPExcel->getProperties()->setSubject($subject);
- $objPHPExcel->getProperties()->setDescription($desc);
-
- return $objPHPExcel;
- }
- catch ( Exception $e ) {
- return "ERREUR : ".$e->getMessage();
- }
-}
-
-function writeSheetInExcelObj($objPHPExcel, $sheetIndex, $sheetName, $vals, $datas, $colSizes=array() ,$colAlign=array(), $correctNL2R=array()) {
- if(isset($GLOBALS['prefixe'])) require_once $GLOBALS['prefixe'].'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
- else require_once 'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
-
- // ON CREER LA FEUILLE
- if($sheetIndex>0) {
- $objPHPExcel->createSheet($sheetIndex);
- $objPHPExcel->setActiveSheetIndex($sheetIndex);
- }
- $sheet=$objPHPExcel->getActiveSheet();
- $sheet->setTitle($sheetName);
-
- // ON CREER LES TITRES DE COLONNES
- $styleArrayTitre = array(
- 'font' => array(
- 'name' => 'Arial',
- 'bold' => true,
- 'size' => 14
- ),
- 'alignment' => array(
- 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
- 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
- 'wrapText' => true
- ),
- 'borders' => array(
- 'top' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- 'left' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- 'right' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- 'bottom' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- ),
- 'fill' => array(
- 'type' => PHPExcel_Style_Fill::FILL_SOLID,
- 'startcolor' => array(
- 'argb' => 'FFC1C1C1',
- ),
- )
- );
- $col = 0;
- $sheet->getRowDimension(1)->setRowHeight(30);
- $lastCol = "A";
- foreach($vals as $k => $v) {
- $cell = $sheet->getCellByColumnAndRow($col, 1);
- $crd = $cell->getCoordinate();
- $lastCol = $cell->getColumn();
-
- $cell->setValue($v);
- $sheet->getStyle($crd)->applyFromArray($styleArrayTitre);
- $sheet->getStyle($crd)->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_PROTECTED);
-
- // LARGEUR DE COLONNE
- if(array_key_exists($k,$colSizes)) $sheet->getColumnDimension($cell->getColumn())->setWidth($colSizes[$k]);
-
- // ALIGNEMENT
- if(array_key_exists($k,$colAlign)) {
- if($colAlign[$k]=="center")
- $sheet->getStyle($lastCol)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
- else if($colAlign[$k]=="right")
- $sheet->getStyle($lastCol)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
- else
- $sheet->getStyle($lastCol)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
- }
-
- $col++;
- }
-
- // ON CREER LES LIGNES DE VALEURS
- $styleArrayValPair = array(
- 'font' => array(
- 'name' => 'Arial',
- 'bold' => false,
- 'size' => 12
- ),
- 'alignment' => array(
- 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
- 'wrapText' => true
- ),
- 'borders' => array(
- 'top' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- 'left' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- 'right' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- 'bottom' => array(
- 'style' => PHPExcel_Style_Border::BORDER_THIN,
- ),
- ),
- );
-
- $styleArrayValImpair = $styleArrayValPair;
- $styleArrayValImpair['fill'] = array(
- 'type' => PHPExcel_Style_Fill::FILL_SOLID,
- 'startcolor' => array(
- 'argb' => 'FFADE9FF'
- )
- );
- $row = 2;
- foreach($datas as $l) {
- // APPLY FORMAT
- if($row%2 == 1) $sheet->getStyle("A".$row.":".$lastCol.$row)->applyFromArray($styleArrayValImpair);
- else $sheet->getStyle("A".$row.":".$lastCol.$row)->applyFromArray($styleArrayValPair);
- $sheet->getRowDimension($row)->setRowHeight(50);
-
- $col = 0;
- foreach($vals as $k => $v) {
- $cell = $sheet->getCellByColumnAndRow($col, $row);
- $crd = $cell->getCoordinate();
-
- if(in_array($k,$correctNL2R)) {
- $val = str_replace(array(" ","\n"),"\r",$l[$v]);
- $sheet->getStyle($crd)->getAlignment()->setWrapText(true);
- }
- else $val = str_replace(array(" ","\n"),"",$l[$v]);
-
- $cell->setValue($val);
-
- $col++;
- }
- $row++;
- }
- return $objPHPExcel;
-}
-
-function downloadExcelObj($objPHPExcel, $fileName) {
- if(isset($GLOBALS['prefixe'])) require_once $GLOBALS['prefixe'].'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
- else require_once 'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
-
- // SAVE FILE
- try {
- $objPHPExcel->setActiveSheetIndex(0);
-
- $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
- $objWriter->setIncludeCharts(true);
-
- ini_set('zlib.output_compression', 0);
-
- $date = gmdate(DATE_RFC1123);
-
- header('Pragma: public');
- header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
-
- header('Content-Tranfer-Encoding: none');
- header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; name="'.$fileName.'"');
- header('Content-Disposition: inline; filename="'.$fileName.'"');
-
- $objWriter->save('php://output');
- exit();
- }
- catch ( Exception $e ) {
- return "ERREUR : ".$e->getMessage();
- }
-}
-
-function htmlDisplayExcelObj($objPHPExcel) {
- if(isset($GLOBALS['prefixe'])) require_once $GLOBALS['prefixe'].'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
- else require_once 'libs/PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
-
- // DISPLAY OBJ
- try {
- $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML');
- $objWriter->save('php://output');
-
- return true;
- }
- catch ( Exception $e ) {
- return "ERREUR : ".$e->getMessage();
- }
-}
-
// FORMAT
function br2nl($string) {
@@ -1081,235 +735,6 @@ function getYearJoursFeries($year=false,$format="Y-m-d") {
return $liste;
}
-function getHeadCol($target=false,$start=false,$end=false) {
- if(!$start && !$end) {
- if(!$target) $target=strftime("%d/%m/%Y");
- $target = getTime($target,"start","%d/%m/%Y");
-
- switch($_SESSION['periode_view']) {
- case "m":
- return getYearHeadCol(date('Y',$target),date('n',$target),date('n',$target));
- break;
- case "1m":
- $mois = array();
-
- if(date('n',$target)>1) $mois[] = getMonthHeadCol(date('Y',$target),date('n',$target)-1);
- else $mois[] = getMonthHeadCol((date('Y',$target)-1),12);
-
- $mois[] = getMonthHeadCol(date('Y',$target),date('n',$target));
-
- if(date('n',$target)<12) $mois[] = getMonthHeadCol(date('Y',$target),date('n',$target)+1);
- else $mois[] = getMonthHeadCol((date('Y',$target)+1),1);
-
- return $mois;
- break;
- case "3m":
- $mois = array();
-
- if(date('n',$target)>3) $mois = getYearHeadCol(date('Y',$target),(date('n',$target)-3),date('n',$target));
- else {
- $mois = getYearHeadCol((date('Y',$target)-1),(date('n',$target)-3+12),12);
-
- $ms = getYearHeadCol(date('Y',$target),1,date('n',$target));
- foreach($ms as $m) array_push($mois, $m);
- }
-
- if(date('n',$target)<10) {
- $ms = getYearHeadCol(date('Y',$target),(date('n',$target)+1),(date('n',$target)+3));
- foreach($ms as $m) array_push($mois, $m);
- }
- else {
- $ms = getYearHeadCol(date('Y',$target),(date('n',$target)+1),12);
- foreach($ms as $m) array_push($mois, $m);
-
- $ms = getYearHeadCol((date('Y',$target)+1),1,(date('n',$target)+3-12));
- foreach($ms as $m) array_push($mois, $m);
- }
-
- return $mois;
- break;
- case "6m":
- $mois = array();
-
- if(date('n',$target)>6) $mois = getYearHeadCol(date('Y',$target),(date('n',$target)-6),date('m',$target));
- else {
- $mois = getYearHeadCol((date('Y',$target)-1),(date('n',$target)-6+12),12);
-
- $ms = getYearHeadCol(date('Y',$target),1,date('n',$target));
- foreach($ms as $m) array_push($mois, $m);
- }
-
- if(date('n',$target)<7) {
- $ms = getYearHeadCol(date('Y',$target),(date('n',$target)+1),(date('n',$target)+6));
- foreach($ms as $m) array_push($mois, $m);
- }
- else {
- $ms = getYearHeadCol(date('Y',$target),(date('n',$target)+1),12);
- foreach($ms as $m) array_push($mois, $m);
-
- $ms = getYearHeadCol((date('Y',$target)+1),1,(date('n',$target)+6-12));
- foreach($ms as $m) array_push($mois, $m);
- }
-
- return $mois;
- break;
- case "1y":
- $year = array(date('Y',$target)-1, date('Y',$target), date('Y',$target)+1);
- $mois = array();
-
- foreach($year as $y) {
- $ms = getYearHeadCol($y);
-
- foreach($ms as $m) {
- array_push($mois, $m);
- }
- }
-
- return $mois;
- break;
- default :
- return getYearHeadCol(date('Y',$target),date('n',$target),date('n',$target));
- break;
- }
- }
- else {
- $start = getTime($start,'start',"%Y-%m-%d");
- $end = getTime($end,'start',"%Y-%m-%d");
-
- $mois = array();
-
- $t = $start;
- while($t<$end) {
- $j = date('j',$t);
- $m = date('n',$t);
- $mNbj = date('t',$t);
- $y = date('Y',$t);
- $mEnd = mktime('0','0','0',$m,$mNbj,$y);
-
- if($mEnd < $end) {
- // Mois en cours jusqu'à la fin du mois
- $mois[] = getMonthHeadCol($y,$m,$j,$mNbj);
- $t = $mEnd + 86400;
- }
- else {
- // Mois en cours jusqu'à la date de fin
- $mois[] = getMonthHeadCol($y,$m,$j,date('j',$end));
- $t = $end;
- }
- }
- return $mois;
- }
-}
-
-function getOpeHeadCol($debut,$fin) {
- $mois = array();
-
- // CREATION DES JOURS
- $edt = new DateTime($debut, new DateTimeZone("Europe/Paris"));
- $edt->setTime(0, 0, 0);
- $eft = new DateTime($fin, new DateTimeZone("Europe/Paris"));
- $eft->setTime(23,59, 59);
-
- foreach (new DatePeriod($edt, new DateInterval('P1D'), $eft) as $dt) {
- $dt->setTime(0, 0, 0);
-
- $j = intval($dt->format('d'));
- $m = $dt->format('Y-m');
- $im = intval($dt->format('m'));
- $y = intval($dt->format('Y'));
-
- if(!isset($mois[$m])) {
- $mois[$m] = array(
- 'num' => $im,
- 'nom' => $GLOBALS['PRINT_MOIS'][$im],
- 'nom_court' => $GLOBALS['PRINT_MOIS_COURT'][$im],
- 'annee' => $y,
- 'nb_jours' => 0,
- 'jours' => array()
- );
- }
-
- $t = mktime('0', '0', '0', $im, $j, $y);
- $ind = strftime('%w',$t);
-
- $mois[$m]['jours'][$j] = array(
- 'num' => $j,
- 'jour' => $GLOBALS['PRINT_JOUR'][$ind],
- 'jour_court' => $GLOBALS['PRINT_JOUR_COURT'][$ind],
- 'ind' => $ind,
- 'date' => $dt->format('d/m/Y'),strftime('%d/%m/%Y',$t),
- 'date_link' => $dt->format('Y-m-d'),
- 'time' => $t
- );
- $mois[$m]['nb_jours']++;
- }
- return $mois;
-}
-
-function getYearHeadCol($year,$startM=1,$endM=12) {
- //addDebug("de ".$GLOBALS['PRINT_MOIS_COURT'][$startM]." à ".$GLOBALS['PRINT_MOIS_COURT'][$endM]." ".$year,"getYearHeadCol");
- $mois = array();
- for($i=$startM;$i<=$endM;$i++) {
- $mois[$i] = array(
- 'num' => $i,
- 'nom' => $GLOBALS['PRINT_MOIS'][$i],
- 'nom_court' => $GLOBALS['PRINT_MOIS_COURT'][$i],
- 'annee' => $year,
- 'nb_jours' => cal_days_in_month(CAL_GREGORIAN, $i, $year),
- 'jours' => array()
- );
-
- for($j=1 ; $j<=cal_days_in_month(CAL_GREGORIAN, $i, $year) ; $j++) {
- $t = mktime('0', '0', '0', $i, $j, $year);
- $ind = strftime('%w',$t);
- $mois[$i]['jours'][$j] = array(
- 'num' => $j,
- 'jour' => $GLOBALS['PRINT_JOUR'][$ind],
- 'jour_court' => $GLOBALS['PRINT_JOUR_COURT'][$ind],
- 'ind' => $ind,
- 'date' => strftime('%d/%m/%Y',$t),
- 'date_link' => strftime('%Y-%m-%d',$t),
- 'time' => $t
- );
- }
-
- }
- return $mois;
-}
-
-function getMonthHeadCol($year,$m,$startJ=false,$endJ=false) {
- //addDebug($GLOBALS['PRINT_MOIS_COURT'][$m]." ".$year ,"getMonthHeadCol");
- $mois = array(
- 'num' => $m,
- 'nom' => $GLOBALS['PRINT_MOIS'][$m],
- 'nom_court' => $GLOBALS['PRINT_MOIS_COURT'][$m],
- 'annee' => $year,
- 'nb_jours' => cal_days_in_month(CAL_GREGORIAN, $m, $year),
- 'jours' => array()
- );
-
- $nbj = cal_days_in_month(CAL_GREGORIAN, $m, $year);
- if(!$startJ || $startJ>$nbj || (int)$startJ==0) $startJ = 1;
-
- if(!$endJ || $endJ>$nbj || (int)$endJ==0) $endJ = $nbj;
-
- for($j=$startJ ; $j<=$endJ ; $j++) {
- $t = mktime('0', '0', '0', $m, $j, $year);
- $ind = strftime('%w',$t);
- $mois['jours'][$j] = array(
- 'num' => $j,
- 'jour' => $GLOBALS['PRINT_JOUR'][$ind],
- 'jour_court' => $GLOBALS['PRINT_JOUR_COURT'][$ind],
- 'ind' => $ind,
- 'date' => strftime('%d/%m/%Y',$t),
- 'date_link' => strftime('%Y-%m-%d',$t),
- 'time' => $t
- );
- }
-
- return $mois;
-}
-
function diffNbJours($debut, $fin,$format='date') {
//60 secondes X 60 minutes X 24 heures dans une journée
$nbSecondes= 60*60*24;
@@ -1377,6 +802,8 @@ function getNbOpenDays($date_start, $date_end) {
return $nb_days_open;
}
+/*** REMPLACE SYMBOLES ***/
+
function replaceSymboles($string){
$replaceSymboles = Array(
" " => "_",
diff --git a/functions/functions_tmp_files.php b/functions/functions_tmp_files.php
index 92fd348..296c156 100644
--- a/functions/functions_tmp_files.php
+++ b/functions/functions_tmp_files.php
@@ -1,5 +1,4 @@
loadFilter('output', 'trimwhitespace');
+
+$GLOBALS['smarty']->assign('site_name',SITE_NAME);
+$GLOBALS['smarty']->assign('online_repo',ONLINE_REPOSITORY);
+
+////////////////////////////////////////////////////////////////////////
+// CONNECTION A LA BASE DE DONNEES /////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+if(!$GLOBALS['db_admin']['man']) {
+ // CREATION DU DB MANAGER APP
+ $GLOBALS['db_admin']['man'] = new dbSqlManager;
+ $GLOBALS['db_admin']['man']->setDbConf(
+ $GLOBALS['db_admin']['type'],
+ $GLOBALS['db_admin']['db'],
+ $GLOBALS['db_admin']['user'],
+ $GLOBALS['db_admin']['pwd'],
+ $GLOBALS['db_admin']['host']
+ );
+ $r = $GLOBALS['db_admin']['man']->connect();
+ if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")");
+}
+
+////////////////////////////////////////////////////////////////////////
+// JS / CSS / FUNCTIONS FILES //////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+$cssFiles = array(
+ PUBLIC_HTML_ADMIN.'libs/bootstrap-3.3.5/css/bootstrap.min.css',
+ PUBLIC_HTML_ADMIN.'libs/bootstrap_modal/bootstrap_modal.css',
+ PUBLIC_HTML_ADMIN.'libs/bootstrap_glyphicons/bootstrap_glyphicons.css',
+ PUBLIC_HTML_ADMIN.'libs/bootstrap_tooltip_popover/bootstrap_tooltip_popover.css',
+ PUBLIC_HTML_ADMIN.'libs/jquery-ui-bootstrap/css/custom-theme/jquery-ui-1.10.3.custom.css',
+ PUBLIC_HTML_ADMIN.'libs/intl-tel-input/build/css/intlTelInput.css',
+ PUBLIC_HTML_ADMIN.'css/admin.css'
+);
+
+$jsFiles = array(
+ PUBLIC_HTML_ADMIN.'libs/jquery/jquery-2.1.4.min.js',
+ PUBLIC_HTML_ADMIN.'libs/bootstrap-3.3.5/js/bootstrap.min.js',
+ PUBLIC_HTML_ADMIN.'libs/jquery-ui-1.11.4/jquery-ui.min.js',
+ PUBLIC_HTML_ADMIN.'libs/jquery.ui.autocomplete.html.js',
+ PUBLIC_HTML_ADMIN.'libs/moment/moment.js',
+ PUBLIC_HTML_ADMIN.'libs/bootstrap_modal/bootstrap_modal.js',
+ PUBLIC_HTML_ADMIN.'libs/bootstrap_tooltip_popover/bootstrap_tooltip_popover.js',
+ PUBLIC_HTML_ADMIN.'libs/intl-tel-input/build/js/intlTelInput.js',
+ PUBLIC_HTML_ADMIN.'js/functions.js',
+ PUBLIC_HTML_ADMIN.'js/navSecondBar.js'
+);
+
+////////////////////////////////////////////////////////////////////////
+// ACTION & REF ////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+$action = false;
+if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] );
+
+$id = false;
+if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0) $id = intval($_REQUEST["ref"]);
diff --git a/paniers.sql b/paniers.sql
deleted file mode 100644
index bbf6d19..0000000
--- a/paniers.sql
+++ /dev/null
@@ -1,321 +0,0 @@
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-START TRANSACTION;
-SET time_zone = "+00:00";
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `paniers_groupes`
--- --------------------------------------------------------
-
-CREATE TABLE `paniers_groupes` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `nom` varchar(64) NOT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `paniers_types`
--- --------------------------------------------------------
-
-CREATE TABLE `paniers_types` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `groupe` smallint(5) UNSIGNED NOT NULL,
- `nom` varchar(64) NOT NULL,
- `valeur` float(5,2) UNSIGNED NOT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- CONSTRAINT `paniers_types_groupe_fk` FOREIGN KEY (`groupe`) REFERENCES `paniers_groupes`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `lieux`
--- --------------------------------------------------------
-
-CREATE TABLE `lieux` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `nom` varchar(64) NOT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `clients`
--- --------------------------------------------------------
-
-CREATE TABLE `clients` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `nom` varchar(64) NOT NULL,
- `prenom` varchar(64) NOT NULL,
- `tel` varchar(20) NULL DEFAULT NULL,
- `email` varchar(128) NULL DEFAULT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `clients_absences`
--- --------------------------------------------------------
-
-CREATE TABLE `clients_absences` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT ,
- `client` smallint(5) UNSIGNED NOT NULL ,
- `debut` DATE NOT NULL ,
- `fin` DATE NOT NULL ,
- `remarque` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- CONSTRAINT `clients_absences_client_fk` FOREIGN KEY (`client`) REFERENCES `clients`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`del`)
-)
-ENGINE = InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `contrats_types`
--- --------------------------------------------------------
-
-CREATE TABLE `contrats_types` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `groupe` smallint(5) UNSIGNED NOT NULL,
- `nom` varchar(128) NOT NULL,
- `frequence` set('hebdo','quinz') NOT NULL,
- `panier_type` smallint(5) UNSIGNED NOT NULL,
- `nb_paniers` smallint(2) UNSIGNED NOT NULL,
- `prix_total` float(6,2) UNSIGNED NOT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- CONSTRAINT `contrats_types_groupe_fk` FOREIGN KEY (`groupe`) REFERENCES `paniers_groupes`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX(`frequence`),
- CONSTRAINT `contrats_types_panier_type_fk` FOREIGN KEY (`panier_type`) REFERENCES `paniers_types`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `contrats`
--- --------------------------------------------------------
-
-CREATE TABLE `contrats` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `client` smallint(5) UNSIGNED NOT NULL,
- `type` smallint(5) UNSIGNED NULL DEFAULT NULL,
- `groupe` smallint(5) UNSIGNED NOT NULL,
- `frequence` set('hebdo','quinz') NOT NULL,
- `panier_type` smallint(5) UNSIGNED NOT NULL,
- `nb_paniers` smallint(2) UNSIGNED NOT NULL,
- `date` date NOT NULL,
- `quinz_groupe` set('A','B') NULL DEFAULT NULL,
- `lieu_depot` smallint(5) UNSIGNED NOT NULL,
- `nb_cheque` int(2) UNSIGNED NOT NULL DEFAULT '0',
- `np_paniers_distrib_avt_saisie` int(2) UNSIGNED NOT NULL DEFAULT '0',
- `force_eligible` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `ignore_warning` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `force_not_archive` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `archive` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- CONSTRAINT `contrats_client_fk` FOREIGN KEY (`client`) REFERENCES `clients`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `contrats_type_fk` FOREIGN KEY (`type`) REFERENCES `contrats_types`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `paniers_groupe_fk` FOREIGN KEY (`groupe`) REFERENCES `paniers_groupes`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX(`frequence`),
- CONSTRAINT `contrats_panier_type_fk` FOREIGN KEY (`panier_type`) REFERENCES `paniers_types`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX(`quinz_groupe`),
- CONSTRAINT `contrats_lieu_depot_fk` FOREIGN KEY (`lieu_depot`) REFERENCES `lieux`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX(`archive`),
- INDEX (`force_not_archive`),
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `legumes`
--- --------------------------------------------------------
-
-CREATE TABLE `legumes` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `nom` varchar(64) NOT NULL,
- `tarif` smallint(5) UNSIGNED NULL DEFAULT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- INDEX (`tarif`),
- INDEX (`del`)
-)
-ENGINE = InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `legume_tarifs`
--- --------------------------------------------------------
-
-CREATE TABLE `legumes_tarifs` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `legume` smallint(5) UNSIGNED NOT NULL,
- `groupe` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
- `prix` float(5,2) UNSIGNED NOT NULL,
- `unite` set('kg','pièce','botte') NOT NULL DEFAULT 'kg',
- `date` date NOT NULL,
- `archive` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- CONSTRAINT `legumes_tarifs_legume_fk` FOREIGN KEY (`legume`) REFERENCES `legumes`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`groupe`),
- INDEX (`archive`),
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `livraisons`
--- --------------------------------------------------------
-
-CREATE TABLE `livraisons` (
- `ref` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
- `paniers_groupe` smallint(5) UNSIGNED NOT NULL,
- `date` date NOT NULL,
- `quinz_groupe` set('A','B') NOT NULL,
- `archive` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `force_not_archive` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- PRIMARY KEY (`ref`),
- CONSTRAINT `livraisons_paniers_groupe_fk` FOREIGN KEY (`paniers_groupe`) REFERENCES `paniers_groupes`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`archive`),
- INDEX (`force_not_archive`),
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `livraisons_legumes`
--- --------------------------------------------------------
-
-CREATE TABLE `livraisons_legumes` (
- `livraison` smallint(5) UNSIGNED NOT NULL,
- `legume` smallint(5) UNSIGNED NOT NULL,
- `panier_type` smallint(5) UNSIGNED NOT NULL,
- `tarif` smallint(5) UNSIGNED NOT NULL,
- `quantite` float(5,2) UNSIGNED NOT NULL,
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- UNIQUE (`livraison`, `legume`, `panier_type`),
- CONSTRAINT `livraisons_legumes_livraison_fk` FOREIGN KEY (`livraison`) REFERENCES `livraisons`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `livraisons_legumes_panier_type_fk` FOREIGN KEY (`panier_type`) REFERENCES `paniers_types`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `livraisons_legumes_legume_fk` FOREIGN KEY (`legume`) REFERENCES `legumes`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `livraisons_legumes_tarif_fk` FOREIGN KEY (`tarif`) REFERENCES `legumes_tarifs`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA TABLE `livraisons_paniers`
--- --------------------------------------------------------
-
-CREATE TABLE `livraisons_paniers` (
- `livraison` smallint(5) UNSIGNED NOT NULL,
- `contrat` smallint(5) UNSIGNED NOT NULL,
- `complement` float(5,2) UNSIGNED NOT NULL DEFAULT '0',
- `complement_regle` float(5,2) UNSIGNED NOT NULL DEFAULT '0',
- `del` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
- UNIQUE (`livraison`, `contrat`),
- CONSTRAINT `livraisons_paniers_livraison_fk` FOREIGN KEY (`livraison`) REFERENCES `livraisons`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `livraisons_paniers_contrat_fk` FOREIGN KEY (`contrat`) REFERENCES `contrats`(`ref`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- INDEX (`del`)
-)
-ENGINE=InnoDB
-DEFAULT CHARSET=utf8;
-
--- ########################################################
--- ### SQL VIEWS ##########################################
--- ########################################################
-
--- --------------------------------------------------------
--- STRUCTURE DE LA VIEW `contrats_nb_paniers_livres`
--- --------------------------------------------------------
-
-CREATE VIEW `contrats_count_nb_paniers_livres` AS
- SELECT
- `contrats`.ref,
- COUNT(*) as 'nb_paniers_livres'
- FROM `livraisons_paniers`
- LEFT JOIN contrats ON livraisons_paniers.contrat = contrats.ref
- WHERE `livraisons_paniers`.`del`=0
- GROUP BY `contrat`;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA VIEW `contrats_nb_paniers_statut`
--- --------------------------------------------------------
-
-CREATE VIEW `contrats_paniers_statut` AS
- SELECT
- contrats.ref,
- contrats.nb_paniers,
- CASE WHEN ISNULL(contrats_count_nb_paniers_livres.nb_paniers_livres)
- THEN 0
- ELSE contrats_count_nb_paniers_livres.nb_paniers_livres
- END as 'nb_paniers_livres_absolute',
- CASE WHEN ISNULL(contrats_count_nb_paniers_livres.nb_paniers_livres)
- THEN contrats.np_paniers_distrib_avt_saisie
- ELSE contrats.np_paniers_distrib_avt_saisie + contrats_count_nb_paniers_livres.nb_paniers_livres
- END as 'nb_paniers_livres',
- CASE WHEN ISNULL(contrats_count_nb_paniers_livres.nb_paniers_livres)
- THEN CAST(contrats.nb_paniers AS signed) - CAST(contrats.np_paniers_distrib_avt_saisie AS signed)
- ELSE CAST(contrats.nb_paniers AS signed) - CAST(contrats.np_paniers_distrib_avt_saisie AS signed) - CAST(contrats_count_nb_paniers_livres.nb_paniers_livres AS signed)
- END as 'nb_paniers_restants'
- FROM contrats
- LEFT JOIN contrats_count_nb_paniers_livres ON contrats.ref = contrats_count_nb_paniers_livres.ref;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA VIEW `livraisons_nb_paniers`
--- --------------------------------------------------------
-
-CREATE VIEW `livraisons_nb_paniers` AS
- SELECT
- `livraisons_paniers`.`livraison` as 'ref',
- COUNT(*) as 'nb_paniers'
- FROM `livraisons_paniers`
- GROUP BY `livraisons_paniers`.`livraison`;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA VIEW `complements_contrats_status`
--- --------------------------------------------------------
-
-CREATE VIEW `complements_contrats_status` AS
- SELECT
- `contrats`.`client`,
- `contrat`,
- SUM(`complement`) as 'complements',
- SUM(`complement_regle`) as 'complements_regles',
- ( SUM(`complement`) - SUM(`complement_regle`) ) as 'complements_dus'
- FROM `livraisons_paniers`
- LEFT JOIN `contrats` ON `livraisons_paniers`.`contrat` = `contrats`.`ref`
- GROUP BY `contrat`;
-
--- --------------------------------------------------------
--- STRUCTURE DE LA VIEW `complements_clients_status`
--- --------------------------------------------------------
-
-CREATE VIEW `complements_clients_status` AS
- SELECT
- `client`,
- SUM(`complements`) as 'complements',
- SUM(`complements_regles`) as 'complements_regles',
- ( SUM(`complements`) - SUM(`complements_regles`) ) as 'complements_dus'
- FROM `complements_contrats_status`
- GROUP BY `client`;
-
-COMMIT;
\ No newline at end of file
diff --git a/php_libs/composer/.gitignore b/php_libs/.gitignore
similarity index 100%
rename from php_libs/composer/.gitignore
rename to php_libs/.gitignore
diff --git a/php_libs/composer.json b/php_libs/composer.json
new file mode 100644
index 0000000..e5c74d1
--- /dev/null
+++ b/php_libs/composer.json
@@ -0,0 +1,6 @@
+{
+ "require": {
+ "dompdf/dompdf": "^2.0",
+ "smarty/smarty": "^4.3"
+ }
+}
diff --git a/php_libs/composer/composer.lock b/php_libs/composer.lock
similarity index 81%
rename from php_libs/composer/composer.lock
rename to php_libs/composer.lock
index 007b517..47a129f 100644
--- a/php_libs/composer/composer.lock
+++ b/php_libs/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "f0205c0fedf4b0bac3e0aa4c567cb1ec",
+ "content-hash": "f000ae6d27bacfb25700bc7a44893259",
"packages": [
{
"name": "dompdf/dompdf",
@@ -277,6 +277,72 @@
"source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0"
},
"time": "2021-12-11T13:40:54+00:00"
+ },
+ {
+ "name": "smarty/smarty",
+ "version": "v4.3.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/smarty-php/smarty.git",
+ "reference": "e0cbbdf6ea21768d0194e59d2f8c2e20d5f0868c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/smarty-php/smarty/zipball/e0cbbdf6ea21768d0194e59d2f8c2e20d5f0868c",
+ "reference": "e0cbbdf6ea21768d0194e59d2f8c2e20d5f0868c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5 || ^7.5",
+ "smarty/smarty-lexer": "^3.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "libs/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Monte Ohrt",
+ "email": "monte@ohrt.com"
+ },
+ {
+ "name": "Uwe Tews",
+ "email": "uwe.tews@googlemail.com"
+ },
+ {
+ "name": "Rodney Rehm",
+ "email": "rodney.rehm@medialize.de"
+ },
+ {
+ "name": "Simon Wisselink",
+ "homepage": "https://www.iwink.nl/"
+ }
+ ],
+ "description": "Smarty - the compiling PHP template engine",
+ "homepage": "https://smarty-php.github.io/smarty/",
+ "keywords": [
+ "templating"
+ ],
+ "support": {
+ "forum": "https://github.com/smarty-php/smarty/discussions",
+ "issues": "https://github.com/smarty-php/smarty/issues",
+ "source": "https://github.com/smarty-php/smarty/tree/v4.3.5"
+ },
+ "time": "2024-01-23T10:47:54+00:00"
}
],
"packages-dev": [],
diff --git a/php_libs/composer/composer.json b/php_libs/composer/composer.json
deleted file mode 100644
index 0d2f9b4..0000000
--- a/php_libs/composer/composer.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "require": {
- "dompdf/dompdf": "^2.0"
- }
-}
diff --git a/php_libs/smarty-3.1.33/COMPOSER_RELEASE_NOTES.txt b/php_libs/smarty-3.1.33/COMPOSER_RELEASE_NOTES.txt
deleted file mode 100755
index 0644719..0000000
--- a/php_libs/smarty-3.1.33/COMPOSER_RELEASE_NOTES.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-Starting with Smarty 3.1.21 Composer has been configured to load the packages from github.
-
-*******************************************************************************
-* *
-* NOTE: Because of this change you must clear your local composer cache with *
-* the "composer clearcache" command *
-* *
-*******************************************************************************
-
-To get the latest stable version use
- "require": {
- "smarty/smarty": "~3.1"
- }
-in your composer.json file.
-
-To get the trunk version use
- "require": {
- "smarty/smarty": "~3.1@dev"
- }
-
-The "smarty/smarty" package will start at libs/.... subfolder.
-
-To retrieve the development and documentation folders add
- "require-dev": {
- "smarty/smarty-dev": "~3.1@dev"
- }
-
-If you are using (include) the composer generated autoloader.php which is located
-in the /vendor folder it is no longer needed to require the Smarty.class.php file.
\ No newline at end of file
diff --git a/php_libs/smarty-3.1.33/INHERITANCE_RELEASE_NOTES.txt b/php_libs/smarty-3.1.33/INHERITANCE_RELEASE_NOTES.txt
deleted file mode 100755
index 67936a8..0000000
--- a/php_libs/smarty-3.1.33/INHERITANCE_RELEASE_NOTES.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-3.1.3"
-New tags for inheritance parent and chilD
-{parent} == {$smarty.block.parent}
-{child} == {$smarty.block.child}
-Both tags support the assign attribute like
-{child assign=foo}
-
-3.1.31
-New tags for inheritance parent and child
-{block_parent} == {$smarty.block.parent}
-{block_child} == {$smarty.block.child}
-
-Since 3.1.28 you can mix inheritance by extends resource with the {extends} tag.
-A template called by extends resource can extend a subtemplate or chain buy the {extends} tag.
-Since 3.1.31 this feature can be turned off by setting the new Smarty property Smarty::$extends_recursion to false.
-
-3.1.28
-Starting with version 3.1.28 template inheritance is no longer a compile time process.
-All {block} tag parent/child relations are resolved at run time.
-This does resolve all known existing restrictions (see below).
-
-The $smarty::$inheritance_merge_compiled_includes property has been removed.
-Any access to it is ignored.
-
-New features:
-
-Any code outside root {block} tags in child templates is now executed but any output will be ignored.
-
- {extends 'foo.tpl'}
- {$bar = 'on'} // assigns variable $bar seen in parent templates
- {block 'buh'}{/block}
-
- {extends 'foo.tpl'}
- {$bar} // the output of variable bar is ignored
- {block 'buh'}{/block}
-
-{block} tags can be dynamically en/disabled by conditions.
-
- {block 'root'}
- {if $foo}
- {block 'v1'}
- ....
- {/block}
- {else}
- {block 'v1'}
- ....
- {/block}
- {/if}
- {/block}
-
-{block} tags can have variable names.
-
- {block $foo}
- ....
- {/block}
-
-Starting with 3.1.28 you can mix inheritance by extends resource with the {extends} tag.
-A template called by extends resource can extend a subtemplate or chain buy the {extends} tag.
-
-NOTE There is a BC break. If you used the extends resource {extends} tags have been ignored.
-
-THE FOLLOWING RESTRICTIONS ARE NO LONGER EXISTING:
-In Smarty 3.1 template inheritance is a compile time process. All the extending of {block} tags
-is done at compile time and the parent and child templates are compiled in a single compiled template.
-{include} subtemplate could also {block} tags. Such subtemplate could not compiled by it's own because
-it could be used in other context where the {block} extended with a different result. For that reasion
-the compiled code of {include} subtemplates gets also merged in compiled inheritance template.
-
-Merging the code into a single compile template has some drawbacks.
-1. You could not use variable file names in {include} Smarty would use the {include} of compilation time.
-2. You could not use individual compile_id in {include}
-3. Separate caching of subtemplate was not possible
-4. Any change of the template directory structure between calls was not necessarily seen.
-
-Starting with 3.1.15 some of the above conditions got checked and resulted in an exception. It turned out
-that a couple of users did use some of above and now got exceptions.
-
-To resolve this starting with 3.1.16 there is a new configuration parameter $inheritance_merge_compiled_includes.
-For most backward compatibility its default setting is true.
-With this setting all {include} subtemplate will be merge into the compiled inheritance template, but the above cases
-could be rejected by exception.
-
-
-If $smarty->inheritance_merge_compiled_includes = false; {include} subtemplate will not be merged.You must now manually merge all {include} subtemplate which do contain {block} tags. This is done by setting the "inline" option.
-{include file='foo.bar' inline}
-
-1. In case of a variable file name like {include file=$foo inline} you must use the variable in a compile_id $smarty->compile_id = $foo;
-2. If you use individual compile_id in {include file='foo.tpl' compile_id=$bar inline} it must be used in the global compile_id as well $smarty->compile_id = $bar;
-3. If call templates with different template_dir configurations and a parent could same named child template from different folders
- you must make the folder name part of the compile_id.
-
diff --git a/php_libs/smarty-3.1.33/LICENSE b/php_libs/smarty-3.1.33/LICENSE
deleted file mode 100755
index fb8ca6c..0000000
--- a/php_libs/smarty-3.1.33/LICENSE
+++ /dev/null
@@ -1,179 +0,0 @@
-Smarty: the PHP compiling template engine
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library 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 Lesser General Public License below for more details.
-
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/php_libs/smarty-3.1.33/NEW_FEATURES.txt b/php_libs/smarty-3.1.33/NEW_FEATURES.txt
deleted file mode 100755
index b3289df..0000000
--- a/php_libs/smarty-3.1.33/NEW_FEATURES.txt
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-This file contains a brief description of new features which have been added to Smarty 3.1
-
-Smarty 3.1.33-dev
- Variable capture name in Smarty special variable
- ================================================
- {$smarty.capture.$foo} can now be used to access the content of a named
- capture block
-
-Smarty 3.1.32
- New tags for inheritance parent and child
- =========================================
- {parent} == {$smarty.block.parent}
- {child} == {$smarty.block.child}
- Both tags support the assign attribute like
- {child assign=foo}
-
- Deprecate functions Smarty::muteExpectedErrors() and Smarty::unmuteExpectedErrors()
- ===================================================================================
- These functions to start a special error handler are no longer needed as Smarty does
- no longer use error suppression like @filemtime().
- For backward compatibility the functions still can be called.
-
- Using literals containing Smarty's left and right delimiter
- ===========================================================
- New Methods
- $smarty->setLiterals(array $literals)
- $smarty->addLiterals(array $literals)
- to define literals containing Smarty delimiter. This can avoid the need for extreme usage
- of {literal} {/literal} tags.
- A) Treat '{{' and '}}' as literal
- If Smarty::$auto_literal is enabled
- {{ foo }}
- will be treated now as literal. (This does apply for any number of delimiter repeatations).
- However {{foo}} is not an literal but will be interpreted as a recursive Smarty tag.
- If you use
- $smarty->setLiteral(array('{{','}}'));
- {{foo}} is now a literal as well.
- NOTE: In the last example nested Smarty tags starting with '{{' or ending with '}}' will not
- work any longer, but this should be very very raw occouring restriction.
- B) Example 2
- Assume your delimiter are '<-' , '->' and '<--' , '-->' shall be literals
- $smarty->setLiteral(array('<--','-->'));
-
-
- The capture buffers can now be accessed as array
- ================================================
- {capture name='foo'}
- bah
- {\capture}
- {capture name='buh'}
- blar
- {\capture}
- {foreach $smarty.capture as $name => $buffer}
- ....
- {/foreach}
-
-Smarty 3.1.31
- New tags for inheritance parent and child
- =========================================
- {block_parent} == {$smarty.block.parent}
- {block_child} == {$smarty.block.child}
-
-Smarty 3.1.30
-
- Loop optimization {foreach} and {section}
- =========================================
- Smarty does optimize the {foreach} and {section} loops by removing code for not needed loop
- properties.
- The compiler collects needed properties by scanning the current template for $item@property,
- $smarty.foreach.name.property and $smarty.section.name.property.
- The compiler does not know if additional properties will be needed outside the current template scope.
- Additional properties can be generated by adding them with the property attribute.
-
- Example:
- index.tpl
- {foreach $from as $item properties=[iteration, index]}
- {include 'sub.tpl'}
- {$item.total}
- {/foreach}
-
- sub.tpl
- {$item.index} {$item.iteration} {$item.total}
-
- In above example code for the 'total' property is automatically generated as $item.total is used in
- index.tpl. Code for 'iteration' and 'index' must be added with properties=[iteration, index].
-
- New tag {make_nocache}
- ======================
- Syntax: {make_nocache $foo}
-
- This tag makes a variable which does exists normally only while rendering the compiled template
- available in the cached template for use in not cached expressions.
-
- Expample:
- {foreach from=$list item=item}
- {$item.name} {make_nocache $item}{if $current==$item.id} ACTIVE{/if}
- {/foreach}
-
- The {foreach} loop is rendered while processing the compiled template, but $current is a nocache
- variable. Normally the {if $current==$item.id} would fail as the $item variable is unknown in the cached template. {make_nocache $item} does make the current $item value known in thee cached template.
-
- {make_nocache} is ignored when caching is disabled or the variable does exists as nocache variable.
-
- NOTE: if the variable value does contain objects these must have the __set_state method implemented.
-
-
- Scope Attributes
- ================
- The scope handling has been updated to cover all cases of variable assignments in templates.
-
- The tags {assign}, {append} direct assignments like {$foo = ...}, {$foo[...]= ...} support
- the following optional scope attributes:
- scope='parent' - the variable will be assigned in the current template and if the template
- was included by {include} the calling template
- scope='tpl_root' - the variable will be assigned in the outermost root template called by $smarty->display()
- or $smarty->fetch() and is bubbled up all {include} sub-templates to the current template.
- scope='smarty' - the variable will be assigned in the Smarty object and is bubbled up all {include} sub-templates
- to the current template.
- scope='global' - the variable will be assigned as Smarty object global variable and is bubbled up all {include}
- sub-templates to the current template.
- scope='root' - the variable will be assigned if a data object was used for variable definitions in the data
- object or in the Smarty object otherwise and is bubbled up all {include} sub-templates to the
- current template.
- scope='local' - this scope has only a meaning if the tag is called within a template {function}.
- The variable will be assigned in the local scope of the template function and the
- template which did call the template function.
-
-
- The {config_load} tag supports all of the above except the global scope.
-
- The scope attribute can be used also with the {include} tag.
- Supported scope are parent, tpl_root, smarty, global and root.
- A scope used together with the {include} tag will cause that with some exceptions any variable
- assignment within that sub-template will update/assign the variable in other scopes according
- to the above rules. It does include also variables assigned by plugins, tags supporting the assign=foo attribute and direct assignments in {if} and {while} like {if $foo=$bar}.
- Excluded are the key and value variables of {foreach}, {for} loop variables , variables passed by attributes
- in {include} and direct increments/decrements like {$foo++}, {$foo--}
-
- Note: The scopes should be used only to the extend really need. If a variable value assigned in an included
- sub-template should be returned to the calling sub-template just use {$foo='bar' scope='parent'}.
- Use scopes only with variables for which it's realy needed. Avoid general scope settings with the
- {include} tag as it can have a performance impact.
-
- The {assign}, {append}, {config_load} and {$foo...=...} tags have a new option flag 'noscope'.Thi
- Example: {$foo='bar' noscope} This will assign $foo only in the current template and any scope settings
- at {include} is ignored.
-
-
- Caching
- =======
- Caching does now observe the template_dir setting and will create separate cache files if required
-
- Compiled Templates
- ==================
- The template_dir setting is now encoded in the uid of the file name.
- The content of the compiled template may depend on the template_dir search order
- {include .... inline} is used or $smarty->merge_compiled_includes is enabled
-
- APC
- ===
- If APC is enabled force an apc_compile_file() when compiled or cached template was updated
-
-Smarty 3.1.28
-
- OPCACHE
- =======
- Smarty does now invalidate automatically updated and cleared compiled or cached template files in OPCACHE.
- Correct operation is no longer dependent on OPCACHE configuration settings.
-
- Template inheritance
- ====================
- Template inheritance is now processed in run time.
- See the INHERITANCE_RELEASE_NOTES
-
- Modifier regex_replace
- ======================
- An optional limit parameter was added
-
- fetch() and display()
- =====================
- The fetch() and display() methods of the template object accept now optionally the same parameter
- as the corresponding Smarty methods to get the content of another template.
- Example:
- $template->display(); Does display template of template object
- $template->display('foo.tpl'); Does display template 'foo.bar'
-
- File: resource
- ==============
- Multiple template_dir entries can now be selected by a comma separated list of indices.
- The template_dir array is searched in the order of the indices. (Could be used to change the default search order)
- Example:
- $smarty->display('[1],[0]foo.bar');
-
- Filter support
- ==============
- Optional filter names
- An optional filter name was added to $smarty->registerFilter(). It can be used to unregister a filter by name.
- - $smarty->registerFilter('output', $callback, 'name');
- $smarty->unregister('output', 'name');
-
- Closures
- $smarty->registerFilter() does now accept closures.
- - $smarty->registerFilter('pre', function($source) {return $source;});
- If no optional filter name was specified it gets the default name 'closure'.
- If you register multiple closures register each with a unique filter name.
- - $smarty->registerFilter('pre', function($source) {return $source;}, 'closure_1');
- - $smarty->registerFilter('pre', function($source) {return $source;}, 'closure_2');
-
-
-Smarty 3.1.22
-
- Namespace support within templates
- ==================================
- Within templates you can now use namespace specifications on:
- - Constants like foo\bar\FOO
- - Class names like foo\bar\Baz::FOO, foo\bar\Baz::$foo, foo\bar\Baz::foo()
- - PHP function names like foo\bar\baz()
-
- Security
- ========
- - disable special $smarty variable -
- The Smarty_Security class has the new property $disabled_special_smarty_vars.
- It's an array which can be loaded with the $smarty special variable names like
- 'template_object', 'template', 'current_dir' and others which will be disabled.
- Note: That this security check is performed at compile time.
-
- - limit template nesting -
- Property $max_template_nesting of Smarty_Security does set the maximum template nesting level.
- The main template is level 1. The nesting level is checked at run time. When the maximum will be exceeded
- an Exception will be thrown. The default setting is 0 which does disable this check.
-
- - trusted static methods -
- The Smarty_Security class has the new property $trusted_static_methods to restrict access to static methods.
- It's an nested array of trusted class and method names.
- Format:
- array (
- 'class_1' => array('method_1', 'method_2'), // allowed methods
- 'class_2' => array(), // all methods of class allowed
- )
- To disable access for all methods of all classes set $trusted_static_methods = null;
- The default value is an empty array() which does enables all methods of all classes, but for backward compatibility
- the setting of $static_classes will be checked.
- Note: That this security check is performed at compile time.
-
- - trusted static properties -
- The Smarty_Security class has the new property $trusted_static_properties to restrict access to static properties.
- It's an nested array of trusted class and property names.
- Format:
- array (
- 'class_1' => array('prop_1', 'prop_2'), // allowed properties listed
- 'class_2' => array(), // all properties of class allowed
- }
- To disable access for all properties of all classes set $trusted_static_properties = null;
- The default value is an empty array() which does enables all properties of all classes, but for backward compatibility
- the setting of $static_classes will be checked.
- Note: That this security check is performed at compile time.
-
- - trusted constants .
- The Smarty_Security class has the new property $trusted_constants to restrict access to constants.
- It's an array of trusted constant names.
- Format:
- array (
- 'SMARTY_DIR' , // allowed constant
- }
- If the array is empty (default) the usage of constants can be controlled with the
- Smarty_Security::$allow_constants property (default true)
-
-
-
- Compiled Templates
- ==================
- Smarty does now automatically detects a change of the $merge_compiled_includes and $escape_html
- property and creates different compiled templates files depending on the setting.
-
- Same applies to config files and the $config_overwrite, $config_booleanize and
- $config_read_hidden properties.
-
- Debugging
- =========
- The layout of the debug window has been changed for better readability
-
- New class constants
- Smarty::DEBUG_OFF
- Smarty::DEBUG_ON
- Smarty::DEBUG_INDIVIDUAL
- have been introduced for setting the $debugging property.
-
- Smarty::DEBUG_INDIVIDUAL will create for each display() and fetch() call an individual debug window.
-
diff --git a/php_libs/smarty-3.1.33/README b/php_libs/smarty-3.1.33/README
deleted file mode 100755
index 9a71519..0000000
--- a/php_libs/smarty-3.1.33/README
+++ /dev/null
@@ -1,575 +0,0 @@
-Smarty 3.x
-
-Author: Monte Ohrt
-Author: Uwe Tews
-
-AN INTRODUCTION TO SMARTY 3
-
-NOTICE FOR 3.1 release:
-
-Please see the SMARTY_3.1_NOTES.txt file that comes with the distribution.
-
-NOTICE for 3.0.5 release:
-
-Smarty now follows the PHP error_reporting level by default. If PHP does not mask E_NOTICE and you try to access an unset template variable, you will now get an E_NOTICE warning. To revert to the old behavior:
-
-$smarty->error_reporting = E_ALL & ~E_NOTICE;
-
-NOTICE for 3.0 release:
-
-IMPORTANT: Some API adjustments have been made between the RC4 and 3.0 release.
-We felt it is better to make these now instead of after a 3.0 release, then have to
-immediately deprecate APIs in 3.1. Online documentation has been updated
-to reflect these changes. Specifically:
-
----- API CHANGES RC4 -> 3.0 ----
-
-$smarty->register->*
-$smarty->unregister->*
-$smarty->utility->*
-$samrty->cache->*
-
-Have all been changed to local method calls such as:
-
-$smarty->clearAllCache()
-$smarty->registerFoo()
-$smarty->unregisterFoo()
-$smarty->testInstall()
-etc.
-
-Registration of function, block, compiler, and modifier plugins have been
-consolidated under two API calls:
-
-$smarty->registerPlugin(...)
-$smarty->unregisterPlugin(...)
-
-Registration of pre, post, output and variable filters have been
-consolidated under two API calls:
-
-$smarty->registerFilter(...)
-$smarty->unregisterFilter(...)
-
-Please refer to the online documentation for all specific changes:
-
-http://www.smarty.net/documentation
-
-----
-
-The Smarty 3 API has been refactored to a syntax geared
-for consistency and modularity. The Smarty 2 API syntax is still supported, but
-will throw a deprecation notice. You can disable the notices, but it is highly
-recommended to adjust your syntax to Smarty 3, as the Smarty 2 syntax must run
-through an extra rerouting wrapper.
-
-Basically, all Smarty methods now follow the "fooBarBaz" camel case syntax. Also,
-all Smarty properties now have getters and setters. So for example, the property
-$smarty->cache_dir can be set with $smarty->setCacheDir('foo/') and can be
-retrieved with $smarty->getCacheDir().
-
-Some of the Smarty 3 APIs have been revoked such as the "is*" methods that were
-just duplicate functions of the now available "get*" methods.
-
-Here is a rundown of the Smarty 3 API:
-
-$smarty->fetch($template, $cache_id = null, $compile_id = null, $parent = null)
-$smarty->display($template, $cache_id = null, $compile_id = null, $parent = null)
-$smarty->isCached($template, $cache_id = null, $compile_id = null)
-$smarty->createData($parent = null)
-$smarty->createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
-$smarty->enableSecurity()
-$smarty->disableSecurity()
-$smarty->setTemplateDir($template_dir)
-$smarty->addTemplateDir($template_dir)
-$smarty->templateExists($resource_name)
-$smarty->loadPlugin($plugin_name, $check = true)
-$smarty->loadFilter($type, $name)
-$smarty->setExceptionHandler($handler)
-$smarty->addPluginsDir($plugins_dir)
-$smarty->getGlobal($varname = null)
-$smarty->getRegisteredObject($name)
-$smarty->getDebugTemplate()
-$smarty->setDebugTemplate($tpl_name)
-$smarty->assign($tpl_var, $value = null, $nocache = false)
-$smarty->assignGlobal($varname, $value = null, $nocache = false)
-$smarty->assignByRef($tpl_var, &$value, $nocache = false)
-$smarty->append($tpl_var, $value = null, $merge = false, $nocache = false)
-$smarty->appendByRef($tpl_var, &$value, $merge = false)
-$smarty->clearAssign($tpl_var)
-$smarty->clearAllAssign()
-$smarty->configLoad($config_file, $sections = null)
-$smarty->getVariable($variable, $_ptr = null, $search_parents = true, $error_enable = true)
-$smarty->getConfigVariable($variable)
-$smarty->getStreamVariable($variable)
-$smarty->getConfigVars($varname = null)
-$smarty->clearConfig($varname = null)
-$smarty->getTemplateVars($varname = null, $_ptr = null, $search_parents = true)
-$smarty->clearAllCache($exp_time = null, $type = null)
-$smarty->clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null)
-
-$smarty->registerPlugin($type, $tag, $callback, $cacheable = true, $cache_attr = array())
-
-$smarty->registerObject($object_name, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
-
-$smarty->registerFilter($type, $function_name)
-$smarty->registerResource($resource_type, $function_names)
-$smarty->registerDefaultPluginHandler($function_name)
-$smarty->registerDefaultTemplateHandler($function_name)
-
-$smarty->unregisterPlugin($type, $tag)
-$smarty->unregisterObject($object_name)
-$smarty->unregisterFilter($type, $function_name)
-$smarty->unregisterResource($resource_type)
-
-$smarty->compileAllTemplates($extension = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null)
-$smarty->clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null)
-$smarty->testInstall()
-
-// then all the getters/setters, available for all properties. Here are a few:
-
-$caching = $smarty->getCaching(); // get $smarty->caching
-$smarty->setCaching(true); // set $smarty->caching
-$smarty->setDeprecationNotices(false); // set $smarty->deprecation_notices
-$smarty->setCacheId($id); // set $smarty->cache_id
-$debugging = $smarty->getDebugging(); // get $smarty->debugging
-
-
-FILE STRUCTURE
-
-The Smarty 3 file structure is similar to Smarty 2:
-
-/libs/
- Smarty.class.php
-/libs/sysplugins/
- internal.*
-/libs/plugins/
- function.mailto.php
- modifier.escape.php
- ...
-
-A lot of Smarty 3 core functionality lies in the sysplugins directory; you do
-not need to change any files here. The /libs/plugins/ folder is where Smarty
-plugins are located. You can add your own here, or create a separate plugin
-directory, just the same as Smarty 2. You will still need to create your own
-/cache/, /templates/, /templates_c/, /configs/ folders. Be sure /cache/ and
-/templates_c/ are writable.
-
-The typical way to use Smarty 3 should also look familiar:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('foo','bar');
-$smarty->display('index.tpl');
-
-
-However, Smarty 3 works completely different on the inside. Smarty 3 is mostly
-backward compatible with Smarty 2, except for the following items:
-
-*) Smarty 3 is PHP 5 only. It will not work with PHP 4.
-*) The {php} tag is disabled by default. Enable with $smarty->allow_php_tag=true.
-*) Delimiters surrounded by whitespace are no longer treated as Smarty tags.
- Therefore, { foo } will not compile as a tag, you must use {foo}. This change
- Makes Javascript/CSS easier to work with, eliminating the need for {literal}.
- This can be disabled by setting $smarty->auto_literal = false;
-*) The Smarty 3 API is a bit different. Many Smarty 2 API calls are deprecated
- but still work. You will want to update your calls to Smarty 3 for maximum
- efficiency.
-
-
-There are many things that are new to Smarty 3. Here are the notable items:
-
-LEXER/PARSER
-============
-
-Smarty 3 now uses a lexing tokenizer for its parser/compiler. Basically, this
-means Smarty has some syntax additions that make life easier such as in-template
-math, shorter/intuitive function parameter options, infinite function recursion,
-more accurate error handling, etc.
-
-
-WHAT IS NEW IN SMARTY TEMPLATE SYNTAX
-=====================================
-
-Smarty 3 allows expressions almost anywhere. Expressions can include PHP
-functions as long as they are not disabled by the security policy, object
-methods and properties, etc. The {math} plugin is no longer necessary but
-is still supported for BC.
-
-Examples:
-{$x+$y} will output the sum of x and y.
-{$foo = strlen($bar)} function in assignment
-{assign var=foo value= $x+$y} in attributes
-{$foo = myfunct( ($x+$y)*3 )} as function parameter
-{$foo[$x+3]} as array index
-
-Smarty tags can be used as values within other tags.
-Example: {$foo={counter}+3}
-
-Smarty tags can also be used inside double quoted strings.
-Example: {$foo="this is message {counter}"}
-
-You can define arrays within templates.
-Examples:
-{assign var=foo value=[1,2,3]}
-{assign var=foo value=['y'=>'yellow','b'=>'blue']}
-Arrays can be nested.
-{assign var=foo value=[1,[9,8],3]}
-
-There is a new short syntax supported for assigning variables.
-Example: {$foo=$bar+2}
-
-You can assign a value to a specific array element. If the variable exists but
-is not an array, it is converted to an array before the new values are assigned.
-Examples:
-{$foo['bar']=1}
-{$foo['bar']['blar']=1}
-
-You can append values to an array. If the variable exists but is not an array,
-it is converted to an array before the new values are assigned.
-Example: {$foo[]=1}
-
-You can use a PHP-like syntax for accessing array elements, as well as the
-original "dot" notation.
-Examples:
-{$foo[1]} normal access
-{$foo['bar']}
-{$foo['bar'][1]}
-{$foo[$x+$x]} index may contain any expression
-{$foo[$bar[1]]} nested index
-{$foo[section_name]} smarty section access, not array access!
-
-The original "dot" notation stays, and with improvements.
-Examples:
-{$foo.a.b.c} => $foo['a']['b']['c']
-{$foo.a.$b.c} => $foo['a'][$b]['c'] with variable index
-{$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c'] with expression as index
-{$foo.a.{$b.c}} => $foo['a'][$b['c']] with nested index
-
-note that { and } are used to address ambiguties when nesting the dot syntax.
-
-Variable names themselves can be variable and contain expressions.
-Examples:
-$foo normal variable
-$foo_{$bar} variable name containing other variable
-$foo_{$x+$y} variable name containing expressions
-$foo_{$bar}_buh_{$blar} variable name with multiple segments
-{$foo_{$x}} will output the variable $foo_1 if $x has a value of 1.
-
-Object method chaining is implemented.
-Example: {$object->method1($x)->method2($y)}
-
-{for} tag added for looping (replacement for {section} tag):
-{for $x=0, $y=count($foo); $x<$y; $x++} .... {/for}
-Any number of statements can be used separated by comma as the first
-initial expression at {for}.
-
-{for $x = $start to $end step $step} ... {/for}is in the SVN now .
-You can use also
-{for $x = $start to $end} ... {/for}
-In this case the step value will be automatically 1 or -1 depending on the start and end values.
-Instead of $start and $end you can use any valid expression.
-Inside the loop the following special vars can be accessed:
-$x@iteration = number of iteration
-$x@total = total number of iterations
-$x@first = true on first iteration
-$x@last = true on last iteration
-
-
-The Smarty 2 {section} syntax is still supported.
-
-New shorter {foreach} syntax to loop over an array.
-Example: {foreach $myarray as $var}...{/foreach}
-
-Within the foreach loop, properties are access via:
-
-$var@key foreach $var array key
-$var@iteration foreach current iteration count (1,2,3...)
-$var@index foreach current index count (0,1,2...)
-$var@total foreach $var array total
-$var@first true on first iteration
-$var@last true on last iteration
-
-The Smarty 2 {foreach} tag syntax is still supported.
-
-NOTE: {$bar[foo]} still indicates a variable inside of a {section} named foo.
-If you want to access an array element with index foo, you must use quotes
-such as {$bar['foo']}, or use the dot syntax {$bar.foo}.
-
-while block tag is now implemented:
-{while $foo}...{/while}
-{while $x lt 10}...{/while}
-
-Direct access to PHP functions:
-Just as you can use PHP functions as modifiers directly, you can now access
-PHP functions directly, provided they are permitted by security settings:
-{time()}
-
-There is a new {function}...{/function} block tag to implement a template function.
-This enables reuse of code sequences like a plugin function. It can call itself recursively.
-Template function must be called with the new {call name=foo...} tag.
-
-Example:
-
-Template file:
-{function name=menu level=0}
-
- {foreach $data as $entry}
- {if is_array($entry)}
- {$entry@key}
- {call name=menu data=$entry level=$level+1}
- {else}
- {$entry}
- {/if}
- {/foreach}
-
-{/function}
-
-{$menu = ['item1','item2','item3' => ['item3-1','item3-2','item3-3' =>
- ['item3-3-1','item3-3-2']],'item4']}
-
-{call name=menu data=$menu}
-
-
-Generated output:
- * item1
- * item2
- * item3
- o item3-1
- o item3-2
- o item3-3
- + item3-3-1
- + item3-3-2
- * item4
-
-The function tag itself must have the "name" attribute. This name is the tag
-name when calling the function. The function tag may have any number of
-additional attributes. These will be default settings for local variables.
-
-New {nocache} block function:
-{nocache}...{/nocache} will declare a section of the template to be non-cached
-when template caching is enabled.
-
-New nocache attribute:
-You can declare variable/function output as non-cached with the nocache attribute.
-Examples:
-
-{$foo nocache=true}
-{$foo nocache} /* same */
-
-{foo bar="baz" nocache=true}
-{foo bar="baz" nocache} /* same */
-
-{time() nocache=true}
-{time() nocache} /* same */
-
-Or you can also assign the variable in your script as nocache:
-$smarty->assign('foo',$something,true); // third param is nocache setting
-{$foo} /* non-cached */
-
-$smarty.current_dir returns the directory name of the current template.
-
-You can use strings directly as templates with the "string" resource type.
-Examples:
-$smarty->display('string:This is my template, {$foo}!'); // php
-{include file="string:This is my template, {$foo}!"} // template
-
-
-
-VARIABLE SCOPE / VARIABLE STORAGE
-=================================
-
-In Smarty 2, all assigned variables were stored within the Smarty object.
-Therefore, all variables assigned in PHP were accessible by all subsequent
-fetch and display template calls.
-
-In Smarty 3, we have the choice to assign variables to the main Smarty object,
-to user-created data objects, and to user-created template objects.
-These objects can be chained. The object at the end of a chain can access all
-variables belonging to that template and all variables within the parent objects.
-The Smarty object can only be the root of a chain, but a chain can be isolated
-from the Smarty object.
-
-All known Smarty assignment interfaces will work on the data and template objects.
-
-Besides the above mentioned objects, there is also a special storage area for
-global variables.
-
-A Smarty data object can be created as follows:
-$data = $smarty->createData(); // create root data object
-$data->assign('foo','bar'); // assign variables as usual
-$data->config_load('my.conf'); // load config file
-
-$data= $smarty->createData($smarty); // create data object having a parent link to
-the Smarty object
-
-$data2= $smarty->createData($data); // create data object having a parent link to
-the $data data object
-
-A template object can be created by using the createTemplate method. It has the
-same parameter assignments as the fetch() or display() method.
-Function definition:
-function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
-
-The first parameter can be a template name, a smarty object or a data object.
-
-Examples:
-$tpl = $smarty->createTemplate('mytpl.tpl'); // create template object not linked to any parent
-$tpl->assign('foo','bar'); // directly assign variables
-$tpl->config_load('my.conf'); // load config file
-
-$tpl = $smarty->createTemplate('mytpl.tpl',$smarty); // create template having a parent link to the Smarty object
-$tpl = $smarty->createTemplate('mytpl.tpl',$data); // create template having a parent link to the $data object
-
-The standard fetch() and display() methods will implicitly create a template object.
-If the $parent parameter is not specified in these method calls, the template object
-is will link back to the Smarty object as it's parent.
-
-If a template is called by an {include...} tag from another template, the
-subtemplate links back to the calling template as it's parent.
-
-All variables assigned locally or from a parent template are accessible. If the
-template creates or modifies a variable by using the {assign var=foo...} or
-{$foo=...} tags, these new values are only known locally (local scope). When the
-template exits, none of the new variables or modifications can be seen in the
-parent template(s). This is same behavior as in Smarty 2.
-
-With Smarty 3, we can assign variables with a scope attribute which allows the
-availablility of these new variables or modifications globally (ie in the parent
-templates.)
-
-Possible scopes are local, parent, root and global.
-Examples:
-{assign var=foo value='bar'} // no scope is specified, the default 'local'
-{$foo='bar'} // same, local scope
-{assign var=foo value='bar' scope='local'} // same, local scope
-
-{assign var=foo value='bar' scope='parent'} // Values will be available to the parent object
-{$foo='bar' scope='parent'} // (normally the calling template)
-
-{assign var=foo value='bar' scope='root'} // Values will be exported up to the root object, so they can
-{$foo='bar' scope='root'} // be seen from all templates using the same root.
-
-{assign var=foo value='bar' scope='global'} // Values will be exported to global variable storage,
-{$foo='bar' scope='global'} // they are available to any and all templates.
-
-
-The scope attribute can also be attached to the {include...} tag. In this case,
-the specified scope will be the default scope for all assignments within the
-included template.
-
-
-PLUGINS
-=======
-
-Smarty 3 plugins follow the same coding rules as in Smarty 2.
-The main difference is that the template object is now passed in place of the smarty object.
-The smarty object can be still be accessed through $template->smarty.
-
-smarty_plugintype_name (array $params, Smarty_Internal_Template $template)
-
-The Smarty 2 plugins are still compatible as long as they do not make use of specific Smarty 2 internals.
-
-
-TEMPLATE INHERITANCE:
-=====================
-
-With template inheritance you can define blocks, which are areas that can be
-overridden by child templates, so your templates could look like this:
-
-parent.tpl:
-
-
- {block name='title'}My site name{/block}
-
-
- {block name='page-title'}Default page title{/block}
-
- {block name='content'}
- Default content
- {/block}
-
-
-
-
-child.tpl:
-{extends file='parent.tpl'}
-{block name='title'}
-Child title
-{/block}
-
-grandchild.tpl:
-{extends file='child.tpl'}
-{block name='title'}Home - {$smarty.block.parent}{/block}
-{block name='page-title'}My home{/block}
-{block name='content'}
- {foreach $images as $img}
-
- {/foreach}
-{/block}
-
-We redefined all the blocks here, however in the title block we used {$smarty.block.parent},
-which tells Smarty to insert the default content from the parent template in its place.
-The content block was overridden to display the image files, and page-title has also be
-overridden to display a completely different title.
-
-If we render grandchild.tpl we will get this:
-
-
- Home - Child title
-
-
- My home
-
-
-
-
-NOTE: In the child templates everything outside the {extends} or {block} tag sections
-is ignored.
-
-The inheritance tree can be as big as you want (meaning you can extend a file that
-extends another one that extends another one and so on..), but be aware that all files
-have to be checked for modifications at runtime so the more inheritance the more overhead you add.
-
-Instead of defining the parent/child relationships with the {extends} tag in the child template you
-can use the resource as follow:
-
-$smarty->display('extends:parent.tpl|child.tpl|grandchild.tpl');
-
-Child {block} tags may optionally have a append or prepend attribute. In this case the parent block content
-is appended or prepended to the child block content.
-
-{block name='title' append} My title {/block}
-
-
-PHP STREAMS:
-============
-
-(see online documentation)
-
-VARIBLE FILTERS:
-================
-
-(see online documentation)
-
-
-STATIC CLASS ACCESS AND NAMESPACE SUPPORT
-=========================================
-
-You can register a class with optional namespace for the use in the template like:
-
-$smarty->register->templateClass('foo','name\name2\myclass');
-
-In the template you can use it like this:
-{foo::method()} etc.
-
-
-=======================
-
-Please look through it and send any questions/suggestions/etc to the forums.
-
-http://www.phpinsider.com/smarty-forum/viewtopic.php?t=14168
-
-Monte and Uwe
diff --git a/php_libs/smarty-3.1.33/README.md b/php_libs/smarty-3.1.33/README.md
deleted file mode 100755
index 24baae4..0000000
--- a/php_libs/smarty-3.1.33/README.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# Smarty 3 template engine
-[smarty.net](https://www.smarty.net/)
-
-## Documentation
-
-For documentation see
-[www.smarty.net/docs/en/](https://www.smarty.net/docs/en/)
-
-## Distribution repository
-
-> Smarty 3.1.28 introduces run time template inheritance
-
-> Read the NEW_FEATURES and INHERITANCE_RELEASE_NOTES file for recent extensions to Smarty 3.1 functionality
-
-Smarty versions 3.1.11 or later are now on github and can be installed with Composer.
-
-
-The "smarty/smarty" package will start at libs/.... subfolder.
-
-To get the latest stable version of Smarty 3.1 use:
-
-```json
-"require": {
- "smarty/smarty": "~3.1"
-}
-```
-
-in your composer.json file.
-
-To get the trunk version use:
-
-```json
-"require": {
- "smarty/smarty": "~3.1@dev"
-}
-```
-
-For a specific version use something like:
-
-```json
-"require": {
- "smarty/smarty": "3.1.19"
-}
-```
-
-PHPUnit test can be installed by corresponding composer entries like:
-
-```json
-"require": {
- "smarty/smarty-phpunit": "3.1.19"
-}
-```
-
-Similar applies for the lexer/parser generator.
-
-```json
-"require": {
- "smarty/smarty-lexer": "3.1.19"
-}
-```
-
-Or you could use:
-
-```json
-"require": {
- "smarty/smarty-dev": "3.1.19"
-}
-```
-
-Which is a wrapper to install all 3 packages.
-
-Composer can also be used for Smarty2 versions 2.6.24 to 2.6.30.
diff --git a/php_libs/smarty-3.1.33/SMARTY_2_BC_NOTES.txt b/php_libs/smarty-3.1.33/SMARTY_2_BC_NOTES.txt
deleted file mode 100755
index fd36bd3..0000000
--- a/php_libs/smarty-3.1.33/SMARTY_2_BC_NOTES.txt
+++ /dev/null
@@ -1,109 +0,0 @@
-= Known incompatibilities with Smarty 2 =
-
-== Syntax ==
-
-Smarty 3 API has a new syntax. Much of the Smarty 2 syntax is supported
-by a wrapper but deprecated. See the README that comes with Smarty 3 for more
-information.
-
-The {$array|@mod} syntax has always been a bit confusing, where an "@" is required
-to apply a modifier to an array instead of the individual elements. Normally you
-always want the modifier to apply to the variable regardless of its type. In Smarty 3,
-{$array|mod} and {$array|@mod} behave identical. It is safe to drop the "@" and the
-modifier will still apply to the array. If you really want the modifier to apply to
-each array element, you must loop the array in-template, or use a custom modifier that
-supports array iteration. Most smarty functions already escape values where necessary
-such as {html_options}
-
-== PHP Version ==
-Smarty 3 is PHP 5 only. It will not work with PHP 4.
-
-== {php} Tag ==
-The {php} tag is disabled by default. The use of {php} tags is
-deprecated. It can be enabled with $smarty->allow_php_tag=true.
-
-But if you scatter PHP code which belongs together into several
-{php} tags it may not work any longer.
-
-== Delimiters and whitespace ==
-Delimiters surrounded by whitespace are no longer treated as Smarty tags.
-Therefore, { foo } will not compile as a tag, you must use {foo}. This change
-Makes Javascript/CSS easier to work with, eliminating the need for {literal}.
-This can be disabled by setting $smarty->auto_literal = false;
-
-== Unquoted Strings ==
-Smarty 2 was a bit more forgiving (and ambiguous) when it comes to unquoted strings
-in parameters. Smarty3 is more restrictive. You can still pass strings without quotes
-so long as they contain no special characters. (anything outside of A-Za-z0-9_)
-
-For example filename strings must be quoted
-
-{include file='path/foo.tpl'}
-
-
-== Extending the Smarty class ==
-Smarty 3 makes use of the __construct method for initialization. If you are extending
-the Smarty class, its constructor is not called implicitly if the your child class defines
-its own constructor. In order to run Smarty's constructor, a call to parent::__construct()
-within your child constructor is required.
-
-
-class MySmarty extends Smarty {
- function __construct() {
- parent::__construct();
-
- // your initialization code goes here
-
- }
-}
-
-
-== Autoloader ==
-Smarty 3 does register its own autoloader with spl_autoload_register. If your code has
-an existing __autoload function then this function must be explicitly registered on
-the __autoload stack. See http://us3.php.net/manual/en/function.spl-autoload-register.php
-for further details.
-
-== Plugin Filenames ==
-Smarty 3 optionally supports the PHP spl_autoloader. The autoloader requires filenames
-to be lower case. Because of this, Smarty plugin file names must also be lowercase.
-In Smarty 2, mixed case file names did work.
-
-== Scope of Special Smarty Variables ==
-In Smarty 2 the special Smarty variables $smarty.section... and $smarty.foreach...
-had global scope. If you had loops with the same name in subtemplates you could accidentally
-overwrite values of parent template.
-
-In Smarty 3 these special Smarty variable have only local scope in the template which
-is defining the loop. If you need their value in a subtemplate you have to pass them
-as parameter.
-
-{include file='path/foo.tpl' index=$smarty.section.foo.index}
-
-
-== SMARTY_RESOURCE_CHAR_SET ==
-Smarty 3 sets the constant SMARTY_RESOURCE_CHAR_SET to utf-8 as default template charset.
-This is now used also on modifiers like escape as default charset. If your templates use
-other charsets make sure that you define the constant accordingly. Otherwise you may not
-get any output.
-
-== newline at {if} tags ==
-A \n was added to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source.
-If one of the {if} tags is at the line end you will now get a newline in the HTML output.
-
-== trigger_error() ==
-The API function trigger_error() has been removed because it did just map to PHP trigger_error.
-However it's still included in the Smarty2 API wrapper.
-
-== Smarty constants ==
-The constants
-SMARTY_PHP_PASSTHRU
-SMARTY_PHP_QUOTE
-SMARTY_PHP_REMOVE
-SMARTY_PHP_ALLOW
-have been replaced with class constants
-Smarty::PHP_PASSTHRU
-Smarty::PHP_QUOTE
-Smarty::PHP_REMOVE
-Smarty::PHP_ALLOW
-
diff --git a/php_libs/smarty-3.1.33/SMARTY_3.0_BC_NOTES.txt b/php_libs/smarty-3.1.33/SMARTY_3.0_BC_NOTES.txt
deleted file mode 100755
index 24bdec6..0000000
--- a/php_libs/smarty-3.1.33/SMARTY_3.0_BC_NOTES.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-== Smarty2 backward compatibility ==
-All Smarty2 specific API functions and deprecated functionality has been moved
-to the SmartyBC class.
-
-== {php} Tag ==
-The {php} tag is no longer available in the standard Smarty calls.
-The use of {php} tags is deprecated and only available in the SmartyBC class.
-
-== {include_php} Tag ==
-The {include_php} tag is no longer available in the standard Smarty calls.
-The use of {include_php} tags is deprecated and only available in the SmartyBC class.
-
-== php template resource ==
-The support of the php template resource is removed.
-
-== $cache_dir, $compile_dir, $config_dir, $template_dir access ==
-The mentioned properties can't be accessed directly any longer. You must use
-corresponding getter/setters like addConfigDir(), setConfigDir(), getConfigDir()
-
-== obsolete Smarty class properties ==
-The following no longer used properties are removed:
-$allow_php_tag
-$allow_php_template
-$deprecation_notices
\ No newline at end of file
diff --git a/php_libs/smarty-3.1.33/SMARTY_3.1_NOTES.txt b/php_libs/smarty-3.1.33/SMARTY_3.1_NOTES.txt
deleted file mode 100755
index d7c23cc..0000000
--- a/php_libs/smarty-3.1.33/SMARTY_3.1_NOTES.txt
+++ /dev/null
@@ -1,306 +0,0 @@
-Smarty 3.1 Notes
-================
-
-Smarty 3.1 is a departure from 2.0 compatibility. Most notably, all
-backward compatibility has been moved to a separate class file named
-SmartyBC.class.php. If you require compatibility with 2.0, you will
-need to use this class.
-
-Some differences from 3.0 are also present. 3.1 begins the journey of
-requiring setters/getters for property access. So far this is only
-implemented on the five directory properties: template_dir,
-plugins_dir, configs_dir, compile_dir and cache_dir. These properties
-are now protected, it is required to use the setters/getters instead.
-That said, direct property access will still work, however slightly
-slower since they will now fall through __set() and __get() and in
-turn passed through the setter/getter methods. 3.2 will exhibit a full
-list of setter/getter methods for all (currently) public properties,
-so code-completion in your IDE will work as expected.
-
-There is absolutely no PHP allowed in templates any more. All
-deprecated features of Smarty 2.0 are gone. Again, use the SmartyBC
-class if you need any backward compatibility.
-
-Internal Changes
-
- Full UTF-8 Compatibility
-
-The plugins shipped with Smarty 3.1 have been rewritten to fully
-support UTF-8 strings if Multibyte String is available. Without
-MBString UTF-8 cannot be handled properly. For those rare cases where
-templates themselves have to juggle encodings, the new modifiers
-to_charset and from_charset may come in handy.
-
- Plugin API and Performance
-
-All Plugins (modifiers, functions, blocks, resources,
-default_template_handlers, etc) are now receiving the
-Smarty_Internal_Template instance, where they were supplied with the
-Smarty instance in Smarty 3.0. *. As The Smarty_Internal_Template
-mimics the behavior of Smarty, this API simplification should not
-require any changes to custom plugins.
-
-The plugins shipped with Smarty 3.1 have been rewritten for better
-performance. Most notably {html_select_date} and {html_select_time}
-have been improved vastly. Performance aside, plugins have also been
-reviewed and generalized in their API. {html_select_date} and
-{html_select_time} now share almost all available options.
-
-The escape modifier now knows the $double_encode option, which will
-prevent entities from being encoded again.
-
-The capitalize modifier now know the $lc_rest option, which makes sure
-all letters following a capital letter are lower-cased.
-
-The count_sentences modifier now accepts (.?!) as
-legitimate endings of a sentence - previously only (.) was
-accepted
-
-The new unescape modifier is there to reverse the effects of the
-escape modifier. This applies to the escape formats html, htmlall and
-entity.
-
- default_template_handler_func
-
-The invocation of $smarty->$default_template_handler_func had to be
-altered. Instead of a Smarty_Internal_Template, the fifth argument is
-now provided with the Smarty instance. New footprint:
-
-
-/**
- * Default Template Handler
- *
- * called when Smarty's file: resource is unable to load a requested file
- *
- * @param string $type resource type (e.g. "file", "string", "eval", "resource")
- * @param string $name resource name (e.g. "foo/bar.tpl")
- * @param string &$content template's content
- * @param integer &$modified template's modification time
- * @param Smarty $smarty Smarty instance
- * @return string|boolean path to file or boolean true if $content and $modified
- * have been filled, boolean false if no default template
- * could be loaded
- */
-function default_template_handler_func($type, $name, &$content, &$modified, Smarty $smarty) {
- if (false) {
- // return corrected filepath
- return "/tmp/some/foobar.tpl";
- } elseif (false) {
- // return a template directly
- $content = "the template source";
- $modified = time();
- return true;
- } else {
- // tell smarty that we failed
- return false;
- }
-}
-
- Stuff done to the compiler
-
-Many performance improvements have happened internally. One notable
-improvement is that all compiled templates are now handled as PHP
-functions. This speeds up repeated templates tremendously, as each one
-calls an (in-memory) PHP function instead of performing another file
-include/scan.
-
-New Features
-
- Template syntax
-
- {block}..{/block}
-
-The {block} tag has a new hide option flag. It does suppress the block
-content if no corresponding child block exists.
-EXAMPLE:
-parent.tpl
-{block name=body hide} child content "{$smarty.block.child}" was
-inserted {block}
-In the above example the whole block will be suppressed if no child
-block "body" is existing.
-
- {setfilter}..{/setfilter}
-
-The new {setfilter} block tag allows the definition of filters which
-run on variable output.
-SYNTAX:
-{setfilter filter1|filter2|filter3....}
-Smarty3 will lookup up matching filters in the following search order:
-1. variable filter plugin in plugins_dir.
-2. a valid modifier. A modifier specification will also accept
-additional parameter like filter2:'foo'
-3. a PHP function
-{/setfilter} will turn previous filter setting off again.
-{setfilter} tags can be nested.
-EXAMPLE:
-{setfilter filter1}
- {$foo}
- {setfilter filter2}
- {$bar}
- {/setfilter}
- {$buh}
-{/setfilter}
-{$blar}
-In the above example filter1 will run on the output of $foo, filter2
-on $bar, filter1 again on $buh and no filter on $blar.
-NOTES:
-- {$foo nofilter} will suppress the filters
-- These filters will run in addition to filters defined by
-registerFilter('variable',...), autoLoadFilter('variable',...) and
-defined default modifier.
-- {setfilter} will effect only the current template, not included
-subtemplates.
-
- Resource API
-
-Smarty 3.1 features a new approach to resource management. The
-Smarty_Resource API allows simple, yet powerful integration of custom
-resources for templates and configuration files. It offers simple
-functions for loading data from a custom resource (e.g. database) as
-well as define new template types adhering to the special
-non-compiling (e,g, plain php) and non-compile-caching (e.g. eval:
-resource type) resources.
-
-See demo/plugins/resource.mysql.php for an example custom database
-resource.
-
-Note that old-fashioned registration of callbacks for resource
-management has been deprecated but is still possible with SmartyBC.
-
- CacheResource API
-
-In line with the Resource API, the CacheResource API offers a more
-comfortable handling of output-cache data. With the
-Smarty_CacheResource_Custom accessing databases is made simple. With
-the introduction of Smarty_CacheResource_KeyValueStore the
-implementation of resources like memcache or APC became a no-brainer;
-simple hash-based storage systems are now supporting hierarchical
-output-caches.
-
-See demo/plugins/cacheresource.mysql.php for an example custom
-database CacheResource.
-See demo/plugins/cacheresource.memcache.php for an example custom
-memcache CacheResource using the KeyValueStore helper.
-
-Note that old-fashioned registration of $cache_handler is not possible
-anymore. As the functionality had not been ported to Smarty 3.0.x
-properly, it has been dropped from 3.1 completely.
-
-Locking facilities have been implemented to avoid concurrent cache
-generation. Enable cache locking by setting
-$smarty->cache_locking = true;
-
- Relative Paths in Templates (File-Resource)
-
-As of Smarty 3.1 {include file="../foo.tpl"} and {include
-file="./foo.tpl"} will resolve relative to the template they're in.
-Relative paths are available with {include file="..."} and
-{extends file="..."}. As $smarty->fetch('../foo.tpl') and
-$smarty->fetch('./foo.tpl') cannot be relative to a template, an
-exception is thrown.
-
- Addressing a specific $template_dir
-
-Smarty 3.1 introduces the $template_dir index notation.
-$smarty->fetch('[foo]bar.tpl') and {include file="[foo]bar.tpl"}
-require the template bar.tpl to be loaded from $template_dir['foo'];
-Smarty::setTemplateDir() and Smarty::addTemplateDir() offer ways to
-define indexes along with the actual directories.
-
- Mixing Resources in extends-Resource
-
-Taking the php extends: template resource one step further, it is now
-possible to mix resources within an extends: call like
-$smarty->fetch("extends:file:foo.tpl|db:bar.tpl");
-
-To make eval: and string: resources available to the inheritance
-chain, eval:base64:TPL_STRING and eval:urlencode:TPL_STRING have been
-introduced. Supplying the base64 or urlencode flags will trigger
-decoding the TPL_STRING in with either base64_decode() or urldecode().
-
- extends-Resource in template inheritance
-
-Template based inheritance may now inherit from php's extends:
-resource like {extends file="extends:foo.tpl|db:bar.tpl"}.
-
- New Smarty property escape_html
-
-$smarty->escape_html = true will autoescape all template variable
-output by calling htmlspecialchars({$output}, ENT_QUOTES,
-SMARTY_RESOURCE_CHAR_SET).
-NOTE:
-This is a compile time option. If you change the setting you must make
-sure that the templates get recompiled.
-
- New option at Smarty property compile_check
-
-The automatic recompilation of modified templates can now be
-controlled by the following settings:
-$smarty->compile_check = COMPILECHECK_OFF (false) - template files
-will not be checked
-$smarty->compile_check = COMPILECHECK_ON (true) - template files will
-always be checked
-$smarty->compile_check = COMPILECHECK_CACHEMISS - template files will
-be checked if caching is enabled and there is no existing cache file
-or it has expired
-
- Automatic recompilation on Smarty version change
-
-Templates will now be automatically recompiled on Smarty version
-changes to avoide incompatibillities in the compiled code. Compiled
-template checked against the current setting of the SMARTY_VERSION
-constant.
-
- default_config_handler_func()
-
-Analogous to the default_template_handler_func()
-default_config_handler_func() has been introduced.
-
- default_plugin_handler_func()
-
-An optional default_plugin_handler_func() can be defined which gets called
-by the compiler on tags which can't be resolved internally or by plugins.
-The default_plugin_handler() can map tags to plugins on the fly.
-
-New getters/setters
-
-The following setters/getters will be part of the official
-documentation, and will be strongly recommended. Direct property
-access will still work for the foreseeable future... it will be
-transparently routed through the setters/getters, and consequently a
-bit slower.
-
-array|string getTemplateDir( [string $index] )
-replaces $smarty->template_dir; and $smarty->template_dir[$index];
-Smarty setTemplateDir( array|string $path )
-replaces $smarty->template_dir = "foo"; and $smarty->template_dir =
-array("foo", "bar");
-Smarty addTemplateDir( array|string $path, [string $index])
-replaces $smarty->template_dir[] = "bar"; and
-$smarty->template_dir[$index] = "bar";
-
-array|string getConfigDir( [string $index] )
-replaces $smarty->config_dir; and $smarty->config_dir[$index];
-Smarty setConfigDir( array|string $path )
-replaces $smarty->config_dir = "foo"; and $smarty->config_dir =
-array("foo", "bar");
-Smarty addConfigDir( array|string $path, [string $index])
-replaces $smarty->config_dir[] = "bar"; and
-$smarty->config_dir[$index] = "bar";
-
-array getPluginsDir()
-replaces $smarty->plugins_dir;
-Smarty setPluginsDir( array|string $path )
-replaces $smarty->plugins_dir = "foo";
-Smarty addPluginsDir( array|string $path )
-replaces $smarty->plugins_dir[] = "bar";
-
-string getCompileDir()
-replaces $smarty->compile_dir;
-Smarty setCompileDir( string $path )
-replaces $smarty->compile_dir = "foo";
-
-string getCacheDir()
-replaces $smarty->cache_dir;
-Smarty setCacheDir( string $path )
-replaces $smarty->cache_dir;
diff --git a/php_libs/smarty-3.1.33/change_log.txt b/php_libs/smarty-3.1.33/change_log.txt
deleted file mode 100755
index 70762ed..0000000
--- a/php_libs/smarty-3.1.33/change_log.txt
+++ /dev/null
@@ -1,3384 +0,0 @@
-===== 3.1.33 release ===== 12.09.2018
-===== 3.1.33-dev-12 =====
-03.09.2018
- - bugfix {foreach} using new style property access like {$item@property} on
- Smarty 2 style named foreach loop could produce errors https://github.com/smarty-php/smarty/issues/484
-
-31.08.2018
- - bugfix some custom left and right delimiters like '{^' '^}' did not work
- https://github.com/smarty-php/smarty/issues/450 https://github.com/smarty-php/smarty/pull/482
-
- - reformating for PSR-2 coding standards https://github.com/smarty-php/smarty/pull/483
-
- - bugfix on Windows absolute filepathes did fail if the drive letter was followed by a linux DIRECTORY_SEPARATOR
- like C:/ at Smarty > 3.1.33-dev-5 https://github.com/smarty-php/smarty/issues/451
-
- - PSR-2 code style fixes for config and template file Lexer/Parser generated with
- the Smarty Lexer/Parser generator from https://github.com/smarty-php/smarty-lexer
- https://github.com/smarty-php/smarty/pull/483
-
-26.08.2018
- - bugfix/enhancement {capture} allow variable as capture block name in Smarty special variable
- like $smarty.capture.$foo https://github.com/smarty-php/smarty/issues/478 https://github.com/smarty-php/smarty/pull/481
-
-===== 3.1.33-dev-6 =====
-19.08.2018
- - fix PSR-2 coding standards and PHPDoc blocks https://github.com/smarty-php/smarty/pull/452
- https://github.com/smarty-php/smarty/pull/475
- https://github.com/smarty-php/smarty/pull/473
- - bugfix PHP5.2 compatibility https://github.com/smarty-php/smarty/pull/472
-
-===== 3.1.33-dev-4 =====
-17.05.2018
- - bugfix strip-block produces different output in Smarty v3.1.32 https://github.com/smarty-php/smarty/issues/436
- - bugfix Smarty::compileAllTemplates ignores `$extension` parameter https://github.com/smarty-php/smarty/issues/437
- https://github.com/smarty-php/smarty/pull/438
- - improvement do not compute total property in {foreach} if not needed https://github.com/smarty-php/smarty/issues/443
- - bugfix plugins may not be loaded when setMergeCompiledIncludes is true https://github.com/smarty-php/smarty/issues/435
-
-26.04.2018
- - bugfix regarding Security Vulnerability did not solve the problem under Linux.
- Security issue CVE-2018-16831
-
-===== 3.1.32 ===== (24.04.2018)
-24.04.2018
- - bugfix possible Security Vulnerability in Smarty_Security class.
-
-26.03.2018
- - bugfix plugins may not be loaded if {function} or {block} tags are executed in nocache mode
- https://github.com/smarty-php/smarty/issues/371
-
-26.03.2018
- - new feature {parent} = {$smarty.block.parent} {child} = {$smarty.block.child}
-
-23.03.2018
- - bugfix preg_replace could fail on large content resulting in a blank page https://github.com/smarty-php/smarty/issues/417
-
-21.03.2018
- - bugfix {$smarty.section...} used outside {section}{/section} showed incorrect values if {section}{/section} was called inside
- another loop https://github.com/smarty-php/smarty/issues/422
- - bugfix short form of {section} attributes did not work https://github.com/smarty-php/smarty/issues/428
-
-17.03.2018
- - improvement Smarty::compileAllTemplates() exit with a non-zero status code if max errors is reached https://github.com/smarty-php/smarty/pull/402
-
-16.03.2018
- - bugfix extends resource did not work with user defined left/right delimiter https://github.com/smarty-php/smarty/issues/419
-
-22.11.2017
- - bugfix {break} and {continue} could fail if {foreach}{/foreach} did contain other
- looping tags like {for}, {section} and {while} https://github.com/smarty-php/smarty/issues/323
-
-20.11.2017
- - bugfix rework of newline spacing between tag code and template text.
- now again identical with Smarty2 (forum topic 26878)
- - replacement of " by '
-
-05.11.2017
- - lexer/parser optimization
- - code cleanup and optimizations
- - bugfix {$smarty.section.name.loop} used together with {$smarty.section.name.total} could produce
- wrong results (forum topic 27041)
-
-26.10.2017
- - bugfix Smarty version was not filled in header comment of compiled and cached files
- - optimization replace internal Smarty::$ds property by DIRECTORY_SEPARATOR
- - deprecate functions Smarty::muteExpectedErrors() and Smarty::unmuteExpectedErrors()
- as Smarty does no longer use error suppression like @filemtime().
- for backward compatibility code is moved from Smarty class to an external class and still can be
- called.
- - correction of PHPDoc blocks
- - minor code cleanup
-
-21.10.2017
- - bugfix custom delimiters could fail since modification of version 3.1.32-dev-23
- https://github.com/smarty-php/smarty/issues/394
-
-18.10.2017
- - bugfix fix implementation of unclosed block tag in double quoted string of 12.10.2017
- https://github.com/smarty-php/smarty/issues/396 https://github.com/smarty-php/smarty/issues/397
- https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
-
-12.10.2017
- - bugfix $smarty.block.child and $smarty.block.parent could not be used like any
- $smarty special variable https://github.com/smarty-php/smarty/issues/393
- - unclosed block tag in double quoted string must throw compiler exception.
- https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
-
-07.10.2017
- - bugfix modification of 9.8.2017 did fail on some recursive
- tag nesting. https://github.com/smarty-php/smarty/issues/389
-
-26.8.2017
- - bugfix chained modifier failed when last modifier parameter is a signed value
- https://github.com/smarty-php/smarty/issues/327
- - bugfix templates filepath with multibyte characters did not work
- https://github.com/smarty-php/smarty/issues/385
- - bugfix {make_nocache} did display code if the template did not contain other nocache code
- https://github.com/smarty-php/smarty/issues/369
-
-09.8.2017
- - improvement repeated delimiter like {{ and }} will be treated as literal
- https://groups.google.com/forum/#!topic/smarty-developers/h9r82Bx4KZw
-
-05.8.2017
- - bugfix wordwrap modifier could fail if used in nocache code.
- converted plugin file shared.mb_wordwrap.php into modifier.mb_wordwrap.php
- - cleanup of _getSmartyObj()
-
-31.7.2017
- - Call clearstatcache() after mkdir() failure https://github.com/smarty-php/smarty/pull/379
-
-30.7.2017
- - rewrite mkdir() bugfix to retry automatically see https://github.com/smarty-php/smarty/pull/377
- https://github.com/smarty-php/smarty/pull/379
-
-21.7.2017
- - security possible PHP code injection on custom resources at display() or fetch()
- calls if the resource does not sanitize the template name
- - bugfix fix 'mkdir(): File exists' error on create directory from parallel
- processes https://github.com/smarty-php/smarty/pull/377
- - bugfix solve preg_match() hhvm parameter problem https://github.com/smarty-php/smarty/pull/372
-
-27.5.2017
- - bugfix change compiled code for registered function and modifiers to called as callable to allow closures
- https://github.com/smarty-php/smarty/pull/368, https://github.com/smarty-php/smarty/issues/273
- - bugfix https://github.com/smarty-php/smarty/pull/368 did break the default plugin handler
- - improvement replace phpversion() by PHP_VERSION constant.
- https://github.com/smarty-php/smarty/pull/363
-
-21.5.2017
- - performance store flag for already required shared plugin functions in static variable or
- Smarty's $_cache to improve performance when plugins are often called
- https://github.com/smarty-php/smarty/commit/51e0d5cd405d764a4ea257d1bac1fb1205f74528#commitcomment-22280086
- - bugfix remove special treatment of classes implementing ArrayAccess in {foreach}
- https://github.com/smarty-php/smarty/issues/332
- - bugfix remove deleted files by clear_cache() and clear_compiled_template() from
- ACP cache if present, add some is_file() checks to avoid possible warnings on filemtime()
- caused by above functions.
- https://github.com/smarty-php/smarty/issues/341
- - bugfix version 3.1.31 did fail under PHP 5.2
- https://github.com/smarty-php/smarty/issues/365
-
-19.5.2017
- - change properties $accessMap and $obsoleteProperties from private to protected
- https://github.com/smarty-php/smarty/issues/351
- - new feature The named capture buffers can now be accessed also as array
- See NEWS_FEATURES.txt https://github.com/smarty-php/smarty/issues/366
- - improvement check if ini_get() and ini_set() not disabled
- https://github.com/smarty-php/smarty/pull/362
-
-24.4.2017
- - fix spelling https://github.com/smarty-php/smarty/commit/e3eda8a5f5653d8abb960eb1bc47e3eca679b1b4#commitcomment-21803095
-
-17.4.2017
- - correct generated code on empty() and isset() call, observe change PHP behaviour since PHP 5.5
- https://github.com/smarty-php/smarty/issues/347
-
-14.4.2017
- - merge pull requests https://github.com/smarty-php/smarty/pull/349, https://github.com/smarty-php/smarty/pull/322 and https://github.com/smarty-php/smarty/pull/337 to fix spelling and annotation
-
-13.4.2017
- - bugfix array_merge() parameter should be checked https://github.com/smarty-php/smarty/issues/350
-
-===== 3.1.31 ===== (14.12.2016)
- 23.11.2016
- - move template object cache into static variables
-
- 19.11.2016
- - bugfix inheritance root child templates containing nested {block}{/block} could call sub-bock content from parent
- template https://github.com/smarty-php/smarty/issues/317
- - change version checking
-
- 11.11.2016
- - bugfix when Smarty is using a cached template object on Smarty::fetch() or Smarty::isCached() the inheritance data
- must be removed https://github.com/smarty-php/smarty/issues/312
- - smaller speed optimization
-
- 08.11.2016
- - add bootstrap file to load and register Smarty_Autoloader. Change composer.json to make it known to composer
-
- 07.11.2016
- - optimization of lexer speed https://github.com/smarty-php/smarty/issues/311
-
- 27.10.2016
- - bugfix template function definitions array has not been cached between Smarty::fetch() and Smarty::display() calls
- https://github.com/smarty-php/smarty/issues/301
-
- 23.10.2016
- - improvement/bugfix when Smarty::fetch() is called on a template object the inheritance and tplFunctions property
- should be copied to the called template object
-
- 21.10.2016
- - bugfix for compile locking touched timestamp of old compiled file was not restored on compilation error https://github.com/smarty-php/smarty/issues/308
-
- 20.10.2016
- - bugfix nocache code was not removed in cache file when subtemplate did contain PHP short tags in text but no other
- nocache code https://github.com/smarty-php/smarty/issues/300
-
- 19.10.2016
- - bugfix {make_nocache $var} did fail when variable value did contain '\' https://github.com/smarty-php/smarty/issues/305
- - bugfix {make_nocache $var} remove spaces from variable value https://github.com/smarty-php/smarty/issues/304
-
- 12.10.2016
- - bugfix {include} with template names including variable or constants could fail after bugfix from
- 28.09.2016 https://github.com/smarty-php/smarty/issues/302
-
- 08.10.2016
- - optimization move runtime extension for template functions into Smarty objects
-
- 29.09.2016
- - improvement new Smarty::$extends_recursion property to disable execution of {extends} in templates called by extends resource
- https://github.com/smarty-php/smarty/issues/296
-
- 28.09.2016
- - bugfix the generated code for calling a subtemplate must pass the template resource name in single quotes https://github.com/smarty-php/smarty/issues/299
- - bugfix nocache hash was not removed for tags in subtemplates https://github.com/smarty-php/smarty/issues/300
-
- 27.09.2016
- - bugfix when Smarty does use an internally cached template object on Smarty::fetch() calls
- the template and config variables must be cleared https://github.com/smarty-php/smarty/issues/297
-
- 20.09.2016
- - bugfix some $smarty special template variables are no longer accessed as real variable.
- using them on calls like {if isset($smarty.foo)} or {if empty($smarty.foo)} will fail
- http://www.smarty.net/forums/viewtopic.php?t=26222
- - temporary fix for https://github.com/smarty-php/smarty/issues/293 main reason still under investigation
- - improvement new tags {block_parent} {block_child} in template inheritance
-
- 19.09.2016
- - optimization clear compiled and cached folder completely on detected version change
- - cleanup convert cache resource file method clear into runtime extension
-
- 15.09.2016
- - bugfix assigning a variable in if condition by function like {if $value = array_shift($array)} the function got called twice https://github.com/smarty-php/smarty/issues/291
- - bugfix function plugins called with assign attribute like {foo assign='bar'} did not output returned content because
- because assumption was made that it was assigned to a variable https://github.com/smarty-php/smarty/issues/292
- - bugfix calling $smarty->isCached() on a not existing cache file with $smarty->cache_locking = true; could cause a 10 second delay http://www.smarty.net/forums/viewtopic.php?t=26282
- - improvement make Smarty::clearCompiledTemplate() on custom resource independent from changes of templateId computation
-
- 11.09.2016
- - improvement {math} misleading E_USER_WARNING messages when parameter value = null https://github.com/smarty-php/smarty/issues/288
- - improvement move often used code snippets into methods
- - performance Smarty::configLoad() did load unneeded template source object
-
- 09.09.2016
- - bugfix/optimization {foreach} did not execute the {foreachelse} when iterating empty objects https://github.com/smarty-php/smarty/pull/287
- - bugfix {foreach} must keep the @properties when restoring a saved $item variable as the properties might be used outside {foreach} https://github.com/smarty-php/smarty/issues/267
- - improvement {foreach} observe {break n} and {continue n} nesting levels when restoring saved $item and $key variables
-
- 08.09.2016
- - bugfix implement wrapper for removed method getConfigVariable() https://github.com/smarty-php/smarty/issues/286
-
- 07.09.2016
- - bugfix using nocache like attribute with value true like {plugin nocache=true} did not work https://github.com/smarty-php/smarty/issues/285
- - bugfix uppercase TRUE, FALSE and NULL did not work when security was enabled https://github.com/smarty-php/smarty/issues/282
- - bugfix when {foreach} was looping over an object the total property like {$item@total} did always return 1 https://github.com/smarty-php/smarty/issues/281
- - bugfix {capture}{/capture} did add in 3.1.30 unintended additional blank lines https://github.com/smarty-php/smarty/issues/268
-
- 01.09.2016
- - performance require_once should be called only once for shared plugins https://github.com/smarty-php/smarty/issues/280
-
- 26.08.2016
- - bugfix change of 23.08.2016 failed on linux when use_include_path = true
-
- 23.08.2016
- - bugfix remove constant DS as shortcut for DIRECTORY_SEPARATOR as the user may have defined it to something else https://github.com/smarty-php/smarty/issues/277
-
- 20.08-2016
- - bugfix {config_load ... scope="global"} shall not throw an arror but fallback to scope="smarty" https://github.com/smarty-php/smarty/issues/274
- - bugfix {make_nocache} failed when using composer autoloader https://github.com/smarty-php/smarty/issues/275
-
- 14.08.2016
- - bugfix $smarty_>debugging = true; did E_NOTICE messages when {eval} tag was used https://github.com/smarty-php/smarty/issues/266
- - bugfix Class 'Smarty_Internal_Runtime_ValidateCompiled' not found when upgrading from some older Smarty versions with existing
- compiled or cached template files https://github.com/smarty-php/smarty/issues/269
- - optimization remove unneeded call to update acopes when {assign} scope and template scope was local (default)
-
-===== 3.1.30 ===== (07.08.2016)
-
- 07.08.2016
- - bugfix update of 04.08.2016 was incomplete
-
- 05.08.2016
- - bugfix compiling of templates failed when the Smarty delimiter did contain '/' https://github.com/smarty-php/smarty/issues/264
- - updated error checking at template and config default handler
-
- 04.08.2016
- - improvement move template function source parameter into extension
-
- 26.07.2016
- - optimization unneeded loading of compiled resource
-
- 24.07.2016
- - regression this->addPluginsDir('/abs/path/to/dir') adding absolute path without trailing '/' did fail https://github.com/smarty-php/smarty/issues/260
-
- 23.07.2016
- - bugfix setTemplateDir('/') and setTemplateDir('') did create wrong absolute filepath https://github.com/smarty-php/smarty/issues/245
- - optimization of filepath normalization
- - improvement remove double function declaration in plugin shared.escape_special_cars.php https://github.com/smarty-php/smarty/issues/229
-
- 19.07.2016
- - bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
- - bugfix {math} shell injection vulnerability patch provided by Tim Weber
-
- 18.07.2016
- - bugfix {foreach} if key variable and item@key attribute have been used both the key variable was not updated https://github.com/smarty-php/smarty/issues/254
- - bugfix modifier on plugins like {plugin|modifier ... } did fail when the plugin does return an array https://github.com/smarty-php/smarty/issues/228
- - bugfix avoid opcache_invalidate to result in ErrorException when opcache.restrict_api is not empty https://github.com/smarty-php/smarty/pull/244
- - bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
-
- 14.07.2016
- - bugfix wrong parameter on compileAllTemplates() and compileAllConfig() https://github.com/smarty-php/smarty/issues/231
-
- 13.07.2016
- - bugfix PHP 7 compatibility on registered compiler plugins https://github.com/smarty-php/smarty/issues/241
- - update testInstall() https://github.com/smarty-php/smarty/issues/248https://github.com/smarty-php/smarty/issues/248
- - bugfix enable debugging could fail when template objects did already exists https://github.com/smarty-php/smarty/issues/237
- - bugfix template function data should be merged when loading subtemplate https://github.com/smarty-php/smarty/issues/240
- - bugfix wrong parameter on compileAllTemplates() https://github.com/smarty-php/smarty/issues/231
-
- 12.07.2016
- - bugfix {foreach} item variable must be created also on empty from array https://github.com/smarty-php/smarty/issues/238 and https://github.com/smarty-php/smarty/issues/239
- - bugfix enableSecurity() must init cache flags https://github.com/smarty-php/smarty/issues/247
-
- 27.05.2016
- - bugfix/improvement of compileAlltemplates() follow symlinks in template folder (PHP >= 5.3.1) https://github.com/smarty-php/smarty/issues/224
- clear internal cache and expension handler for each template to avoid possible conflicts https://github.com/smarty-php/smarty/issues/231
-
- 16.05.2016
- - optimization {foreach} compiler and processing
- - broken PHP 5.3 and 5.4 compatibility
-
- 15.05.2016
- - optimization and cleanup of resource code
-
- 10.05.2016
- - optimization of inheritance processing
-
- 07.05.2016
- -bugfix Only variables should be assigned by reference https://github.com/smarty-php/smarty/issues/227
-
- 02.05.2016
- - enhancement {block} tag names can now be variable https://github.com/smarty-php/smarty/issues/221
-
- 01.05.2016
- - bugfix same relative filepath at {include} called from template in different folders could display wrong sub-template
-
- 29.04.2016
- - bugfix {strip} remove space on linebreak between html tags https://github.com/smarty-php/smarty/issues/213
-
- 24.04.2016
- - bugfix nested {include} with relative file path could fail when called in {block} ... {/block} https://github.com/smarty-php/smarty/issues/218
-
- 14.04.2016
- - bugfix special variable {$smarty.capture.name} was not case sensitive on name https://github.com/smarty-php/smarty/issues/210
- - bugfix the default template handler must calculate the source uid https://github.com/smarty-php/smarty/issues/205
-
- 13.04.2016
- - bugfix template inheritance status must be saved when calling sub-templates https://github.com/smarty-php/smarty/issues/215
-
- 27.03.2016
- - bugfix change of 11.03.2016 cause again {capture} data could not been seen in other templates with {$smarty.capture.name} https://github.com/smarty-php/smarty/issues/153
-
- 11.03.2016
- - optimization of capture and security handling
- - improvement $smarty->clearCompiledTemplate() should return on recompiled or uncompiled resources
-
- 10.03.2016
- - optimization of resource processing
-
- 09.03.2016
- - improvement rework of 'scope' attribute handling see see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/194
- https://github.com/smarty-php/smarty/issues/186 https://github.com/smarty-php/smarty/issues/179
- - bugfix correct Autoloader update of 2.3.2014 https://github.com/smarty-php/smarty/issues/199
-
- 04.03.2016
- - bugfix change from 01.03.2016 will cause $smarty->isCached(..) failure if called multiple time for same template
- (forum topic 25935)
-
- 02.03.2016
- - revert autoloader optimizations because of unexplainable warning when using plugins https://github.com/smarty-php/smarty/issues/199
-
- 01.03.2016
- - bugfix template objects must be cached on $smarty->fetch('foo.tpl) calls incase the template is fetched
- multiple times (forum topic 25909)
-
- 25.02.2016
- - bugfix wrong _realpath with 4 or more parent-directories https://github.com/smarty-php/smarty/issues/190
- - optimization of _realpath
- - bugfix instanceof expression in template code must be treated as value https://github.com/smarty-php/smarty/issues/191
-
- 20.02.2016
- - bugfix {strip} must keep space between hmtl tags. Broken by changes of 10.2.2016 https://github.com/smarty-php/smarty/issues/184
- - new feature/bugfix {foreach}{section} add 'properties' attribute to force compilation of loop properties
- see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/189
-
- 19.02.2016
- - revert output buffer flushing on display, echo content again because possible problems when PHP files had
- characters (newline} after ?> at file end https://github.com/smarty-php/smarty/issues/187
-
- 14.02.2016
- - new tag {make_nocache} read NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/110
- - optimization of sub-template processing
- - bugfix using extendsall as default resource and {include} inside {block} tags could produce unexpected results https://github.com/smarty-php/smarty/issues/183
- - optimization of tag attribute compiling
- - optimization make compiler tag object cache static for higher compilation speed
-
- 11.02.2016
- - improvement added KnockoutJS comments to trimwhitespace outputfilter https://github.com/smarty-php/smarty/issues/82
- https://github.com/smarty-php/smarty/pull/181
-
- 10.02.2016
- - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177
- - bugfix wrong precedence on special if conditions like '$foo is ... by $bar' could cause wrong code https://github.com/smarty-php/smarty/issues/178
- - improvement because of ambiguities the inline constant support has been removed from the $foo.bar syntax https://github.com/smarty-php/smarty/issues/149
- - bugfix other {strip} error with output tags between hmtl https://github.com/smarty-php/smarty/issues/180
-
- 09.02.2016
- - move some code from parser into compiler
- - reformat all code for unique style
- - update/bugfix scope attribute handling reworked. Read the newfeatures.txt file
-
- 05.02.2016
- - improvement internal compiler changes
-
- 01.02.2016
- - bugfix {foreach} compilation failed when $smarty->merge_compiled_includes = true and pre-filters are used.
-
- 29.01.2016
- - bugfix implement replacement code for _tag_stack property https://github.com/smarty-php/smarty/issues/151
-
- 28.01.2016
- - bugfix allow windows network filepath or wrapper (forum topic 25876) https://github.com/smarty-php/smarty/issues/170
- - bugfix if fetch('foo.tpl') is called on a template object the $parent parameter should default to the calling template object https://github.com/smarty-php/smarty/issues/152
-
- 27.01.2016
- - revert bugfix compiling {section} did create warning
- - bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
- update of yesterdays fix
- - bugfix string resource could inject code at {block} or inline subtemplates through PHP comments https://github.com/smarty-php/smarty/issues/157
- - bugfix output filters did not observe nocache code flhttps://github.com/smarty-php/smarty/issues/154g https://github.com/smarty-php/smarty/issues/160
- - bugfix {extends} with relative file path did not work https://github.com/smarty-php/smarty/issues/154
- https://github.com/smarty-php/smarty/issues/158
- - bugfix {capture} data could not been seen in other templates with {$smarty.capture.name} https://github.com/smarty-php/smarty/issues/153
-
- 26.01.2016
- - improvement observe Smarty::$_CHARSET in debugging console https://github.com/smarty-php/smarty/issues/169
- - bugfix compiling {section} did create warning
- - bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
-
- 02.01.2016
- - update scope handling
- - optimize block plugin compiler
- - improvement runtime checks if registered block plugins are callable
-
- 01.01.2016
- - remove Smarty::$resource_cache_mode property
-
- 31.12.2015
- - optimization of {assign}, {if} and {while} compiled code
-
- 30.12.2015
- - bugfix plugin names starting with "php" did not compile https://github.com/smarty-php/smarty/issues/147
-
- 29.12.2015
- - bugfix Smarty::error_reporting was not observed when display() or fetch() was called on template objects https://github.com/smarty-php/smarty/issues/145
-
- 28.12.2015
- - optimization of {foreach} code size and processing
-
- 27.12.2015
- - improve inheritance code
- - update external methods
- - code fixes
- - PHPdoc updates
-
- 25.12.2015
- - compile {block} tag code and its processing into classes
- - optimization replace hhvm extension by inline code
- - new feature If ACP is enabled force an apc_compile_file() when compiled or cached template was updated
-
- 24.12.2015
- - new feature Compiler does now observe the template_dir setting and will create separate compiled files if required
- - bugfix post filter did fail on template inheritance https://github.com/smarty-php/smarty/issues/144
-
- 23.12.2015
- - optimization move internal method decodeProperties back into template object
- - optimization move subtemplate processing back into template object
- - new feature Caching does now observe the template_dir setting and will create separate cache files if required
-
- 22.12.2015
- - change $xxx_dir properties from private to protected in case Smarty class gets extended
- - code optimizations
-
- 21.12.2015
- - bugfix a filepath starting with '/' or '\' on windows should normalize to the root dir
- of current working drive https://github.com/smarty-php/smarty/issues/134
- - optimization of filepath normalization
- - bugfix {strip} must remove all blanks between html tags https://github.com/smarty-php/smarty/issues/136
-
- ===== 3.1.29 ===== (21.12.2015)
- 21.12.2015
- - optimization improve speed of filetime checks on extends and extendsall resource
-
- 20.12.2015
- - bugfix failure when the default resource type was set to 'extendsall' https://github.com/smarty-php/smarty/issues/123
- - update compilation of Smarty special variables
- - bugfix add addition check for OS type on normalization of file path https://github.com/smarty-php/smarty/issues/134
- - bugfix the source uid of the extendsall resource must contain $template_dir settings https://github.com/smarty-php/smarty/issues/123
-
- 19.12.2015
- - bugfix using $smarty.capture.foo in expressions could fail https://github.com/smarty-php/smarty/pull/138
- - bugfix broken PHP 5.2 compatibility https://github.com/smarty-php/smarty/issues/139
- - remove no longer used code
- - improvement make sure that compiled and cache templates never can contain a trailing '?>?
-
- 18.12.2015
- - bugfix regression when modifier parameter was followed by math https://github.com/smarty-php/smarty/issues/132
-
- 17.12.2015
- - bugfix {$smarty.capture.nameFail} did lowercase capture name https://github.com/smarty-php/smarty/issues/135
- - bugfix using {block append/prepend} on same block in multiple levels of inheritance templates could fail (forum topic 25827)
- - bugfix text content consisting of just a single '0' like in {if true}0{/if} was suppressed (forum topic 25834)
-
- 16.12.2015
- - bugfix {foreach} did fail if from atrribute is a Generator class https://github.com/smarty-php/smarty/issues/128
- - bugfix direct access $smarty->template_dir = 'foo'; should call Smarty::setTemplateDir() https://github.com/smarty-php/smarty/issues/121
-
- 15.12.2015
- - bugfix {$smarty.cookies.foo} did return the $_COOKIE array not the 'foo' value https://github.com/smarty-php/smarty/issues/122
- - bugfix a call to clearAllCache() and other should clear all internal template object caches (forum topic 25828)
-
- 14.12.2015
- - bugfix {$smarty.config.foo} broken in 3.1.28 https://github.com/smarty-php/smarty/issues/120
- - bugfix multiple calls of {section} with same name droped E_NOTICE error https://github.com/smarty-php/smarty/issues/118
-
- ===== 3.1.28 ===== (13.12.2015)
- 13.12.2015
- - bugfix {foreach} and {section} with uppercase characters in name attribute did not work (forum topic 25819)
- - bugfix $smarty->debugging_ctrl = 'URL' did not work (forum topic 25811)
- - bugfix Debug Console could display incorrect data when using subtemplates
-
- 09.12.2015
- - bugfix Smarty did fail under PHP 7.0.0 with use_include_path = true;
-
- 09.12.2015
- - bugfix {strip} should exclude some html tags from stripping, related to fix for https://github.com/smarty-php/smarty/issues/111
-
- 08.12.2015
- - bugfix internal template function data got stored in wrong compiled file https://github.com/smarty-php/smarty/issues/114
-
- 05.12.2015
- -bugfix {strip} should insert a single space https://github.com/smarty-php/smarty/issues/111
-
- 25.11.2015
- -bugfix a left delimter like '[%' did fail on [%$var_[%$variable%]%] (forum topic 25798)
-
- 02.11.2015
- - bugfix {include} with variable file name like {include file="foo_`$bar`.tpl"} did fail in 3.1.28-dev https://github.com/smarty-php/smarty/issues/102
-
- 01.11.2015
- - update config file processing
-
- 31.10.2015
- - bugfix add missing $trusted_dir property to SmartyBC class (forum topic 25751)
-
- 29.10.2015
- - improve template scope handling
-
- 24.10.2015
- - more optimizations of template processing
- - bugfix Error when using {include} within {capture} https://github.com/smarty-php/smarty/issues/100
-
- 21.10.2015
- - move some code into runtime extensions
-
- 18.10.2015
- - optimize filepath normalization
- - rework of template inheritance
- - speed and size optimizations
- - bugfix under HHVM temporary cache file must only be created when caches template was updated
- - fix compiled code for new {block} assign attribute
- - update code generated by template function call handler
-
- 18.09.2015
- - bugfix {if $foo instanceof $bar} failed to compile if 2nd value is a variable https://github.com/smarty-php/smarty/issues/92
-
- 17.09.2015
- - bugfix {foreach} first attribute was not correctly reset since commit 05a8fa2 of 02.08.2015 https://github.com/smarty-php/smarty/issues/90
-
- 16.09.2015
- - update compiler by moving no longer needed properties, code optimizations and other
-
- 14.09.2015
- - optimize autoloader
- - optimize subtemplate handling
- - update template inheritance processing
- - move code of {call} processing back into Smarty_Internal_Template class
- - improvement invalidate OPCACHE for cleared compiled and cached template files (forum topic 25557)
- - bugfix unintended multiple debug windows (forum topic 25699)
-
- 30.08.2015
- - size optimization move some runtime functions into extension
- - optimize inline template processing
- - optimization merge inheritance child and parent templates into one compiled template file
-
- 29.08.2015
- - improvement convert template inheritance into runtime processing
- - bugfix {$smarty.block.parent} did always reference the root parent block https://github.com/smarty-php/smarty/issues/68
-
- 23.08.2015
- - introduce Smarty::$resource_cache_mode and cache template object of {include} inside loop
- - load seldom used Smarty API methods dynamically to reduce memory footprint
- - cache template object of {include} if same template is included several times
- - convert debug console processing to object
- - use output buffers for better performance and less memory usage
- - optimize nocache hash processing
- - remove not really needed properties
- - optimize rendering
- - move caching to Smarty::_cache
- - remove properties with redundant content
- - optimize Smarty::templateExists()
- - optimize use_include_path processing
- - relocate properties for size optimization
- - remove redundant code
- - bugfix compiling super globals like {$smarty.get.foo} did fail in the master branch https://github.com/smarty-php/smarty/issues/77
-
- 06.08.2015
- - avoid possible circular object references caused by parser/lexer objects
- - rewrite compileAll... utility methods
- - commit several internal improvements
- - bugfix Smarty failed when compile_id did contain "|"
-
- 03.08.2015
- - rework clear cache methods
- - bugfix compileAllConfig() was broken since 3.1.22 because of the changes in config file processing
- - improve getIncludePath() to return directory if no file was given
-
- 02.08.2015
- - optimization and code cleanup of {foreach} and {section} compiler
- - rework {capture} compiler
-
- 01.08.2015
- - update DateTime object can be instance of DateTimeImmutable since PHP5.5 https://github.com/smarty-php/smarty/pull/75
- - improvement show resource type and start of template source instead of uid on eval: and string: resource (forum topic 25630)
-
- 31.07.2015
- - optimize {foreach} and {section} compiler
-
- 29.07.2015
- - optimize {section} compiler for speed and size of compiled code
-
- 28.07.2015
- - update for PHP 7 compatibility
-
- 26.07.2015
- - improvement impement workaround for HHVM PHP incompatibillity https://github.com/facebook/hhvm/issues/4797
-
- 25.07.2015
- - bugfix parser did hang on text starting fetch('foo.tpl') https://github.com/smarty-php/smarty/issues/70
- - improvement Added $limit parameter to regex_replace modifier #71
- - new feature multiple indices on file: resource
-
- 06.07.2015
- - optimize {block} compilation
- - optimization get rid of __get and __set in source object
-
- 01.07.2015
- - optimize compile check handling
- - update {foreach} compiler
- - bugfix debugging console did not display string values containing \n, \r or \t correctly https://github.com/smarty-php/smarty/issues/66
- - optimize source resources
-
- 28.06.2015
- - move $smarty->enableSecurity() into Smarty_Security class
- - optimize security isTrustedResourceDir()
- - move auto load filter methods into extension
- - move $smarty->getTemplateVars() into extension
- - move getStreamVariable() into extension
- - move $smarty->append() and $smarty->appendByRef() into extension
- - optimize autoloader
- - optimize file path normalization
- - bugfix PATH_SEPARATOR was replaced by mistake in autoloader
- - remove redundant code
-
- 27.06.2015
- - bugfix resolve naming conflict between custom Smarty delimiter '<%' and PHP ASP tags https://github.com/smarty-php/smarty/issues/64
- - update $smarty->_realpath for relative path not starting with './'
- - update Smarty security with new realpath handling
- - update {include_php} with new realpath handling
- - move $smarty->loadPlugin() into extension
- - minor compiler optimizations
- - bugfix allow function plugins with name ending with 'close' https://github.com/smarty-php/smarty/issues/52
- - rework of $smarty->clearCompiledTemplate() and move it to its own extension
-
- 19.06.2015
- - improvement allow closures as callback at $smarty->registerFilter() https://github.com/smarty-php/smarty/issues/59
-
- ===== 3.1.27===== (18.06.2015)
- 18.06.2015
- - bugfix another update on file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56
-
- ===== 3.1.26===== (18.06.2015)
- 18.06.2015
- - bugfix file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56
-
- 17.06.2015
- - bugfix calling a plugin with nocache option but no other attributes like {foo nocache} caused call to undefined function https://github.com/smarty-php/smarty/issues/55
-
- ===== 3.1.25===== (15.06.2015)
- 15.06.2015
- - optimization of smarty_cachereource_keyvaluestore.php code
-
- 14.06.2015
- - bugfix a relative sub template path could fail if template_dir path did contain /../ https://github.com/smarty-php/smarty/issues/50
- - optimization rework of path normalization
- - bugfix an output tag with variable, modifier followed by an operator like {$foo|modifier+1} did fail https://github.com/smarty-php/smarty/issues/53
-
- 13.06.2015
- - bugfix a custom cache resource using smarty_cachereource_keyvaluestore.php did fail if php.ini mbstring.func_overload = 2 (forum topic 25568)
-
- 11.06.2015
- - bugfix the lexer could hang on very large quoted strings (forum topic 25570)
-
- 08.06.2015
- - bugfix using {$foo} as array index like $bar.{$foo} or in double quoted string like "some {$foo} thing" failed https://github.com/smarty-php/smarty/issues/49
-
- 04.06.2015
- - bugfix possible error message on unset() while compiling {block} tags https://github.com/smarty-php/smarty/issues/46
-
- 01.06.2015
- - bugfix including template variables broken since 3.1.22 https://github.com/smarty-php/smarty/issues/47
-
- 27.05.2015
- - bugfix {include} with variable file name must not create by default individual cache file (since 3.1.22) https://github.com/smarty-php/smarty/issues/43
-
- 24.05.2015
- - bugfix if condition string 'neq' broken due to a typo https://github.com/smarty-php/smarty/issues/42
-
- ===== 3.1.24===== (23.05.2015)
- 23.05.2015
- - improvement on php_handling to allow very large PHP sections, better error handling
- - improvement allow extreme large comment sections (forum 25538)
-
- 21.05.2015
- - bugfix broken PHP 5.2 compatibility when compiling 1 did compile into wrong code https://github.com/smarty-php/smarty/issues/41
-
- 19.05.2015
- - bugfix compiler did overwrite existing variable value when setting the nocache attribute https://github.com/smarty-php/smarty/issues/39
- - bugfix output filter trimwhitespace could run into the pcre.backtrack_limit on large output (code.google issue 220)
- - bugfix compiler could run into the pcre.backtrack_limit on larger comment or {php} tag sections (forum 25538)
-
- 18.05.2015
- - improvement introduce shortcuts in lexer/parser rules for most frequent terms for higher
- compilation speed
-
- 16.05.2015
- - bugfix {php}{/php} did work just for single lines https://github.com/smarty-php/smarty/issues/33
- - improvement remove not needed ?> handling from parser to new compiler module
-
- 05.05.2015
- - bugfix code could be messed up when {tags} are used in multiple attributes https://github.com/smarty-php/smarty/issues/23
-
- 04.05.2015
- - bugfix Smarty_Resource::parseResourceName incompatible with Google AppEngine (https://github.com/smarty-php/smarty/issues/22)
- - improvement use is_file() checks to avoid errors suppressed by @ which could still cause problems (https://github.com/smarty-php/smarty/issues/24)
-
- 28.04.2015
- - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508) 2nd fix
-
- 28.04.2015
- - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508)
-
- 23.04.2015
- - bugfix a nocache template variable used as parameter at {insert} was by mistake cached
-
- 20.04.2015
- - bugfix at a template function containing nocache code a parmeter could overwrite a template variable of same name
-
- 27.03.2015
- - bugfix Smarty_Security->allow_constants=false; did also disable true, false and null (change of 16.03.2015)
- - improvement added a whitelist for trusted constants to security Smarty_Security::$trusted_constants (forum topic 25471)
-
- 20.03.2015
- - bugfix make sure that function properties get saved only in compiled files containing the fuction definition {forum topic 25452}
- - bugfix correct update of global variable values on exit of template functions. (reported under Smarty Developers)
-
- 16.03.2015
- - bugfix problems with {function}{/function} and {call} tags in different subtemplate cache files {forum topic 25452}
- - bugfix Smarty_Security->allow_constants=false; did not disallow direct usage of defined constants like {SMARTY_DIR} {forum topic 25457}
- - bugfix {block}{/block} tags did not work inside double quoted strings https://github.com/smarty-php/smarty/issues/18
-
-
- 15.03.2015
- - bugfix $smarty->compile_check must be restored before rendering of a just updated cache file {forum 25452}
-
- 14.03.2015
- - bugfix {nocache} {/nocache} tags corrupted code when used within a nocache section caused by a nocache template variable.
-
- - bugfix template functions defined with {function} in an included subtemplate could not be called in nocache
- mode with {call... nocache} if the subtemplate had it's own cache file {forum 25452}
-
- 10.03.2015
- - bugfix {include ... nocache} whith variable file or compile_id attribute was not executed in nocache mode.
-
- 12.02.2015
- - bugfix multiple Smarty::fetch() of same template when $smarty->merge_compiled_includes = true; could cause function already defined error
-
- 11.02.2015
- - bugfix recursive {includes} did create E_NOTICE message when $smarty->merge_compiled_includes = true; (github issue #16)
-
- 22.01.2015
- - new feature security can now control access to static methods and properties
- see also NEW_FEATURES.txt
-
- 21.01.2015
- - bugfix clearCompiledTemplates(), clearAll() and clear() could try to delete whole drive at wrong path permissions because realpath() fail (forum 25397)
- - bugfix 'self::' and 'parent::' was interpreted in template syntax as static class
-
- 04.01.2015
- - push last weeks changes to github
-
- - different optimizations
- - improvement automatically create different versions of compiled templates and config files depending
- on property settings.
- - optimization restructure template processing by moving code into classes it better belongs to
- - optimization restructure config file processing
-
- 31.12.2014
- - bugfix use function_exists('mb_get_info') for setting Smarty::$_MBSTRING.
- Function mb_split could be overloaded depending on php.ini mbstring.func_overload
-
-
- 29.12.2014
- - new feature security can now limit the template nesting level by property $max_template_nesting
- see also NEW_FEATURES.txt (forum 25370)
-
- 29.12.2014
- - new feature security can now disable special $smarty variables listed in property $disabled_special_smarty_vars
- see also NEW_FEATURES.txt (forum 25370)
-
- 27.12.2014
- - bugfix clear internal _is_file_cache when plugins_dir was modified
-
- 13.12.2014
- - improvement optimization of lexer and parser resulting in a up to 30% higher compiling speed
-
- 11.12.2014
- - bugfix resolve parser ambiguity between constant print tag {CONST} and other smarty tags after change of 09.12.2014
-
- 09.12.2014
- - bugfix variables $null, $true and $false did not work after the change of 12.11.2014 (forum 25342)
- - bugfix call of template function by a variable name did not work after latest changes (forum 25342)
-
- 23.11.2014
- - bugfix a plugin with attached modifier could fail if the tag was immediately followed by another Smarty tag (since 3.1.21) (forum 25326)
-
- 13.11.2014
- - improvement move autoload code into Autoloader.php. Use Composer autoloader when possible
-
- 12.11.2014
- - new feature added support of namespaces to template code
-
- 08.11.2014 - 10.11.2014
- - bugfix subtemplate called in nocache mode could be called with wrong compile_id when it did change on one of the calling templates
- - improvement add code of template functions called in nocache mode dynamically to cache file (related to bugfix of 01.11.2014)
- - bugfix Debug Console did not include all data from merged compiled subtemplates
-
- 04.11.2014
- - new feature $smarty->debugging = true; => overwrite existing Debug Console window (old behaviour)
- $smarty->debugging = 2; => individual Debug Console window by template name
-
- 03.11.2014
- - bugfix Debug Console did not show included subtemplates since 3.1.17 (forum 25301)
- - bugfix Modifier debug_print_var did not limit recursion or prevent recursive object display at Debug Console
- (ATTENTION: parameter order has changed to be able to specify maximum recursion)
- - bugfix Debug consol did not include subtemplate information with $smarty->merge_compiled_includes = true
- - improvement The template variables are no longer displayed as objects on the Debug Console
- - improvement $smarty->createData($parent = null, $name = null) new optional name parameter for display at Debug Console
- - addition of some hooks for future extension of Debug Console
-
- 01.11.2014
- - bugfix and enhancement on subtemplate {include} and template {function} tags.
- * Calling a template which has a nocache section could fail if it was called from a cached and a not cached subtemplate.
- * Calling the same subtemplate cached and not cached with the $smarty->merge_compiled_includes enabled could cause problems
- * Many smaller related changes
-
- 30.10.2014
- - bugfix access to class constant by object like {$object::CONST} or variable class name {$class::CONST} did not work (forum 25301)
-
- 26.10.2014
- - bugfix E_NOTICE message was created during compilation when ASP tags '<%' or '%>' are in template source text
- - bugfix merge_compiled_includes option failed when caching enables and same subtemplate was included cached and not cached
-
- ===== 3.1.21 ===== (18.10.2014)
- 18.10.2014
- - composer moved to github
-
- 17.10.2014
- - bugfix on $php_handling security and optimization of smarty_internal_parsetree (Thue Kristensen)
-
- 16.10.2014
- - bugfix composer.json update
-
- 15.10.2014
- - bugfix calling a new created cache file with fetch() and Smarty::CACHING_LIFETIME_SAVED multiple times did fail (forum 22350)
-
- 14.10.2014
- - bugfix any tag placed within "
diff --git a/php_libs/smarty-3.1.33/libs/plugins/block.textformat.php b/php_libs/smarty-3.1.33/libs/plugins/block.textformat.php
deleted file mode 100755
index 5e49463..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/block.textformat.php
+++ /dev/null
@@ -1,121 +0,0 @@
-
- * @throws \SmartyException
- */
-function smarty_block_textformat($params, $content, Smarty_Internal_Template $template, &$repeat)
-{
- if (is_null($content)) {
- return;
- }
- if (Smarty::$_MBSTRING) {
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_modifier_mb_wordwrap',
- 'file' => SMARTY_PLUGINS_DIR . 'modifier.mb_wordwrap.php'
- )
- )
- );
- }
- $style = null;
- $indent = 0;
- $indent_first = 0;
- $indent_char = ' ';
- $wrap = 80;
- $wrap_char = "\n";
- $wrap_cut = false;
- $assign = null;
- foreach ($params as $_key => $_val) {
- switch ($_key) {
- case 'style':
- case 'indent_char':
- case 'wrap_char':
- case 'assign':
- $$_key = (string)$_val;
- break;
- case 'indent':
- case 'indent_first':
- case 'wrap':
- $$_key = (int)$_val;
- break;
- case 'wrap_cut':
- $$_key = (bool)$_val;
- break;
- default:
- trigger_error("textformat: unknown attribute '{$_key}'");
- }
- }
- if ($style === 'email') {
- $wrap = 72;
- }
- // split into paragraphs
- $_paragraphs = preg_split('![\r\n]{2}!', $content);
- foreach ($_paragraphs as &$_paragraph) {
- if (!$_paragraph) {
- continue;
- }
- // convert mult. spaces & special chars to single space
- $_paragraph =
- preg_replace(
- array(
- '!\s+!' . Smarty::$_UTF8_MODIFIER,
- '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER
- ),
- array(
- ' ',
- ''
- ),
- $_paragraph
- );
- // indent first line
- if ($indent_first > 0) {
- $_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph;
- }
- // wordwrap sentences
- if (Smarty::$_MBSTRING) {
- $_paragraph = smarty_modifier_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
- } else {
- $_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
- }
- // indent lines
- if ($indent > 0) {
- $_paragraph = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraph);
- }
- }
- $_output = implode($wrap_char . $wrap_char, $_paragraphs);
- if ($assign) {
- $template->assign($assign, $_output);
- } else {
- return $_output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.counter.php b/php_libs/smarty-3.1.33/libs/plugins/function.counter.php
deleted file mode 100755
index a4129e7..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.counter.php
+++ /dev/null
@@ -1,62 +0,0 @@
-
- * @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
- * (Smarty online manual)
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @return string|null
- */
-function smarty_function_counter($params, $template)
-{
- static $counters = array();
- $name = (isset($params[ 'name' ])) ? $params[ 'name' ] : 'default';
- if (!isset($counters[ $name ])) {
- $counters[ $name ] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1);
- }
- $counter =& $counters[ $name ];
- if (isset($params[ 'start' ])) {
- $counter[ 'start' ] = $counter[ 'count' ] = (int)$params[ 'start' ];
- }
- if (!empty($params[ 'assign' ])) {
- $counter[ 'assign' ] = $params[ 'assign' ];
- }
- if (isset($counter[ 'assign' ])) {
- $template->assign($counter[ 'assign' ], $counter[ 'count' ]);
- }
- if (isset($params[ 'print' ])) {
- $print = (bool)$params[ 'print' ];
- } else {
- $print = empty($counter[ 'assign' ]);
- }
- if ($print) {
- $retval = $counter[ 'count' ];
- } else {
- $retval = null;
- }
- if (isset($params[ 'skip' ])) {
- $counter[ 'skip' ] = $params[ 'skip' ];
- }
- if (isset($params[ 'direction' ])) {
- $counter[ 'direction' ] = $params[ 'direction' ];
- }
- if ($counter[ 'direction' ] === 'down') {
- $counter[ 'count' ] -= $counter[ 'skip' ];
- } else {
- $counter[ 'count' ] += $counter[ 'skip' ];
- }
- return $retval;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.cycle.php b/php_libs/smarty-3.1.33/libs/plugins/function.cycle.php
deleted file mode 100755
index 07ffcc5..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.cycle.php
+++ /dev/null
@@ -1,92 +0,0 @@
-
- * @author credit to Mark Priatel
- * @author credit to Gerard
- * @author credit to Jason Sweat
- * @version 1.3
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @return string|null
- */
-function smarty_function_cycle($params, $template)
-{
- static $cycle_vars;
- $name = (empty($params[ 'name' ])) ? 'default' : $params[ 'name' ];
- $print = (isset($params[ 'print' ])) ? (bool)$params[ 'print' ] : true;
- $advance = (isset($params[ 'advance' ])) ? (bool)$params[ 'advance' ] : true;
- $reset = (isset($params[ 'reset' ])) ? (bool)$params[ 'reset' ] : false;
- if (!isset($params[ 'values' ])) {
- if (!isset($cycle_vars[ $name ][ 'values' ])) {
- trigger_error('cycle: missing \'values\' parameter');
- return;
- }
- } else {
- if (isset($cycle_vars[ $name ][ 'values' ]) && $cycle_vars[ $name ][ 'values' ] !== $params[ 'values' ]) {
- $cycle_vars[ $name ][ 'index' ] = 0;
- }
- $cycle_vars[ $name ][ 'values' ] = $params[ 'values' ];
- }
- if (isset($params[ 'delimiter' ])) {
- $cycle_vars[ $name ][ 'delimiter' ] = $params[ 'delimiter' ];
- } elseif (!isset($cycle_vars[ $name ][ 'delimiter' ])) {
- $cycle_vars[ $name ][ 'delimiter' ] = ',';
- }
- if (is_array($cycle_vars[ $name ][ 'values' ])) {
- $cycle_array = $cycle_vars[ $name ][ 'values' ];
- } else {
- $cycle_array = explode($cycle_vars[ $name ][ 'delimiter' ], $cycle_vars[ $name ][ 'values' ]);
- }
- if (!isset($cycle_vars[ $name ][ 'index' ]) || $reset) {
- $cycle_vars[ $name ][ 'index' ] = 0;
- }
- if (isset($params[ 'assign' ])) {
- $print = false;
- $template->assign($params[ 'assign' ], $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]);
- }
- if ($print) {
- $retval = $cycle_array[ $cycle_vars[ $name ][ 'index' ] ];
- } else {
- $retval = null;
- }
- if ($advance) {
- if ($cycle_vars[ $name ][ 'index' ] >= count($cycle_array) - 1) {
- $cycle_vars[ $name ][ 'index' ] = 0;
- } else {
- $cycle_vars[ $name ][ 'index' ]++;
- }
- }
- return $retval;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.fetch.php b/php_libs/smarty-3.1.33/libs/plugins/function.fetch.php
deleted file mode 100755
index 768761b..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.fetch.php
+++ /dev/null
@@ -1,204 +0,0 @@
-
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @throws SmartyException
- * @return string|null if the assign parameter is passed, Smarty assigns the result to a template variable
- */
-function smarty_function_fetch($params, $template)
-{
- if (empty($params[ 'file' ])) {
- trigger_error('[plugin] fetch parameter \'file\' cannot be empty', E_USER_NOTICE);
- return;
- }
- // strip file protocol
- if (stripos($params[ 'file' ], 'file://') === 0) {
- $params[ 'file' ] = substr($params[ 'file' ], 7);
- }
- $protocol = strpos($params[ 'file' ], '://');
- if ($protocol !== false) {
- $protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
- }
- if (isset($template->smarty->security_policy)) {
- if ($protocol) {
- // remote resource (or php stream, …)
- if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
- return;
- }
- } else {
- // local file
- if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) {
- return;
- }
- }
- }
- $content = '';
- if ($protocol === 'http') {
- // http fetch
- if ($uri_parts = parse_url($params[ 'file' ])) {
- // set defaults
- $host = $server_name = $uri_parts[ 'host' ];
- $timeout = 30;
- $accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*';
- $agent = 'Smarty Template Engine ' . Smarty::SMARTY_VERSION;
- $referer = '';
- $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/';
- $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : '';
- $_is_proxy = false;
- if (empty($uri_parts[ 'port' ])) {
- $port = 80;
- } else {
- $port = $uri_parts[ 'port' ];
- }
- if (!empty($uri_parts[ 'user' ])) {
- $user = $uri_parts[ 'user' ];
- }
- if (!empty($uri_parts[ 'pass' ])) {
- $pass = $uri_parts[ 'pass' ];
- }
- // loop through parameters, setup headers
- foreach ($params as $param_key => $param_value) {
- switch ($param_key) {
- case 'file':
- case 'assign':
- case 'assign_headers':
- break;
- case 'user':
- if (!empty($param_value)) {
- $user = $param_value;
- }
- break;
- case 'pass':
- if (!empty($param_value)) {
- $pass = $param_value;
- }
- break;
- case 'accept':
- if (!empty($param_value)) {
- $accept = $param_value;
- }
- break;
- case 'header':
- if (!empty($param_value)) {
- if (!preg_match('![\w\d-]+: .+!', $param_value)) {
- trigger_error("[plugin] invalid header format '{$param_value}'", E_USER_NOTICE);
- return;
- } else {
- $extra_headers[] = $param_value;
- }
- }
- break;
- case 'proxy_host':
- if (!empty($param_value)) {
- $proxy_host = $param_value;
- }
- break;
- case 'proxy_port':
- if (!preg_match('!\D!', $param_value)) {
- $proxy_port = (int)$param_value;
- } else {
- trigger_error("[plugin] invalid value for attribute '{$param_key }'", E_USER_NOTICE);
- return;
- }
- break;
- case 'agent':
- if (!empty($param_value)) {
- $agent = $param_value;
- }
- break;
- case 'referer':
- if (!empty($param_value)) {
- $referer = $param_value;
- }
- break;
- case 'timeout':
- if (!preg_match('!\D!', $param_value)) {
- $timeout = (int)$param_value;
- } else {
- trigger_error("[plugin] invalid value for attribute '{$param_key}'", E_USER_NOTICE);
- return;
- }
- break;
- default:
- trigger_error("[plugin] unrecognized attribute '{$param_key}'", E_USER_NOTICE);
- return;
- }
- }
- if (!empty($proxy_host) && !empty($proxy_port)) {
- $_is_proxy = true;
- $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout);
- } else {
- $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout);
- }
- if (!$fp) {
- trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE);
- return;
- } else {
- if ($_is_proxy) {
- fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n");
- } else {
- fputs($fp, "GET $uri HTTP/1.0\r\n");
- }
- if (!empty($host)) {
- fputs($fp, "Host: $host\r\n");
- }
- if (!empty($accept)) {
- fputs($fp, "Accept: $accept\r\n");
- }
- if (!empty($agent)) {
- fputs($fp, "User-Agent: $agent\r\n");
- }
- if (!empty($referer)) {
- fputs($fp, "Referer: $referer\r\n");
- }
- if (isset($extra_headers) && is_array($extra_headers)) {
- foreach ($extra_headers as $curr_header) {
- fputs($fp, $curr_header . "\r\n");
- }
- }
- if (!empty($user) && !empty($pass)) {
- fputs($fp, 'Authorization: BASIC ' . base64_encode("$user:$pass") . "\r\n");
- }
- fputs($fp, "\r\n");
- while (!feof($fp)) {
- $content .= fgets($fp, 4096);
- }
- fclose($fp);
- $csplit = preg_split("!\r\n\r\n!", $content, 2);
- $content = $csplit[ 1 ];
- if (!empty($params[ 'assign_headers' ])) {
- $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ]));
- }
- }
- } else {
- trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE);
- return;
- }
- } else {
- $content = @file_get_contents($params[ 'file' ]);
- if ($content === false) {
- throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'");
- }
- }
- if (!empty($params[ 'assign' ])) {
- $template->assign($params[ 'assign' ], $content);
- } else {
- return $content;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_checkboxes.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_checkboxes.php
deleted file mode 100755
index 302358e..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_checkboxes.php
+++ /dev/null
@@ -1,286 +0,0 @@
-' output=$names}
- * {html_checkboxes values=$ids checked=$checked separator=' ' output=$names}
- *
- * Params:
- *
- * - name (optional) - string default "checkbox"
- * - values (required) - array
- * - options (optional) - associative array
- * - checked (optional) - array default not set
- * - separator (optional) - ie or
- * - output (optional) - the output next to each checkbox
- * - assign (optional) - assign the output as an array to this variable
- * - escape (optional) - escape the content (not value), defaults to true
- *
- * @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
- * (Smarty online manual)
- * @author Christopher Kvarme
- * @author credits to Monte Ohrt
- * @version 1.0
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @return string
- * @uses smarty_function_escape_special_chars()
- * @throws \SmartyException
- */
-function smarty_function_html_checkboxes($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
- )
- )
- );
- $name = 'checkbox';
- $values = null;
- $options = null;
- $selected = array();
- $separator = '';
- $escape = true;
- $labels = true;
- $label_ids = false;
- $output = null;
- $extra = '';
- foreach ($params as $_key => $_val) {
- switch ($_key) {
- case 'name':
- case 'separator':
- $$_key = (string)$_val;
- break;
- case 'escape':
- case 'labels':
- case 'label_ids':
- $$_key = (bool)$_val;
- break;
- case 'options':
- $$_key = (array)$_val;
- break;
- case 'values':
- case 'output':
- $$_key = array_values((array)$_val);
- break;
- case 'checked':
- case 'selected':
- if (is_array($_val)) {
- $selected = array();
- foreach ($_val as $_sel) {
- if (is_object($_sel)) {
- if (method_exists($_sel, '__toString')) {
- $_sel = smarty_function_escape_special_chars((string)$_sel->__toString());
- } else {
- trigger_error(
- 'html_checkboxes: selected attribute contains an object of class \'' .
- get_class($_sel) . '\' without __toString() method',
- E_USER_NOTICE
- );
- continue;
- }
- } else {
- $_sel = smarty_function_escape_special_chars((string)$_sel);
- }
- $selected[ $_sel ] = true;
- }
- } elseif (is_object($_val)) {
- if (method_exists($_val, '__toString')) {
- $selected = smarty_function_escape_special_chars((string)$_val->__toString());
- } else {
- trigger_error(
- 'html_checkboxes: selected attribute is an object of class \'' . get_class($_val) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- }
- } else {
- $selected = smarty_function_escape_special_chars((string)$_val);
- }
- break;
- case 'checkboxes':
- trigger_error(
- 'html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead',
- E_USER_WARNING
- );
- $options = (array)$_val;
- break;
- case 'assign':
- break;
- case 'strict':
- break;
- case 'disabled':
- case 'readonly':
- if (!empty($params[ 'strict' ])) {
- if (!is_scalar($_val)) {
- trigger_error(
- "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute",
- E_USER_NOTICE
- );
- }
- if ($_val === true || $_val === $_key) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
- }
- break;
- }
- // omit break; to fall through!
- // no break
- default:
- if (!is_array($_val)) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
- } else {
- trigger_error("html_checkboxes: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE);
- }
- break;
- }
- }
- if (!isset($options) && !isset($values)) {
- return '';
- } /* raise error here? */
- $_html_result = array();
- if (isset($options)) {
- foreach ($options as $_key => $_val) {
- $_html_result[] =
- smarty_function_html_checkboxes_output(
- $name,
- $_key,
- $_val,
- $selected,
- $extra,
- $separator,
- $labels,
- $label_ids,
- $escape
- );
- }
- } else {
- foreach ($values as $_i => $_key) {
- $_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
- $_html_result[] =
- smarty_function_html_checkboxes_output(
- $name,
- $_key,
- $_val,
- $selected,
- $extra,
- $separator,
- $labels,
- $label_ids,
- $escape
- );
- }
- }
- if (!empty($params[ 'assign' ])) {
- $template->assign($params[ 'assign' ], $_html_result);
- } else {
- return implode("\n", $_html_result);
- }
-}
-
-/**
- * @param $name
- * @param $value
- * @param $output
- * @param $selected
- * @param $extra
- * @param $separator
- * @param $labels
- * @param $label_ids
- * @param bool $escape
- *
- * @return string
- */
-function smarty_function_html_checkboxes_output(
- $name,
- $value,
- $output,
- $selected,
- $extra,
- $separator,
- $labels,
- $label_ids,
- $escape = true
-) {
- $_output = '';
- if (is_object($value)) {
- if (method_exists($value, '__toString')) {
- $value = (string)$value->__toString();
- } else {
- trigger_error(
- 'html_options: value is an object of class \'' . get_class($value) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- return '';
- }
- } else {
- $value = (string)$value;
- }
- if (is_object($output)) {
- if (method_exists($output, '__toString')) {
- $output = (string)$output->__toString();
- } else {
- trigger_error(
- 'html_options: output is an object of class \'' . get_class($output) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- return '';
- }
- } else {
- $output = (string)$output;
- }
- if ($labels) {
- if ($label_ids) {
- $_id = smarty_function_escape_special_chars(
- preg_replace(
- '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER,
- '_',
- $name . '_' . $value
- )
- );
- $_output .= '';
- } else {
- $_output .= '';
- }
- }
- $name = smarty_function_escape_special_chars($name);
- $value = smarty_function_escape_special_chars($value);
- if ($escape) {
- $output = smarty_function_escape_special_chars($output);
- }
- $_output .= ' ' . $output;
- if ($labels) {
- $_output .= ' ';
- }
- $_output .= $separator;
- return $_output;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_image.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_image.php
deleted file mode 100755
index ad468e4..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_image.php
+++ /dev/null
@@ -1,158 +0,0 @@
-
- * Params:
- *
- * - file - (required) - file (and path) of image
- * - height - (optional) - image height (default actual height)
- * - width - (optional) - image width (default actual width)
- * - basedir - (optional) - base directory for absolute paths, default is environment variable DOCUMENT_ROOT
- * - path_prefix - prefix for path output (optional, default empty)
- *
- * @link http://www.smarty.net/manual/en/language.function.html.image.php {html_image}
- * (Smarty online manual)
- * @author Monte Ohrt
- * @author credits to Duda
- * @version 1.0
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @throws SmartyException
- * @return string
- * @uses smarty_function_escape_special_chars()
- */
-function smarty_function_html_image($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
- )
- )
- );
- $alt = '';
- $file = '';
- $height = '';
- $width = '';
- $extra = '';
- $prefix = '';
- $suffix = '';
- $path_prefix = '';
- $basedir = isset($_SERVER[ 'DOCUMENT_ROOT' ]) ? $_SERVER[ 'DOCUMENT_ROOT' ] : '';
- foreach ($params as $_key => $_val) {
- switch ($_key) {
- case 'file':
- case 'height':
- case 'width':
- case 'dpi':
- case 'path_prefix':
- case 'basedir':
- $$_key = $_val;
- break;
- case 'alt':
- if (!is_array($_val)) {
- $$_key = smarty_function_escape_special_chars($_val);
- } else {
- throw new SmartyException(
- "html_image: extra attribute '{$_key}' cannot be an array",
- E_USER_NOTICE
- );
- }
- break;
- case 'link':
- case 'href':
- $prefix = '';
- $suffix = ' ';
- break;
- default:
- if (!is_array($_val)) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
- } else {
- throw new SmartyException(
- "html_image: extra attribute '{$_key}' cannot be an array",
- E_USER_NOTICE
- );
- }
- break;
- }
- }
- if (empty($file)) {
- trigger_error('html_image: missing \'file\' parameter', E_USER_NOTICE);
- return;
- }
- if ($file[ 0 ] === '/') {
- $_image_path = $basedir . $file;
- } else {
- $_image_path = $file;
- }
- // strip file protocol
- if (stripos($params[ 'file' ], 'file://') === 0) {
- $params[ 'file' ] = substr($params[ 'file' ], 7);
- }
- $protocol = strpos($params[ 'file' ], '://');
- if ($protocol !== false) {
- $protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
- }
- if (isset($template->smarty->security_policy)) {
- if ($protocol) {
- // remote resource (or php stream, …)
- if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
- return;
- }
- } else {
- // local file
- if (!$template->smarty->security_policy->isTrustedResourceDir($_image_path)) {
- return;
- }
- }
- }
- if (!isset($params[ 'width' ]) || !isset($params[ 'height' ])) {
- // FIXME: (rodneyrehm) getimagesize() loads the complete file off a remote resource, use custom [jpg,png,gif]header reader!
- if (!$_image_data = @getimagesize($_image_path)) {
- if (!file_exists($_image_path)) {
- trigger_error("html_image: unable to find '{$_image_path}'", E_USER_NOTICE);
- return;
- } elseif (!is_readable($_image_path)) {
- trigger_error("html_image: unable to read '{$_image_path}'", E_USER_NOTICE);
- return;
- } else {
- trigger_error("html_image: '{$_image_path}' is not a valid image file", E_USER_NOTICE);
- return;
- }
- }
- if (!isset($params[ 'width' ])) {
- $width = $_image_data[ 0 ];
- }
- if (!isset($params[ 'height' ])) {
- $height = $_image_data[ 1 ];
- }
- }
- if (isset($params[ 'dpi' ])) {
- if (strstr($_SERVER[ 'HTTP_USER_AGENT' ], 'Mac')) {
- // FIXME: (rodneyrehm) wrong dpi assumption
- // don't know who thought this up… even if it was true in 1998, it's definitely wrong in 2011.
- $dpi_default = 72;
- } else {
- $dpi_default = 96;
- }
- $_resize = $dpi_default / $params[ 'dpi' ];
- $width = round($width * $_resize);
- $height = round($height * $_resize);
- }
- return $prefix . ' ' . $suffix;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_options.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_options.php
deleted file mode 100755
index 6907e8e..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_options.php
+++ /dev/null
@@ -1,230 +0,0 @@
- tags generated from
- * the passed parameters
- * Params:
- *
- * - name (optional) - string default "select"
- * - values (required) - if no options supplied) - array
- * - options (required) - if no values supplied) - associative array
- * - selected (optional) - string default not set
- * - output (required) - if not options supplied) - array
- * - id (optional) - string default not set
- * - class (optional) - string default not set
- *
- * @link http://www.smarty.net/manual/en/language.function.html.options.php {html_image}
- * (Smarty online manual)
- * @author Monte Ohrt
- * @author Ralf Strehle (minor optimization)
- *
- * @param array $params parameters
- *
- * @param \Smarty_Internal_Template $template
- *
- * @return string
- * @uses smarty_function_escape_special_chars()
- * @throws \SmartyException
- */
-function smarty_function_html_options($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
- )
- )
- );
- $name = null;
- $values = null;
- $options = null;
- $selected = null;
- $output = null;
- $id = null;
- $class = null;
- $extra = '';
- foreach ($params as $_key => $_val) {
- switch ($_key) {
- case 'name':
- case 'class':
- case 'id':
- $$_key = (string)$_val;
- break;
- case 'options':
- $options = (array)$_val;
- break;
- case 'values':
- case 'output':
- $$_key = array_values((array)$_val);
- break;
- case 'selected':
- if (is_array($_val)) {
- $selected = array();
- foreach ($_val as $_sel) {
- if (is_object($_sel)) {
- if (method_exists($_sel, '__toString')) {
- $_sel = smarty_function_escape_special_chars((string)$_sel->__toString());
- } else {
- trigger_error(
- 'html_options: selected attribute contains an object of class \'' .
- get_class($_sel) . '\' without __toString() method',
- E_USER_NOTICE
- );
- continue;
- }
- } else {
- $_sel = smarty_function_escape_special_chars((string)$_sel);
- }
- $selected[ $_sel ] = true;
- }
- } elseif (is_object($_val)) {
- if (method_exists($_val, '__toString')) {
- $selected = smarty_function_escape_special_chars((string)$_val->__toString());
- } else {
- trigger_error(
- 'html_options: selected attribute is an object of class \'' . get_class($_val) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- }
- } else {
- $selected = smarty_function_escape_special_chars((string)$_val);
- }
- break;
- case 'strict':
- break;
- case 'disabled':
- case 'readonly':
- if (!empty($params[ 'strict' ])) {
- if (!is_scalar($_val)) {
- trigger_error(
- "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute",
- E_USER_NOTICE
- );
- }
- if ($_val === true || $_val === $_key) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
- }
- break;
- }
- // omit break; to fall through!
- // no break
- default:
- if (!is_array($_val)) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
- } else {
- trigger_error("html_options: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE);
- }
- break;
- }
- }
- if (!isset($options) && !isset($values)) {
- /* raise error here? */
- return '';
- }
- $_html_result = '';
- $_idx = 0;
- if (isset($options)) {
- foreach ($options as $_key => $_val) {
- $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx);
- }
- } else {
- foreach ($values as $_i => $_key) {
- $_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
- $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx);
- }
- }
- if (!empty($name)) {
- $_html_class = !empty($class) ? ' class="' . $class . '"' : '';
- $_html_id = !empty($id) ? ' id="' . $id . '"' : '';
- $_html_result =
- '' . "\n" . $_html_result .
- ' ' . "\n";
- }
- return $_html_result;
-}
-
-/**
- * @param $key
- * @param $value
- * @param $selected
- * @param $id
- * @param $class
- * @param $idx
- *
- * @return string
- */
-function smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, &$idx)
-{
- if (!is_array($value)) {
- $_key = smarty_function_escape_special_chars($key);
- $_html_result = '__toString());
- } else {
- trigger_error(
- 'html_options: value is an object of class \'' . get_class($value) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- return '';
- }
- } else {
- $value = smarty_function_escape_special_chars((string)$value);
- }
- $_html_result .= $_html_class . $_html_id . '>' . $value . ' ' . "\n";
- $idx++;
- } else {
- $_idx = 0;
- $_html_result =
- smarty_function_html_options_optgroup(
- $key,
- $value,
- $selected,
- !empty($id) ? ($id . '-' . $idx) : null,
- $class,
- $_idx
- );
- $idx++;
- }
- return $_html_result;
-}
-
-/**
- * @param $key
- * @param $values
- * @param $selected
- * @param $id
- * @param $class
- * @param $idx
- *
- * @return string
- */
-function smarty_function_html_options_optgroup($key, $values, $selected, $id, $class, &$idx)
-{
- $optgroup_html = '' . "\n";
- foreach ($values as $key => $value) {
- $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, $idx);
- }
- $optgroup_html .= " \n";
- return $optgroup_html;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_radios.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_radios.php
deleted file mode 100755
index 5e83458..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_radios.php
+++ /dev/null
@@ -1,266 +0,0 @@
- or
- * - output (optional) - the output next to each radio button
- * - assign (optional) - assign the output as an array to this variable
- * - escape (optional) - escape the content (not value), defaults to true
- *
- * Examples:
- *
- * {html_radios values=$ids output=$names}
- * {html_radios values=$ids name='box' separator=' ' output=$names}
- * {html_radios values=$ids checked=$checked separator=' ' output=$names}
- *
- * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
- * (Smarty online manual)
- * @author Christopher Kvarme
- * @author credits to Monte Ohrt
- * @version 1.0
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @return string
- * @uses smarty_function_escape_special_chars()
- * @throws \SmartyException
- */
-function smarty_function_html_radios($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
- )
- )
- );
- $name = 'radio';
- $values = null;
- $options = null;
- $selected = null;
- $separator = '';
- $escape = true;
- $labels = true;
- $label_ids = false;
- $output = null;
- $extra = '';
- foreach ($params as $_key => $_val) {
- switch ($_key) {
- case 'name':
- case 'separator':
- $$_key = (string)$_val;
- break;
- case 'checked':
- case 'selected':
- if (is_array($_val)) {
- trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING);
- } elseif (is_object($_val)) {
- if (method_exists($_val, '__toString')) {
- $selected = smarty_function_escape_special_chars((string)$_val->__toString());
- } else {
- trigger_error(
- 'html_radios: selected attribute is an object of class \'' . get_class($_val) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- }
- } else {
- $selected = (string)$_val;
- }
- break;
- case 'escape':
- case 'labels':
- case 'label_ids':
- $$_key = (bool)$_val;
- break;
- case 'options':
- $$_key = (array)$_val;
- break;
- case 'values':
- case 'output':
- $$_key = array_values((array)$_val);
- break;
- case 'radios':
- trigger_error(
- 'html_radios: the use of the "radios" attribute is deprecated, use "options" instead',
- E_USER_WARNING
- );
- $options = (array)$_val;
- break;
- case 'assign':
- break;
- case 'strict':
- break;
- case 'disabled':
- case 'readonly':
- if (!empty($params[ 'strict' ])) {
- if (!is_scalar($_val)) {
- trigger_error(
- "html_options: {$_key} attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute",
- E_USER_NOTICE
- );
- }
- if ($_val === true || $_val === $_key) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
- }
- break;
- }
- // omit break; to fall through!
- // no break
- default:
- if (!is_array($_val)) {
- $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
- } else {
- trigger_error("html_radios: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE);
- }
- break;
- }
- }
- if (!isset($options) && !isset($values)) {
- /* raise error here? */
- return '';
- }
- $_html_result = array();
- if (isset($options)) {
- foreach ($options as $_key => $_val) {
- $_html_result[] =
- smarty_function_html_radios_output(
- $name,
- $_key,
- $_val,
- $selected,
- $extra,
- $separator,
- $labels,
- $label_ids,
- $escape
- );
- }
- } else {
- foreach ($values as $_i => $_key) {
- $_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
- $_html_result[] =
- smarty_function_html_radios_output(
- $name,
- $_key,
- $_val,
- $selected,
- $extra,
- $separator,
- $labels,
- $label_ids,
- $escape
- );
- }
- }
- if (!empty($params[ 'assign' ])) {
- $template->assign($params[ 'assign' ], $_html_result);
- } else {
- return implode("\n", $_html_result);
- }
-}
-
-/**
- * @param $name
- * @param $value
- * @param $output
- * @param $selected
- * @param $extra
- * @param $separator
- * @param $labels
- * @param $label_ids
- * @param $escape
- *
- * @return string
- */
-function smarty_function_html_radios_output(
- $name,
- $value,
- $output,
- $selected,
- $extra,
- $separator,
- $labels,
- $label_ids,
- $escape
-) {
- $_output = '';
- if (is_object($value)) {
- if (method_exists($value, '__toString')) {
- $value = (string)$value->__toString();
- } else {
- trigger_error(
- 'html_options: value is an object of class \'' . get_class($value) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- return '';
- }
- } else {
- $value = (string)$value;
- }
- if (is_object($output)) {
- if (method_exists($output, '__toString')) {
- $output = (string)$output->__toString();
- } else {
- trigger_error(
- 'html_options: output is an object of class \'' . get_class($output) .
- '\' without __toString() method',
- E_USER_NOTICE
- );
- return '';
- }
- } else {
- $output = (string)$output;
- }
- if ($labels) {
- if ($label_ids) {
- $_id = smarty_function_escape_special_chars(
- preg_replace(
- '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER,
- '_',
- $name . '_' . $value
- )
- );
- $_output .= '';
- } else {
- $_output .= '';
- }
- }
- $name = smarty_function_escape_special_chars($name);
- $value = smarty_function_escape_special_chars($value);
- if ($escape) {
- $output = smarty_function_escape_special_chars($output);
- }
- $_output .= ' ' . $output;
- if ($labels) {
- $_output .= ' ';
- }
- $_output .= $separator;
- return $_output;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_select_date.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_select_date.php
deleted file mode 100755
index 86403e3..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_select_date.php
+++ /dev/null
@@ -1,388 +0,0 @@
-
- * @author Rodney Rehm
- *
- * @param array $params parameters
- *
- * @param \Smarty_Internal_Template $template
- *
- * @return string
- * @throws \SmartyException
- */
-function smarty_function_html_select_date($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
- )
- )
- );
- // generate timestamps used for month names only
- static $_month_timestamps = null;
- static $_current_year = null;
- if ($_month_timestamps === null) {
- $_current_year = date('Y');
- $_month_timestamps = array();
- for ($i = 1; $i <= 12; $i++) {
- $_month_timestamps[ $i ] = mktime(0, 0, 0, $i, 1, 2000);
- }
- }
- /* Default values. */
- $prefix = 'Date_';
- $start_year = null;
- $end_year = null;
- $display_days = true;
- $display_months = true;
- $display_years = true;
- $month_format = '%B';
- /* Write months as numbers by default GL */
- $month_value_format = '%m';
- $day_format = '%02d';
- /* Write day values using this format MB */
- $day_value_format = '%d';
- $year_as_text = false;
- /* Display years in reverse order? Ie. 2000,1999,.... */
- $reverse_years = false;
- /* Should the select boxes be part of an array when returned from PHP?
- e.g. setting it to "birthday", would create "birthday[Day]",
- "birthday[Month]" & "birthday[Year]". Can be combined with prefix */
- $field_array = null;
- /* 's of the different tags.
- If not set, uses default dropdown. */
- $day_size = null;
- $month_size = null;
- $year_size = null;
- /* Unparsed attributes common to *ALL* the / tags.
- An example might be in the template: all_extra ='class ="foo"'. */
- $all_extra = null;
- /* Separate attributes for the tags. */
- $day_extra = null;
- $month_extra = null;
- $year_extra = null;
- /* Order in which to display the fields.
- "D" -> day, "M" -> month, "Y" -> year. */
- $field_order = 'MDY';
- /* String printed between the different fields. */
- $field_separator = "\n";
- $option_separator = "\n";
- $time = null;
- // $all_empty = null;
- // $day_empty = null;
- // $month_empty = null;
- // $year_empty = null;
- $extra_attrs = '';
- $all_id = null;
- $day_id = null;
- $month_id = null;
- $year_id = null;
- foreach ($params as $_key => $_value) {
- switch ($_key) {
- case 'time':
- if (!is_array($_value) && $_value !== null) {
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_make_timestamp',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php'
- )
- )
- );
- $time = smarty_make_timestamp($_value);
- }
- break;
- case 'month_names':
- if (is_array($_value) && count($_value) === 12) {
- $$_key = $_value;
- } else {
- trigger_error('html_select_date: month_names must be an array of 12 strings', E_USER_NOTICE);
- }
- break;
- case 'prefix':
- case 'field_array':
- case 'start_year':
- case 'end_year':
- case 'day_format':
- case 'day_value_format':
- case 'month_format':
- case 'month_value_format':
- case 'day_size':
- case 'month_size':
- case 'year_size':
- case 'all_extra':
- case 'day_extra':
- case 'month_extra':
- case 'year_extra':
- case 'field_order':
- case 'field_separator':
- case 'option_separator':
- case 'all_empty':
- case 'month_empty':
- case 'day_empty':
- case 'year_empty':
- case 'all_id':
- case 'month_id':
- case 'day_id':
- case 'year_id':
- $$_key = (string)$_value;
- break;
- case 'display_days':
- case 'display_months':
- case 'display_years':
- case 'year_as_text':
- case 'reverse_years':
- $$_key = (bool)$_value;
- break;
- default:
- if (!is_array($_value)) {
- $extra_attrs .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_value) . '"';
- } else {
- trigger_error("html_select_date: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE);
- }
- break;
- }
- }
- // Note: date() is faster than strftime()
- // Note: explode(date()) is faster than date() date() date()
- if (isset($params[ 'time' ]) && is_array($params[ 'time' ])) {
- if (isset($params[ 'time' ][ $prefix . 'Year' ])) {
- // $_REQUEST[$field_array] given
- foreach (array(
- 'Y' => 'Year',
- 'm' => 'Month',
- 'd' => 'Day'
- ) as $_elementKey => $_elementName) {
- $_variableName = '_' . strtolower($_elementName);
- $$_variableName =
- isset($params[ 'time' ][ $prefix . $_elementName ]) ? $params[ 'time' ][ $prefix . $_elementName ] :
- date($_elementKey);
- }
- } elseif (isset($params[ 'time' ][ $field_array ][ $prefix . 'Year' ])) {
- // $_REQUEST given
- foreach (array(
- 'Y' => 'Year',
- 'm' => 'Month',
- 'd' => 'Day'
- ) as $_elementKey => $_elementName) {
- $_variableName = '_' . strtolower($_elementName);
- $$_variableName = isset($params[ 'time' ][ $field_array ][ $prefix . $_elementName ]) ?
- $params[ 'time' ][ $field_array ][ $prefix . $_elementName ] : date($_elementKey);
- }
- } else {
- // no date found, use NOW
- list($_year, $_month, $_day) = $time = explode('-', date('Y-m-d'));
- }
- } elseif ($time === null) {
- if (array_key_exists('time', $params)) {
- $_year = $_month = $_day = $time = null;
- } else {
- list($_year, $_month, $_day) = $time = explode('-', date('Y-m-d'));
- }
- } else {
- list($_year, $_month, $_day) = $time = explode('-', date('Y-m-d', $time));
- }
- // make syntax "+N" or "-N" work with $start_year and $end_year
- // Note preg_match('!^(\+|\-)\s*(\d+)$!', $end_year, $match) is slower than trim+substr
- foreach (array(
- 'start',
- 'end'
- ) as $key) {
- $key .= '_year';
- $t = $$key;
- if ($t === null) {
- $$key = (int)$_current_year;
- } elseif ($t[ 0 ] === '+') {
- $$key = (int)($_current_year + (int)trim(substr($t, 1)));
- } elseif ($t[ 0 ] === '-') {
- $$key = (int)($_current_year - (int)trim(substr($t, 1)));
- } else {
- $$key = (int)$$key;
- }
- }
- // flip for ascending or descending
- if (($start_year > $end_year && !$reverse_years) || ($start_year < $end_year && $reverse_years)) {
- $t = $end_year;
- $end_year = $start_year;
- $start_year = $t;
- }
- // generate year or
- if ($display_years) {
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Year]') : ($prefix . 'Year');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($year_extra) {
- $_extra .= ' ' . $year_extra;
- }
- if ($year_as_text) {
- $_html_years =
- ' ';
- } else {
- $_html_years = '' . $option_separator;
- if (isset($year_empty) || isset($all_empty)) {
- $_html_years .= '' . (isset($year_empty) ? $year_empty : $all_empty) . ' ' .
- $option_separator;
- }
- $op = $start_year > $end_year ? -1 : 1;
- for ($i = $start_year; $op > 0 ? $i <= $end_year : $i >= $end_year; $i += $op) {
- $_html_years .= '' . $i .
- ' ' . $option_separator;
- }
- $_html_years .= ' ';
- }
- }
- // generate month or
- if ($display_months) {
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Month]') : ($prefix . 'Month');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($month_extra) {
- $_extra .= ' ' . $month_extra;
- }
- $_html_months = '' . $option_separator;
- if (isset($month_empty) || isset($all_empty)) {
- $_html_months .= '' . (isset($month_empty) ? $month_empty : $all_empty) . ' ' .
- $option_separator;
- }
- for ($i = 1; $i <= 12; $i++) {
- $_val = sprintf('%02d', $i);
- $_text = isset($month_names) ? smarty_function_escape_special_chars($month_names[ $i ]) :
- ($month_format === '%m' ? $_val : strftime($month_format, $_month_timestamps[ $i ]));
- $_value = $month_value_format === '%m' ? $_val : strftime($month_value_format, $_month_timestamps[ $i ]);
- $_html_months .= '' . $_text . ' ' . $option_separator;
- }
- $_html_months .= ' ';
- }
- // generate day or
- if ($display_days) {
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Day]') : ($prefix . 'Day');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($day_extra) {
- $_extra .= ' ' . $day_extra;
- }
- $_html_days = '' . $option_separator;
- if (isset($day_empty) || isset($all_empty)) {
- $_html_days .= '' . (isset($day_empty) ? $day_empty : $all_empty) . ' ' .
- $option_separator;
- }
- for ($i = 1; $i <= 31; $i++) {
- $_val = sprintf('%02d', $i);
- $_text = $day_format === '%02d' ? $_val : sprintf($day_format, $i);
- $_value = $day_value_format === '%02d' ? $_val : sprintf($day_value_format, $i);
- $_html_days .= '' .
- $_text . ' ' . $option_separator;
- }
- $_html_days .= ' ';
- }
- // order the fields for output
- $_html = '';
- for ($i = 0; $i <= 2; $i++) {
- switch ($field_order[ $i ]) {
- case 'Y':
- case 'y':
- if (isset($_html_years)) {
- if ($_html) {
- $_html .= $field_separator;
- }
- $_html .= $_html_years;
- }
- break;
- case 'm':
- case 'M':
- if (isset($_html_months)) {
- if ($_html) {
- $_html .= $field_separator;
- }
- $_html .= $_html_months;
- }
- break;
- case 'd':
- case 'D':
- if (isset($_html_days)) {
- if ($_html) {
- $_html .= $field_separator;
- }
- $_html .= $_html_days;
- }
- break;
- }
- }
- return $_html;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_select_time.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_select_time.php
deleted file mode 100755
index cb047bc..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_select_time.php
+++ /dev/null
@@ -1,354 +0,0 @@
-
- * @author Monte Ohrt
- *
- * @param array $params parameters
- *
- * @param \Smarty_Internal_Template $template
- *
- * @return string
- * @uses smarty_make_timestamp()
- * @throws \SmartyException
- */
-function smarty_function_html_select_time($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'
- )
- )
- );
- $prefix = 'Time_';
- $field_array = null;
- $field_separator = "\n";
- $option_separator = "\n";
- $time = null;
- $display_hours = true;
- $display_minutes = true;
- $display_seconds = true;
- $display_meridian = true;
- $hour_format = '%02d';
- $hour_value_format = '%02d';
- $minute_format = '%02d';
- $minute_value_format = '%02d';
- $second_format = '%02d';
- $second_value_format = '%02d';
- $hour_size = null;
- $minute_size = null;
- $second_size = null;
- $meridian_size = null;
- $all_empty = null;
- $hour_empty = null;
- $minute_empty = null;
- $second_empty = null;
- $meridian_empty = null;
- $all_id = null;
- $hour_id = null;
- $minute_id = null;
- $second_id = null;
- $meridian_id = null;
- $use_24_hours = true;
- $minute_interval = 1;
- $second_interval = 1;
- $extra_attrs = '';
- $all_extra = null;
- $hour_extra = null;
- $minute_extra = null;
- $second_extra = null;
- $meridian_extra = null;
- foreach ($params as $_key => $_value) {
- switch ($_key) {
- case 'time':
- if (!is_array($_value) && $_value !== null) {
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_make_timestamp',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php'
- )
- )
- );
- $time = smarty_make_timestamp($_value);
- }
- break;
- case 'prefix':
- case 'field_array':
- case 'field_separator':
- case 'option_separator':
- case 'all_extra':
- case 'hour_extra':
- case 'minute_extra':
- case 'second_extra':
- case 'meridian_extra':
- case 'all_empty':
- case 'hour_empty':
- case 'minute_empty':
- case 'second_empty':
- case 'meridian_empty':
- case 'all_id':
- case 'hour_id':
- case 'minute_id':
- case 'second_id':
- case 'meridian_id':
- case 'hour_format':
- case 'hour_value_format':
- case 'minute_format':
- case 'minute_value_format':
- case 'second_format':
- case 'second_value_format':
- $$_key = (string)$_value;
- break;
- case 'display_hours':
- case 'display_minutes':
- case 'display_seconds':
- case 'display_meridian':
- case 'use_24_hours':
- $$_key = (bool)$_value;
- break;
- case 'minute_interval':
- case 'second_interval':
- case 'hour_size':
- case 'minute_size':
- case 'second_size':
- case 'meridian_size':
- $$_key = (int)$_value;
- break;
- default:
- if (!is_array($_value)) {
- $extra_attrs .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_value) . '"';
- } else {
- trigger_error("html_select_date: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE);
- }
- break;
- }
- }
- if (isset($params[ 'time' ]) && is_array($params[ 'time' ])) {
- if (isset($params[ 'time' ][ $prefix . 'Hour' ])) {
- // $_REQUEST[$field_array] given
- foreach (array(
- 'H' => 'Hour',
- 'i' => 'Minute',
- 's' => 'Second'
- ) as $_elementKey => $_elementName) {
- $_variableName = '_' . strtolower($_elementName);
- $$_variableName =
- isset($params[ 'time' ][ $prefix . $_elementName ]) ? $params[ 'time' ][ $prefix . $_elementName ] :
- date($_elementKey);
- }
- $_meridian =
- isset($params[ 'time' ][ $prefix . 'Meridian' ]) ? (' ' . $params[ 'time' ][ $prefix . 'Meridian' ]) :
- '';
- $time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
- list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
- } elseif (isset($params[ 'time' ][ $field_array ][ $prefix . 'Hour' ])) {
- // $_REQUEST given
- foreach (array(
- 'H' => 'Hour',
- 'i' => 'Minute',
- 's' => 'Second'
- ) as $_elementKey => $_elementName) {
- $_variableName = '_' . strtolower($_elementName);
- $$_variableName = isset($params[ 'time' ][ $field_array ][ $prefix . $_elementName ]) ?
- $params[ 'time' ][ $field_array ][ $prefix . $_elementName ] : date($_elementKey);
- }
- $_meridian = isset($params[ 'time' ][ $field_array ][ $prefix . 'Meridian' ]) ?
- (' ' . $params[ 'time' ][ $field_array ][ $prefix . 'Meridian' ]) : '';
- $time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
- list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
- } else {
- // no date found, use NOW
- list($_year, $_month, $_day) = $time = explode('-', date('Y-m-d'));
- }
- } elseif ($time === null) {
- if (array_key_exists('time', $params)) {
- $_hour = $_minute = $_second = $time = null;
- } else {
- list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s'));
- }
- } else {
- list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
- }
- // generate hour
- if ($display_hours) {
- $_html_hours = '';
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Hour]') : ($prefix . 'Hour');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($hour_extra) {
- $_extra .= ' ' . $hour_extra;
- }
- $_html_hours = '' . $option_separator;
- if (isset($hour_empty) || isset($all_empty)) {
- $_html_hours .= '' . (isset($hour_empty) ? $hour_empty : $all_empty) . ' ' .
- $option_separator;
- }
- $start = $use_24_hours ? 0 : 1;
- $end = $use_24_hours ? 23 : 12;
- for ($i = $start; $i <= $end; $i++) {
- $_val = sprintf('%02d', $i);
- $_text = $hour_format === '%02d' ? $_val : sprintf($hour_format, $i);
- $_value = $hour_value_format === '%02d' ? $_val : sprintf($hour_value_format, $i);
- if (!$use_24_hours) {
- $_hour12 = $_hour == 0 ? 12 : ($_hour <= 12 ? $_hour : $_hour - 12);
- }
- $selected = $_hour !== null ? ($use_24_hours ? $_hour == $_val : $_hour12 == $_val) : null;
- $_html_hours .= '' .
- $_text . ' ' . $option_separator;
- }
- $_html_hours .= ' ';
- }
- // generate minute
- if ($display_minutes) {
- $_html_minutes = '';
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Minute]') : ($prefix . 'Minute');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($minute_extra) {
- $_extra .= ' ' . $minute_extra;
- }
- $_html_minutes = '' . $option_separator;
- if (isset($minute_empty) || isset($all_empty)) {
- $_html_minutes .= '' . (isset($minute_empty) ? $minute_empty : $all_empty) . ' ' .
- $option_separator;
- }
- $selected = $_minute !== null ? ($_minute - $_minute % $minute_interval) : null;
- for ($i = 0; $i <= 59; $i += $minute_interval) {
- $_val = sprintf('%02d', $i);
- $_text = $minute_format === '%02d' ? $_val : sprintf($minute_format, $i);
- $_value = $minute_value_format === '%02d' ? $_val : sprintf($minute_value_format, $i);
- $_html_minutes .= '' . $_text . ' ' . $option_separator;
- }
- $_html_minutes .= ' ';
- }
- // generate second
- if ($display_seconds) {
- $_html_seconds = '';
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Second]') : ($prefix . 'Second');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($second_extra) {
- $_extra .= ' ' . $second_extra;
- }
- $_html_seconds = '' . $option_separator;
- if (isset($second_empty) || isset($all_empty)) {
- $_html_seconds .= '' . (isset($second_empty) ? $second_empty : $all_empty) . ' ' .
- $option_separator;
- }
- $selected = $_second !== null ? ($_second - $_second % $second_interval) : null;
- for ($i = 0; $i <= 59; $i += $second_interval) {
- $_val = sprintf('%02d', $i);
- $_text = $second_format === '%02d' ? $_val : sprintf($second_format, $i);
- $_value = $second_value_format === '%02d' ? $_val : sprintf($second_value_format, $i);
- $_html_seconds .= '' . $_text . ' ' . $option_separator;
- }
- $_html_seconds .= ' ';
- }
- // generate meridian
- if ($display_meridian && !$use_24_hours) {
- $_html_meridian = '';
- $_extra = '';
- $_name = $field_array ? ($field_array . '[' . $prefix . 'Meridian]') : ($prefix . 'Meridian');
- if ($all_extra) {
- $_extra .= ' ' . $all_extra;
- }
- if ($meridian_extra) {
- $_extra .= ' ' . $meridian_extra;
- }
- $_html_meridian = '' . $option_separator;
- if (isset($meridian_empty) || isset($all_empty)) {
- $_html_meridian .= '' . (isset($meridian_empty) ? $meridian_empty : $all_empty) .
- ' ' . $option_separator;
- }
- $_html_meridian .= ' 0 && $_hour < 12 ? ' selected="selected"' : '') .
- '>AM ' . $option_separator . 'PM ' . $option_separator .
- ' ';
- }
- $_html = '';
- foreach (array(
- '_html_hours',
- '_html_minutes',
- '_html_seconds',
- '_html_meridian'
- ) as $k) {
- if (isset($$k)) {
- if ($_html) {
- $_html .= $field_separator;
- }
- $_html .= $$k;
- }
- }
- return $_html;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.html_table.php b/php_libs/smarty-3.1.33/libs/plugins/function.html_table.php
deleted file mode 100755
index ae61e83..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.html_table.php
+++ /dev/null
@@ -1,164 +0,0 @@
-
- * @author credit to Messju Mohr
- * @author credit to boots
- * @version 1.1
- * @link http://www.smarty.net/manual/en/language.function.html.table.php {html_table}
- * (Smarty online manual)
- *
- * @param array $params parameters
- *
- * @return string
- */
-function smarty_function_html_table($params)
-{
- $table_attr = 'border="1"';
- $tr_attr = '';
- $th_attr = '';
- $td_attr = '';
- $cols = $cols_count = 3;
- $rows = 3;
- $trailpad = ' ';
- $vdir = 'down';
- $hdir = 'right';
- $inner = 'cols';
- $caption = '';
- $loop = null;
- if (!isset($params[ 'loop' ])) {
- trigger_error("html_table: missing 'loop' parameter", E_USER_WARNING);
- return;
- }
- foreach ($params as $_key => $_value) {
- switch ($_key) {
- case 'loop':
- $$_key = (array)$_value;
- break;
- case 'cols':
- if (is_array($_value) && !empty($_value)) {
- $cols = $_value;
- $cols_count = count($_value);
- } elseif (!is_numeric($_value) && is_string($_value) && !empty($_value)) {
- $cols = explode(',', $_value);
- $cols_count = count($cols);
- } elseif (!empty($_value)) {
- $cols_count = (int)$_value;
- } else {
- $cols_count = $cols;
- }
- break;
- case 'rows':
- $$_key = (int)$_value;
- break;
- case 'table_attr':
- case 'trailpad':
- case 'hdir':
- case 'vdir':
- case 'inner':
- case 'caption':
- $$_key = (string)$_value;
- break;
- case 'tr_attr':
- case 'td_attr':
- case 'th_attr':
- $$_key = $_value;
- break;
- }
- }
- $loop_count = count($loop);
- if (empty($params[ 'rows' ])) {
- /* no rows specified */
- $rows = ceil($loop_count / $cols_count);
- } elseif (empty($params[ 'cols' ])) {
- if (!empty($params[ 'rows' ])) {
- /* no cols specified, but rows */
- $cols_count = ceil($loop_count / $rows);
- }
- }
- $output = "\n";
- if (!empty($caption)) {
- $output .= '' . $caption . " \n";
- }
- if (is_array($cols)) {
- $cols = ($hdir === 'right') ? $cols : array_reverse($cols);
- $output .= "\n";
- for ($r = 0; $r < $cols_count; $r++) {
- $output .= '';
- $output .= $cols[ $r ];
- $output .= " \n";
- }
- $output .= " \n";
- }
- $output .= "\n";
- for ($r = 0; $r < $rows; $r++) {
- $output .= "\n";
- $rx = ($vdir === 'down') ? $r * $cols_count : ($rows - 1 - $r) * $cols_count;
- for ($c = 0; $c < $cols_count; $c++) {
- $x = ($hdir === 'right') ? $rx + $c : $rx + $cols_count - 1 - $c;
- if ($inner !== 'cols') {
- /* shuffle x to loop over rows*/
- $x = floor($x / $cols_count) + ($x % $cols_count) * $rows;
- }
- if ($x < $loop_count) {
- $output .= "" . $loop[ $x ] . " \n";
- } else {
- $output .= "$trailpad \n";
- }
- }
- $output .= " \n";
- }
- $output .= " \n";
- $output .= "
\n";
- return $output;
-}
-
-/**
- * @param $name
- * @param $var
- * @param $no
- *
- * @return string
- */
-function smarty_function_html_table_cycle($name, $var, $no)
-{
- if (!is_array($var)) {
- $ret = $var;
- } else {
- $ret = $var[ $no % count($var) ];
- }
- return ($ret) ? ' ' . $ret : '';
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.mailto.php b/php_libs/smarty-3.1.33/libs/plugins/function.mailto.php
deleted file mode 100755
index 27351df..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.mailto.php
+++ /dev/null
@@ -1,137 +0,0 @@
-
- * @author credits to Jason Sweat (added cc, bcc and subject functionality)
- *
- * @param array $params parameters
- *
- * @return string
- */
-function smarty_function_mailto($params)
-{
- static $_allowed_encoding =
- array('javascript' => true, 'javascript_charcode' => true, 'hex' => true, 'none' => true);
- $extra = '';
- if (empty($params[ 'address' ])) {
- trigger_error("mailto: missing 'address' parameter", E_USER_WARNING);
- return;
- } else {
- $address = $params[ 'address' ];
- }
- $text = $address;
- // netscape and mozilla do not decode %40 (@) in BCC field (bug?)
- // so, don't encode it.
- $search = array('%40', '%2C');
- $replace = array('@', ',');
- $mail_parms = array();
- foreach ($params as $var => $value) {
- switch ($var) {
- case 'cc':
- case 'bcc':
- case 'followupto':
- if (!empty($value)) {
- $mail_parms[] = $var . '=' . str_replace($search, $replace, rawurlencode($value));
- }
- break;
- case 'subject':
- case 'newsgroups':
- $mail_parms[] = $var . '=' . rawurlencode($value);
- break;
- case 'extra':
- case 'text':
- $$var = $value;
- // no break
- default:
- }
- }
- if ($mail_parms) {
- $address .= '?' . join('&', $mail_parms);
- }
- $encode = (empty($params[ 'encode' ])) ? 'none' : $params[ 'encode' ];
- if (!isset($_allowed_encoding[ $encode ])) {
- trigger_error(
- "mailto: 'encode' parameter must be none, javascript, javascript_charcode or hex",
- E_USER_WARNING
- );
- return;
- }
- // FIXME: (rodneyrehm) document.write() excues me what? 1998 has passed!
- if ($encode === 'javascript') {
- $string = 'document.write(\'' . $text . ' \');';
- $js_encode = '';
- for ($x = 0, $_length = strlen($string); $x < $_length; $x++) {
- $js_encode .= '%' . bin2hex($string[ $x ]);
- }
- return '';
- } elseif ($encode === 'javascript_charcode') {
- $string = '' . $text . ' ';
- for ($x = 0, $y = strlen($string); $x < $y; $x++) {
- $ord[] = ord($string[ $x ]);
- }
- $_ret = "\n";
- return $_ret;
- } elseif ($encode === 'hex') {
- preg_match('!^(.*)(\?.*)$!', $address, $match);
- if (!empty($match[ 2 ])) {
- trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript.", E_USER_WARNING);
- return;
- }
- $address_encode = '';
- for ($x = 0, $_length = strlen($address); $x < $_length; $x++) {
- if (preg_match('!\w!' . Smarty::$_UTF8_MODIFIER, $address[ $x ])) {
- $address_encode .= '%' . bin2hex($address[ $x ]);
- } else {
- $address_encode .= $address[ $x ];
- }
- }
- $text_encode = '';
- for ($x = 0, $_length = strlen($text); $x < $_length; $x++) {
- $text_encode .= '' . bin2hex($text[ $x ]) . ';';
- }
- $mailto = "mailto:";
- return '' . $text_encode . ' ';
- } else {
- // no encoding
- return '' . $text . ' ';
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/function.math.php b/php_libs/smarty-3.1.33/libs/plugins/function.math.php
deleted file mode 100755
index 7348d96..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/function.math.php
+++ /dev/null
@@ -1,112 +0,0 @@
-
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @return string|null
- */
-function smarty_function_math($params, $template)
-{
- static $_allowed_funcs =
- array(
- 'int' => true,
- 'abs' => true,
- 'ceil' => true,
- 'cos' => true,
- 'exp' => true,
- 'floor' => true,
- 'log' => true,
- 'log10' => true,
- 'max' => true,
- 'min' => true,
- 'pi' => true,
- 'pow' => true,
- 'rand' => true,
- 'round' => true,
- 'sin' => true,
- 'sqrt' => true,
- 'srand' => true,
- 'tan' => true
- );
- // be sure equation parameter is present
- if (empty($params[ 'equation' ])) {
- trigger_error("math: missing equation parameter", E_USER_WARNING);
- return;
- }
- $equation = $params[ 'equation' ];
- // make sure parenthesis are balanced
- if (substr_count($equation, '(') !== substr_count($equation, ')')) {
- trigger_error("math: unbalanced parenthesis", E_USER_WARNING);
- return;
- }
- // disallow backticks
- if (strpos($equation, '`') !== false) {
- trigger_error("math: backtick character not allowed in equation", E_USER_WARNING);
- return;
- }
- // also disallow dollar signs
- if (strpos($equation, '$') !== false) {
- trigger_error("math: dollar signs not allowed in equation", E_USER_WARNING);
- return;
- }
- foreach ($params as $key => $val) {
- if ($key !== 'equation' && $key !== 'format' && $key !== 'assign') {
- // make sure value is not empty
- if (strlen($val) === 0) {
- trigger_error("math: parameter '{$key}' is empty", E_USER_WARNING);
- return;
- }
- if (!is_numeric($val)) {
- trigger_error("math: parameter '{$key}' is not numeric", E_USER_WARNING);
- return;
- }
- }
- }
- // match all vars in equation, make sure all are passed
- preg_match_all('!(?:0x[a-fA-F0-9]+)|([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)!', $equation, $match);
- foreach ($match[ 1 ] as $curr_var) {
- if ($curr_var && !isset($params[ $curr_var ]) && !isset($_allowed_funcs[ $curr_var ])) {
- trigger_error(
- "math: function call '{$curr_var}' not allowed, or missing parameter '{$curr_var}'",
- E_USER_WARNING
- );
- return;
- }
- }
- foreach ($params as $key => $val) {
- if ($key !== 'equation' && $key !== 'format' && $key !== 'assign') {
- $equation = preg_replace("/\b$key\b/", " \$params['$key'] ", $equation);
- }
- }
- $smarty_math_result = null;
- eval("\$smarty_math_result = " . $equation . ";");
- if (empty($params[ 'format' ])) {
- if (empty($params[ 'assign' ])) {
- return $smarty_math_result;
- } else {
- $template->assign($params[ 'assign' ], $smarty_math_result);
- }
- } else {
- if (empty($params[ 'assign' ])) {
- printf($params[ 'format' ], $smarty_math_result);
- } else {
- $template->assign($params[ 'assign' ], sprintf($params[ 'format' ], $smarty_math_result));
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.capitalize.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.capitalize.php
deleted file mode 100755
index c5fc400..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.capitalize.php
+++ /dev/null
@@ -1,145 +0,0 @@
-
- * @author Rodney Rehm
- */
-function smarty_modifier_capitalize($string, $uc_digits = false, $lc_rest = false)
-{
- if (Smarty::$_MBSTRING) {
- if ($lc_rest) {
- // uppercase (including hyphenated words)
- $upper_string = mb_convert_case($string, MB_CASE_TITLE, Smarty::$_CHARSET);
- } else {
- // uppercase word breaks
- $upper_string = preg_replace_callback(
- "!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER,
- 'smarty_mod_cap_mbconvert_cb',
- $string
- );
- }
- // check uc_digits case
- if (!$uc_digits) {
- if (preg_match_all(
- "!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER,
- $string,
- $matches,
- PREG_OFFSET_CAPTURE
- )
- ) {
- foreach ($matches[ 1 ] as $match) {
- $upper_string =
- substr_replace(
- $upper_string,
- mb_strtolower($match[ 0 ], Smarty::$_CHARSET),
- $match[ 1 ],
- strlen($match[ 0 ])
- );
- }
- }
- }
- $upper_string =
- preg_replace_callback(
- "!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER,
- 'smarty_mod_cap_mbconvert2_cb',
- $upper_string
- );
- return $upper_string;
- }
- // lowercase first
- if ($lc_rest) {
- $string = strtolower($string);
- }
- // uppercase (including hyphenated words)
- $upper_string =
- preg_replace_callback(
- "!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER,
- 'smarty_mod_cap_ucfirst_cb',
- $string
- );
- // check uc_digits case
- if (!$uc_digits) {
- if (preg_match_all(
- "!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER,
- $string,
- $matches,
- PREG_OFFSET_CAPTURE
- )
- ) {
- foreach ($matches[ 1 ] as $match) {
- $upper_string =
- substr_replace($upper_string, strtolower($match[ 0 ]), $match[ 1 ], strlen($match[ 0 ]));
- }
- }
- }
- $upper_string = preg_replace_callback(
- "!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER,
- 'smarty_mod_cap_ucfirst2_cb',
- $upper_string
- );
- return $upper_string;
-}
-
-/**
- *
- * Bug: create_function() use exhausts memory when used in long loops
- * Fix: use declared functions for callbacks instead of using create_function()
- * Note: This can be fixed using anonymous functions instead, but that requires PHP >= 5.3
- *
- * @author Kyle Renfrow
- */
-/**
- * @param $matches
- *
- * @return string
- */
-function smarty_mod_cap_mbconvert_cb($matches)
-{
- return stripslashes($matches[ 1 ]) . mb_convert_case(stripslashes($matches[ 2 ]), MB_CASE_UPPER, Smarty::$_CHARSET);
-}
-
-/**
- * @param $matches
- *
- * @return string
- */
-function smarty_mod_cap_mbconvert2_cb($matches)
-{
- return stripslashes($matches[ 1 ]) . mb_convert_case(stripslashes($matches[ 3 ]), MB_CASE_UPPER, Smarty::$_CHARSET);
-}
-
-/**
- * @param $matches
- *
- * @return string
- */
-function smarty_mod_cap_ucfirst_cb($matches)
-{
- return stripslashes($matches[ 1 ]) . ucfirst(stripslashes($matches[ 2 ]));
-}
-
-/**
- * @param $matches
- *
- * @return string
- */
-function smarty_mod_cap_ucfirst2_cb($matches)
-{
- return stripslashes($matches[ 1 ]) . ucfirst(stripslashes($matches[ 3 ]));
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.date_format.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.date_format.php
deleted file mode 100755
index 23b6943..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.date_format.php
+++ /dev/null
@@ -1,85 +0,0 @@
-
- *
- * @param string $string input date string
- * @param string $format strftime format for output
- * @param string $default_date default date if $string is empty
- * @param string $formatter either 'strftime' or 'auto'
- *
- * @return string |void
- * @uses smarty_make_timestamp()
- */
-function smarty_modifier_date_format($string, $format = null, $default_date = '', $formatter = 'auto')
-{
- if ($format === null) {
- $format = Smarty::$_DATE_FORMAT;
- }
- /**
- * require_once the {@link shared.make_timestamp.php} plugin
- */
- static $is_loaded = false;
- if (!$is_loaded) {
- if (!is_callable('smarty_make_timestamp')) {
- include_once SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php';
- }
- $is_loaded = true;
- }
- if ($string !== '' && $string !== '0000-00-00' && $string !== '0000-00-00 00:00:00') {
- $timestamp = smarty_make_timestamp($string);
- } elseif ($default_date !== '') {
- $timestamp = smarty_make_timestamp($default_date);
- } else {
- return;
- }
- if ($formatter === 'strftime' || ($formatter === 'auto' && strpos($format, '%') !== false)) {
- if (Smarty::$_IS_WINDOWS) {
- $_win_from = array(
- '%D',
- '%h',
- '%n',
- '%r',
- '%R',
- '%t',
- '%T'
- );
- $_win_to = array(
- '%m/%d/%y',
- '%b',
- "\n",
- '%I:%M:%S %p',
- '%H:%M',
- "\t",
- '%H:%M:%S'
- );
- if (strpos($format, '%e') !== false) {
- $_win_from[] = '%e';
- $_win_to[] = sprintf('%\' 2d', date('j', $timestamp));
- }
- if (strpos($format, '%l') !== false) {
- $_win_from[] = '%l';
- $_win_to[] = sprintf('%\' 2d', date('h', $timestamp));
- }
- $format = str_replace($_win_from, $_win_to, $format);
- }
- return strftime($format, $timestamp);
- } else {
- return date($format, $timestamp);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.debug_print_var.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.debug_print_var.php
deleted file mode 100755
index 78397d0..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.debug_print_var.php
+++ /dev/null
@@ -1,103 +0,0 @@
-
- *
- * @param array|object $var variable to be formatted
- * @param int $max maximum recursion depth if $var is an array or object
- * @param int $length maximum string length if $var is a string
- * @param int $depth actual recursion depth
- * @param array $objects processed objects in actual depth to prevent recursive object processing
- *
- * @return string
- */
-function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth = 0, $objects = array())
-{
- $_replace = array("\n" => '\n', "\r" => '\r', "\t" => '\t');
- switch (gettype($var)) {
- case 'array':
- $results = 'Array (' . count($var) . ') ';
- if ($depth === $max) {
- break;
- }
- foreach ($var as $curr_key => $curr_val) {
- $results .= ' ' . str_repeat(' ', $depth * 2) . '' . strtr($curr_key, $_replace) .
- ' => ' .
- smarty_modifier_debug_print_var($curr_val, $max, $length, ++$depth, $objects);
- $depth--;
- }
- break;
- case 'object':
- $object_vars = get_object_vars($var);
- $results = '' . get_class($var) . ' Object (' . count($object_vars) . ') ';
- if (in_array($var, $objects)) {
- $results .= ' called recursive';
- break;
- }
- if ($depth === $max) {
- break;
- }
- $objects[] = $var;
- foreach ($object_vars as $curr_key => $curr_val) {
- $results .= ' ' . str_repeat(' ', $depth * 2) . ' ->' . strtr($curr_key, $_replace) .
- ' = ' . smarty_modifier_debug_print_var($curr_val, $max, $length, ++$depth, $objects);
- $depth--;
- }
- break;
- case 'boolean':
- case 'NULL':
- case 'resource':
- if (true === $var) {
- $results = 'true';
- } elseif (false === $var) {
- $results = 'false';
- } elseif (null === $var) {
- $results = 'null';
- } else {
- $results = htmlspecialchars((string)$var);
- }
- $results = '' . $results . ' ';
- break;
- case 'integer':
- case 'float':
- $results = htmlspecialchars((string)$var);
- break;
- case 'string':
- $results = strtr($var, $_replace);
- if (Smarty::$_MBSTRING) {
- if (mb_strlen($var, Smarty::$_CHARSET) > $length) {
- $results = mb_substr($var, 0, $length - 3, Smarty::$_CHARSET) . '...';
- }
- } else {
- if (isset($var[ $length ])) {
- $results = substr($var, 0, $length - 3) . '...';
- }
- }
- $results = htmlspecialchars('"' . $results . '"', ENT_QUOTES, Smarty::$_CHARSET);
- break;
- case 'unknown type':
- default:
- $results = strtr((string)$var, $_replace);
- if (Smarty::$_MBSTRING) {
- if (mb_strlen($results, Smarty::$_CHARSET) > $length) {
- $results = mb_substr($results, 0, $length - 3, Smarty::$_CHARSET) . '...';
- }
- } else {
- if (strlen($results) > $length) {
- $results = substr($results, 0, $length - 3) . '...';
- }
- }
- $results = htmlspecialchars($results, ENT_QUOTES, Smarty::$_CHARSET);
- }
- return $results;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.escape.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.escape.php
deleted file mode 100755
index 150901c..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.escape.php
+++ /dev/null
@@ -1,255 +0,0 @@
-
- *
- * @param string $string input string
- * @param string $esc_type escape type
- * @param string $char_set character set, used for htmlspecialchars() or htmlentities()
- * @param boolean $double_encode encode already encoded entitites again, used for htmlspecialchars() or htmlentities()
- *
- * @return string escaped input string
- */
-function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $double_encode = true)
-{
- static $_double_encode = null;
- static $is_loaded_1 = false;
- static $is_loaded_2 = false;
- if ($_double_encode === null) {
- $_double_encode = version_compare(PHP_VERSION, '5.2.3', '>=');
- }
- if (!$char_set) {
- $char_set = Smarty::$_CHARSET;
- }
- switch ($esc_type) {
- case 'html':
- if ($_double_encode) {
- // php >=5.3.2 - go native
- return htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode);
- } else {
- if ($double_encode) {
- // php <5.2.3 - only handle double encoding
- return htmlspecialchars($string, ENT_QUOTES, $char_set);
- } else {
- // php <5.2.3 - prevent double encoding
- $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
- $string = htmlspecialchars($string, ENT_QUOTES, $char_set);
- $string = str_replace(
- array(
- '%%%SMARTY_START%%%',
- '%%%SMARTY_END%%%'
- ),
- array(
- '&',
- ';'
- ),
- $string
- );
- return $string;
- }
- }
- // no break
- case 'htmlall':
- if (Smarty::$_MBSTRING) {
- // mb_convert_encoding ignores htmlspecialchars()
- if ($_double_encode) {
- // php >=5.3.2 - go native
- $string = htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode);
- } else {
- if ($double_encode) {
- // php <5.2.3 - only handle double encoding
- $string = htmlspecialchars($string, ENT_QUOTES, $char_set);
- } else {
- // php <5.2.3 - prevent double encoding
- $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
- $string = htmlspecialchars($string, ENT_QUOTES, $char_set);
- $string =
- str_replace(
- array(
- '%%%SMARTY_START%%%',
- '%%%SMARTY_END%%%'
- ),
- array(
- '&',
- ';'
- ),
- $string
- );
- return $string;
- }
- }
- // htmlentities() won't convert everything, so use mb_convert_encoding
- return mb_convert_encoding($string, 'HTML-ENTITIES', $char_set);
- }
- // no MBString fallback
- if ($_double_encode) {
- return htmlentities($string, ENT_QUOTES, $char_set, $double_encode);
- } else {
- if ($double_encode) {
- return htmlentities($string, ENT_QUOTES, $char_set);
- } else {
- $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
- $string = htmlentities($string, ENT_QUOTES, $char_set);
- $string = str_replace(
- array(
- '%%%SMARTY_START%%%',
- '%%%SMARTY_END%%%'
- ),
- array(
- '&',
- ';'
- ),
- $string
- );
- return $string;
- }
- }
- // no break
- case 'url':
- return rawurlencode($string);
- case 'urlpathinfo':
- return str_replace('%2F', '/', rawurlencode($string));
- case 'quotes':
- // escape unescaped single quotes
- return preg_replace("%(? '\\\\',
- "'" => "\\'",
- '"' => '\\"',
- "\r" => '\\r',
- "\n" => '\\n',
- '' => '<\/'
- )
- );
- case 'mail':
- if (Smarty::$_MBSTRING) {
- if (!$is_loaded_2) {
- if (!is_callable('smarty_mb_str_replace')) {
- include_once SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php';
- }
- $is_loaded_2 = true;
- }
- return smarty_mb_str_replace(
- array(
- '@',
- '.'
- ),
- array(
- ' [AT] ',
- ' [DOT] '
- ),
- $string
- );
- }
- // no MBString fallback
- return str_replace(
- array(
- '@',
- '.'
- ),
- array(
- ' [AT] ',
- ' [DOT] '
- ),
- $string
- );
- case 'nonstd':
- // escape non-standard chars, such as ms document quotes
- $return = '';
- if (Smarty::$_MBSTRING) {
- if (!$is_loaded_1) {
- if (!is_callable('smarty_mb_to_unicode')) {
- include_once SMARTY_PLUGINS_DIR . 'shared.mb_unicode.php';
- }
- $is_loaded_1 = true;
- }
- foreach (smarty_mb_to_unicode($string, Smarty::$_CHARSET) as $unicode) {
- if ($unicode >= 126) {
- $return .= '' . $unicode . ';';
- } else {
- $return .= chr($unicode);
- }
- }
- return $return;
- }
- $_length = strlen($string);
- for ($_i = 0; $_i < $_length; $_i++) {
- $_ord = ord(substr($string, $_i, 1));
- // non-standard char, escape it
- if ($_ord >= 126) {
- $return .= '' . $_ord . ';';
- } else {
- $return .= substr($string, $_i, 1);
- }
- }
- return $return;
- default:
- return $string;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.mb_wordwrap.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.mb_wordwrap.php
deleted file mode 100755
index 1cd625b..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.mb_wordwrap.php
+++ /dev/null
@@ -1,71 +0,0 @@
- $width) {
- if ($cut) {
- $_tokens = preg_split(
- '!(.{' . $width . '})!S' . Smarty::$_UTF8_MODIFIER,
- $_token,
- -1,
- PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE
- );
- }
- }
- foreach ($_tokens as $token) {
- $_space = !!preg_match('!^\s$!S' . Smarty::$_UTF8_MODIFIER, $token);
- $token_length = mb_strlen($token, Smarty::$_CHARSET);
- $length += $token_length;
- if ($length > $width) {
- // remove space before inserted break
- if ($_previous) {
- $t = mb_substr($t, 0, -1, Smarty::$_CHARSET);
- }
- if (!$_space) {
- // add the break before the token
- if (!empty($t)) {
- $t .= $break;
- }
- $length = $token_length;
- }
- } elseif ($token === "\n") {
- // hard break must reset counters
- $length = 0;
- }
- $_previous = $_space;
- // add the token
- $t .= $token;
- }
- }
- return $t;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.regex_replace.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.regex_replace.php
deleted file mode 100755
index 7eb5506..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.regex_replace.php
+++ /dev/null
@@ -1,55 +0,0 @@
-
- *
- * @param string $string input string
- * @param string|array $search regular expression(s) to search for
- * @param string|array $replace string(s) that should be replaced
- * @param int $limit the maximum number of replacements
- *
- * @return string
- */
-function smarty_modifier_regex_replace($string, $search, $replace, $limit = -1)
-{
- if (is_array($search)) {
- foreach ($search as $idx => $s) {
- $search[ $idx ] = _smarty_regex_replace_check($s);
- }
- } else {
- $search = _smarty_regex_replace_check($search);
- }
- return preg_replace($search, $replace, $string, $limit);
-}
-
-/**
- * @param string $search string(s) that should be replaced
- *
- * @return string
- * @ignore
- */
-function _smarty_regex_replace_check($search)
-{
- // null-byte injection detection
- // anything behind the first null-byte is ignored
- if (($pos = strpos($search, "\0")) !== false) {
- $search = substr($search, 0, $pos);
- }
- // remove eval-modifier from $search
- if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[ 1 ], 'e') !== false)) {
- $search = substr($search, 0, -strlen($match[ 1 ])) . preg_replace('![e\s]+!', '', $match[ 1 ]);
- }
- return $search;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.replace.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.replace.php
deleted file mode 100755
index a98f5a4..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.replace.php
+++ /dev/null
@@ -1,37 +0,0 @@
-
- * @author Uwe Tews
- *
- * @param string $string input string
- * @param string $search text to search for
- * @param string $replace replacement text
- *
- * @return string
- */
-function smarty_modifier_replace($string, $search, $replace)
-{
- static $is_loaded = false;
- if (Smarty::$_MBSTRING) {
- if (!$is_loaded) {
- if (!is_callable('smarty_mb_str_replace')) {
- include_once SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php';
- }
- $is_loaded = true;
- }
- return smarty_mb_str_replace($search, $replace, $string);
- }
- return str_replace($search, $replace, $string);
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.spacify.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.spacify.php
deleted file mode 100755
index 98efd4b..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.spacify.php
+++ /dev/null
@@ -1,26 +0,0 @@
-
- *
- * @param string $string input string
- * @param string $spacify_char string to insert between characters.
- *
- * @return string
- */
-function smarty_modifier_spacify($string, $spacify_char = ' ')
-{
- // well… what about charsets besides latin and UTF-8?
- return implode($spacify_char, preg_split('//' . Smarty::$_UTF8_MODIFIER, $string, -1, PREG_SPLIT_NO_EMPTY));
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifier.truncate.php b/php_libs/smarty-3.1.33/libs/plugins/modifier.truncate.php
deleted file mode 100755
index bb881bf..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifier.truncate.php
+++ /dev/null
@@ -1,62 +0,0 @@
-
- *
- * @param string $string input string
- * @param integer $length length of truncated text
- * @param string $etc end string
- * @param boolean $break_words truncate at word boundary
- * @param boolean $middle truncate in the middle of text
- *
- * @return string truncated string
- */
-function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false)
-{
- if ($length === 0) {
- return '';
- }
- if (Smarty::$_MBSTRING) {
- if (mb_strlen($string, Smarty::$_CHARSET) > $length) {
- $length -= min($length, mb_strlen($etc, Smarty::$_CHARSET));
- if (!$break_words && !$middle) {
- $string = preg_replace(
- '/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER,
- '',
- mb_substr($string, 0, $length + 1, Smarty::$_CHARSET)
- );
- }
- if (!$middle) {
- return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc;
- }
- return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc .
- mb_substr($string, -$length / 2, $length, Smarty::$_CHARSET);
- }
- return $string;
- }
- // no MBString fallback
- if (isset($string[ $length ])) {
- $length -= min($length, strlen($etc));
- if (!$break_words && !$middle) {
- $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1));
- }
- if (!$middle) {
- return substr($string, 0, $length) . $etc;
- }
- return substr($string, 0, $length / 2) . $etc . substr($string, -$length / 2);
- }
- return $string;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.cat.php b/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.cat.php
deleted file mode 100755
index 21d0e66..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.cat.php
+++ /dev/null
@@ -1,28 +0,0 @@
-template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_literal_compiler_param',
- 'file' => SMARTY_PLUGINS_DIR . 'shared.literal_compiler_param.php'
- )
- )
- );
- if ($_double_encode === null) {
- $_double_encode = version_compare(PHP_VERSION, '5.2.3', '>=');
- }
- try {
- $esc_type = smarty_literal_compiler_param($params, 1, 'html');
- $char_set = smarty_literal_compiler_param($params, 2, Smarty::$_CHARSET);
- $double_encode = smarty_literal_compiler_param($params, 3, true);
- if (!$char_set) {
- $char_set = Smarty::$_CHARSET;
- }
- switch ($esc_type) {
- case 'html':
- if ($_double_encode) {
- return 'htmlspecialchars(' . $params[ 0 ] . ', ENT_QUOTES, ' . var_export($char_set, true) . ', ' .
- var_export($double_encode, true) . ')';
- } elseif ($double_encode) {
- return 'htmlspecialchars(' . $params[ 0 ] . ', ENT_QUOTES, ' . var_export($char_set, true) . ')';
- } else {
- // fall back to modifier.escape.php
- }
- // no break
- case 'htmlall':
- if (Smarty::$_MBSTRING) {
- if ($_double_encode) {
- // php >=5.2.3 - go native
- return 'mb_convert_encoding(htmlspecialchars(' . $params[ 0 ] . ', ENT_QUOTES, ' .
- var_export($char_set, true) . ', ' . var_export($double_encode, true) .
- '), "HTML-ENTITIES", ' . var_export($char_set, true) . ')';
- } elseif ($double_encode) {
- // php <5.2.3 - only handle double encoding
- return 'mb_convert_encoding(htmlspecialchars(' . $params[ 0 ] . ', ENT_QUOTES, ' .
- var_export($char_set, true) . '), "HTML-ENTITIES", ' . var_export($char_set, true) . ')';
- } else {
- // fall back to modifier.escape.php
- }
- }
- // no MBString fallback
- if ($_double_encode) {
- // php >=5.2.3 - go native
- return 'htmlentities(' . $params[ 0 ] . ', ENT_QUOTES, ' . var_export($char_set, true) . ', ' .
- var_export($double_encode, true) . ')';
- } elseif ($double_encode) {
- // php <5.2.3 - only handle double encoding
- return 'htmlentities(' . $params[ 0 ] . ', ENT_QUOTES, ' . var_export($char_set, true) . ')';
- } else {
- // fall back to modifier.escape.php
- }
- // no break
- case 'url':
- return 'rawurlencode(' . $params[ 0 ] . ')';
- case 'urlpathinfo':
- return 'str_replace("%2F", "/", rawurlencode(' . $params[ 0 ] . '))';
- case 'quotes':
- // escape unescaped single quotes
- return 'preg_replace("%(? "\\\\\\\\", "\'" => "\\\\\'", "\"" => "\\\\\"", "\\r" => "\\\\r", "\\n" => "\\\n", "" => "<\/" ))';
- }
- } catch (SmartyException $e) {
- // pass through to regular plugin fallback
- }
- // could not optimize |escape call, so fallback to regular plugin
- if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) {
- $compiler->required_plugins[ 'nocache' ][ 'escape' ][ 'modifier' ][ 'file' ] =
- SMARTY_PLUGINS_DIR . 'modifier.escape.php';
- $compiler->required_plugins[ 'nocache' ][ 'escape' ][ 'modifier' ][ 'function' ] =
- 'smarty_modifier_escape';
- } else {
- $compiler->required_plugins[ 'compiled' ][ 'escape' ][ 'modifier' ][ 'file' ] =
- SMARTY_PLUGINS_DIR . 'modifier.escape.php';
- $compiler->required_plugins[ 'compiled' ][ 'escape' ][ 'modifier' ][ 'function' ] =
- 'smarty_modifier_escape';
- }
- return 'smarty_modifier_escape(' . join(', ', $params) . ')';
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.from_charset.php b/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.from_charset.php
deleted file mode 100755
index acce778..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.from_charset.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
- * @author Uwe Tews
- *
- * @param array $params parameters
- *
- * @return string with compiled code
- */
-function smarty_modifiercompiler_lower($params)
-{
- if (Smarty::$_MBSTRING) {
- return 'mb_strtolower(' . $params[ 0 ] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
- }
- // no MBString fallback
- return 'strtolower(' . $params[ 0 ] . ')';
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.noprint.php b/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.noprint.php
deleted file mode 100755
index 1275190..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.noprint.php
+++ /dev/null
@@ -1,20 +0,0 @@
-]*?>!', ' ', {$params[0]})";
- } else {
- return 'strip_tags(' . $params[ 0 ] . ')';
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.to_charset.php b/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.to_charset.php
deleted file mode 100755
index d652eab..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/modifiercompiler.to_charset.php
+++ /dev/null
@@ -1,30 +0,0 @@
-getPlugin('mb_wordwrap', 'modifier');
- }
- return $function . '(' . $params[ 0 ] . ',' . $params[ 1 ] . ',' . $params[ 2 ] . ',' . $params[ 3 ] . ')';
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/outputfilter.trimwhitespace.php b/php_libs/smarty-3.1.33/libs/plugins/outputfilter.trimwhitespace.php
deleted file mode 100755
index 7e4503a..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/outputfilter.trimwhitespace.php
+++ /dev/null
@@ -1,89 +0,0 @@
-.*?#is',
- $source,
- $matches,
- PREG_OFFSET_CAPTURE | PREG_SET_ORDER
- )
- ) {
- foreach ($matches as $match) {
- $store[] = $match[ 0 ][ 0 ];
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = '@!@SMARTY:' . $_store . ':SMARTY@!@';
- $source = substr_replace($source, $replace, $match[ 0 ][ 1 ] - $_offset, $_length);
- $_offset += $_length - strlen($replace);
- $_store++;
- }
- }
- // Strip all HTML-Comments
- // yes, even the ones in ]*>)|(]*>)|(]*>.*? ]*>)#is',
- $source,
- $matches,
- PREG_OFFSET_CAPTURE | PREG_SET_ORDER
- )
- ) {
- foreach ($matches as $match) {
- $store[] = $match[ 0 ][ 0 ];
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = '@!@SMARTY:' . $_store . ':SMARTY@!@';
- $source = substr_replace($source, $replace, $match[ 0 ][ 1 ] - $_offset, $_length);
- $_offset += $_length - strlen($replace);
- $_store++;
- }
- }
- $expressions = array(// replace multiple spaces between tags by a single space
- // can't remove them entirely, becaue that might break poorly implemented CSS display:inline-block elements
- '#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1 \2',
- // remove spaces between attributes (but not in attribute values!)
- '#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5',
- // note: for some very weird reason trim() seems to remove spaces inside attributes.
- // maybe a \0 byte or something is interfering?
- '#^\s+<#Ss' => '<',
- '#>\s+$#Ss' => '>',
- );
- $source = preg_replace(array_keys($expressions), array_values($expressions), $source);
- // note: for some very weird reason trim() seems to remove spaces inside attributes.
- // maybe a \0 byte or something is interfering?
- // $source = trim( $source );
- $_offset = 0;
- if (preg_match_all('#@!@SMARTY:([0-9]+):SMARTY@!@#is', $source, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER)) {
- foreach ($matches as $match) {
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = $store[ $match[ 1 ][ 0 ] ];
- $source = substr_replace($source, $replace, $match[ 0 ][ 1 ] + $_offset, $_length);
- $_offset += strlen($replace) - $_length;
- $_store++;
- }
- }
- return $source;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/shared.escape_special_chars.php b/php_libs/smarty-3.1.33/libs/plugins/shared.escape_special_chars.php
deleted file mode 100755
index 6b18d3e..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/shared.escape_special_chars.php
+++ /dev/null
@@ -1,32 +0,0 @@
-
- *
- * @param string $string text that should by escaped
- *
- * @return string
- */
-function smarty_function_escape_special_chars($string)
-{
- if (!is_array($string)) {
- if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
- $string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false);
- } else {
- $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
- $string = htmlspecialchars($string);
- $string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
- }
- }
- return $string;
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/shared.literal_compiler_param.php b/php_libs/smarty-3.1.33/libs/plugins/shared.literal_compiler_param.php
deleted file mode 100755
index 65caf03..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/shared.literal_compiler_param.php
+++ /dev/null
@@ -1,35 +0,0 @@
-
- *
- * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime()
- *
- * @return int
- */
-function smarty_make_timestamp($string)
-{
- if (empty($string)) {
- // use "now":
- return time();
- } elseif ($string instanceof DateTime
- || (interface_exists('DateTimeInterface', false) && $string instanceof DateTimeInterface)
- ) {
- return (int)$string->format('U'); // PHP 5.2 BC
- } elseif (strlen($string) === 14 && ctype_digit($string)) {
- // it is mysql timestamp format of YYYYMMDDHHMMSS?
- return mktime(
- substr($string, 8, 2),
- substr($string, 10, 2),
- substr($string, 12, 2),
- substr($string, 4, 2),
- substr($string, 6, 2),
- substr($string, 0, 4)
- );
- } elseif (is_numeric($string)) {
- // it is a numeric string, we handle it as timestamp
- return (int)$string;
- } else {
- // strtotime should handle it
- $time = strtotime($string);
- if ($time === -1 || $time === false) {
- // strtotime() was not able to parse $string, use "now":
- return time();
- }
- return $time;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/plugins/shared.mb_str_replace.php b/php_libs/smarty-3.1.33/libs/plugins/shared.mb_str_replace.php
deleted file mode 100755
index 206cf9e..0000000
--- a/php_libs/smarty-3.1.33/libs/plugins/shared.mb_str_replace.php
+++ /dev/null
@@ -1,53 +0,0 @@
- 'smarty_internal_cacheresource_file.php',);
-
- /**
- * populate Cached Object with meta data from Resource
- *
- * @param \Smarty_Template_Cached $cached cached object
- * @param Smarty_Internal_Template $_template template object
- *
- * @return void
- */
- abstract public function populate(\Smarty_Template_Cached $cached, Smarty_Internal_Template $_template);
-
- /**
- * populate Cached Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Cached $cached
- *
- * @return void
- */
- abstract public function populateTimestamp(Smarty_Template_Cached $cached);
-
- /**
- * Read the cached template and process header
- *
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty_Template_Cached $cached cached object
- * @param boolean $update flag if called because cache update
- *
- * @return boolean true or false if the cached content does not exist
- */
- abstract public function process(
- Smarty_Internal_Template $_template,
- Smarty_Template_Cached $cached = null,
- $update = false
- );
-
- /**
- * Write the rendered template output to cache
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- *
- * @return boolean success
- */
- abstract public function writeCachedContent(Smarty_Internal_Template $_template, $content);
-
- /**
- * Read cached template from cache
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string content
- */
- abstract public function readCachedContent(Smarty_Internal_Template $_template);
-
- /**
- * Return cached content
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return null|string
- */
- public function getCachedContent(Smarty_Internal_Template $_template)
- {
- if ($_template->cached->handler->process($_template)) {
- ob_start();
- $unifunc = $_template->cached->unifunc;
- $unifunc($_template);
- return ob_get_clean();
- }
- return null;
- }
-
- /**
- * Empty cache
- *
- * @param Smarty $smarty Smarty object
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- *
- * @return integer number of cache files deleted
- */
- abstract public function clearAll(Smarty $smarty, $exp_time = null);
-
- /**
- * Empty cache for a specific template
- *
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- *
- * @return integer number of cache files deleted
- */
- abstract public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time);
-
- /**
- * @param Smarty $smarty
- * @param Smarty_Template_Cached $cached
- *
- * @return bool|null
- */
- public function locked(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- // theoretically locking_timeout should be checked against time_limit (max_execution_time)
- $start = microtime(true);
- $hadLock = null;
- while ($this->hasLock($smarty, $cached)) {
- $hadLock = true;
- if (microtime(true) - $start > $smarty->locking_timeout) {
- // abort waiting for lock release
- return false;
- }
- sleep(1);
- }
- return $hadLock;
- }
-
- /**
- * Check is cache is locked for this template
- *
- * @param Smarty $smarty
- * @param Smarty_Template_Cached $cached
- *
- * @return bool
- */
- public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- // check if lock exists
- return false;
- }
-
- /**
- * Lock cache for this template
- *
- * @param Smarty $smarty
- * @param Smarty_Template_Cached $cached
- *
- * @return bool
- */
- public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- // create lock
- return true;
- }
-
- /**
- * Unlock cache for this template
- *
- * @param Smarty $smarty
- * @param Smarty_Template_Cached $cached
- *
- * @return bool
- */
- public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- // release lock
- return true;
- }
-
- /**
- * Load Cache Resource Handler
- *
- * @param Smarty $smarty Smarty object
- * @param string $type name of the cache resource
- *
- * @throws SmartyException
- * @return Smarty_CacheResource Cache Resource Handler
- */
- public static function load(Smarty $smarty, $type = null)
- {
- if (!isset($type)) {
- $type = $smarty->caching_type;
- }
- // try smarty's cache
- if (isset($smarty->_cache[ 'cacheresource_handlers' ][ $type ])) {
- return $smarty->_cache[ 'cacheresource_handlers' ][ $type ];
- }
- // try registered resource
- if (isset($smarty->registered_cache_resources[ $type ])) {
- // do not cache these instances as they may vary from instance to instance
- return $smarty->_cache[ 'cacheresource_handlers' ][ $type ] = $smarty->registered_cache_resources[ $type ];
- }
- // try sysplugins dir
- if (isset(self::$sysplugins[ $type ])) {
- $cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type);
- return $smarty->_cache[ 'cacheresource_handlers' ][ $type ] = new $cache_resource_class();
- }
- // try plugins dir
- $cache_resource_class = 'Smarty_CacheResource_' . ucfirst($type);
- if ($smarty->loadPlugin($cache_resource_class)) {
- return $smarty->_cache[ 'cacheresource_handlers' ][ $type ] = new $cache_resource_class();
- }
- // give up
- throw new SmartyException("Unable to load cache resource '{$type}'");
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_cacheresource_custom.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_cacheresource_custom.php
deleted file mode 100755
index 68ad112..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_cacheresource_custom.php
+++ /dev/null
@@ -1,297 +0,0 @@
-cache_id) ? preg_replace('![^\w\|]+!', '_', $cached->cache_id) : null;
- $_compile_id = isset($cached->compile_id) ? preg_replace('![^\w]+!', '_', $cached->compile_id) : null;
- $path = $cached->source->uid . $_cache_id . $_compile_id;
- $cached->filepath = sha1($path);
- if ($_template->smarty->cache_locking) {
- $cached->lock_id = sha1('lock.' . $path);
- }
- $this->populateTimestamp($cached);
- }
-
- /**
- * populate Cached Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Cached $cached
- *
- * @return void
- */
- public function populateTimestamp(Smarty_Template_Cached $cached)
- {
- $mtime =
- $this->fetchTimestamp($cached->filepath, $cached->source->name, $cached->cache_id, $cached->compile_id);
- if ($mtime !== null) {
- $cached->timestamp = $mtime;
- $cached->exists = !!$cached->timestamp;
- return;
- }
- $timestamp = null;
- $this->fetch(
- $cached->filepath,
- $cached->source->name,
- $cached->cache_id,
- $cached->compile_id,
- $cached->content,
- $timestamp
- );
- $cached->timestamp = isset($timestamp) ? $timestamp : false;
- $cached->exists = !!$cached->timestamp;
- }
-
- /**
- * Read the cached template and process the header
- *
- * @param \Smarty_Internal_Template $_smarty_tpl do not change variable name, is used by compiled template
- * @param Smarty_Template_Cached $cached cached object
- * @param boolean $update flag if called because cache update
- *
- * @return boolean true or false if the cached content does not exist
- */
- public function process(
- Smarty_Internal_Template $_smarty_tpl,
- Smarty_Template_Cached $cached = null,
- $update = false
- ) {
- if (!$cached) {
- $cached = $_smarty_tpl->cached;
- }
- $content = $cached->content ? $cached->content : null;
- $timestamp = $cached->timestamp ? $cached->timestamp : null;
- if ($content === null || !$timestamp) {
- $this->fetch(
- $_smarty_tpl->cached->filepath,
- $_smarty_tpl->source->name,
- $_smarty_tpl->cache_id,
- $_smarty_tpl->compile_id,
- $content,
- $timestamp
- );
- }
- if (isset($content)) {
- eval('?>' . $content);
- $cached->content = null;
- return true;
- }
- return false;
- }
-
- /**
- * Write the rendered template output to cache
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- *
- * @return boolean success
- */
- public function writeCachedContent(Smarty_Internal_Template $_template, $content)
- {
- return $this->save(
- $_template->cached->filepath,
- $_template->source->name,
- $_template->cache_id,
- $_template->compile_id,
- $_template->cache_lifetime,
- $content
- );
- }
-
- /**
- * Read cached template from cache
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string|boolean content
- */
- public function readCachedContent(Smarty_Internal_Template $_template)
- {
- $content = $_template->cached->content ? $_template->cached->content : null;
- $timestamp = null;
- if ($content === null) {
- $timestamp = null;
- $this->fetch(
- $_template->cached->filepath,
- $_template->source->name,
- $_template->cache_id,
- $_template->compile_id,
- $content,
- $timestamp
- );
- }
- if (isset($content)) {
- return $content;
- }
- return false;
- }
-
- /**
- * Empty cache
- *
- * @param Smarty $smarty Smarty object
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- *
- * @return integer number of cache files deleted
- */
- public function clearAll(Smarty $smarty, $exp_time = null)
- {
- return $this->delete(null, null, null, $exp_time);
- }
-
- /**
- * Empty cache for a specific template
- *
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- *
- * @return int number of cache files deleted
- * @throws \SmartyException
- */
- public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time)
- {
- $cache_name = null;
- if (isset($resource_name)) {
- $source = Smarty_Template_Source::load(null, $smarty, $resource_name);
- if ($source->exists) {
- $cache_name = $source->name;
- } else {
- return 0;
- }
- }
- return $this->delete($cache_name, $cache_id, $compile_id, $exp_time);
- }
-
- /**
- * Check is cache is locked for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return boolean true or false if cache is locked
- */
- public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $id = $cached->lock_id;
- $name = $cached->source->name . '.lock';
- $mtime = $this->fetchTimestamp($id, $name, $cached->cache_id, $cached->compile_id);
- if ($mtime === null) {
- $this->fetch($id, $name, $cached->cache_id, $cached->compile_id, $content, $mtime);
- }
- return $mtime && ($t = time()) - $mtime < $smarty->locking_timeout;
- }
-
- /**
- * Lock cache for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return bool|void
- */
- public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $cached->is_locked = true;
- $id = $cached->lock_id;
- $name = $cached->source->name . '.lock';
- $this->save($id, $name, $cached->cache_id, $cached->compile_id, $smarty->locking_timeout, '');
- }
-
- /**
- * Unlock cache for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return bool|void
- */
- public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $cached->is_locked = false;
- $name = $cached->source->name . '.lock';
- $this->delete($name, $cached->cache_id, $cached->compile_id, null);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_cacheresource_keyvaluestore.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_cacheresource_keyvaluestore.php
deleted file mode 100755
index 59bf1d4..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_cacheresource_keyvaluestore.php
+++ /dev/null
@@ -1,538 +0,0 @@
-filepath = $_template->source->uid . '#' . $this->sanitize($cached->source->resource) . '#' .
- $this->sanitize($cached->cache_id) . '#' . $this->sanitize($cached->compile_id);
- $this->populateTimestamp($cached);
- }
-
- /**
- * populate Cached Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return void
- */
- public function populateTimestamp(Smarty_Template_Cached $cached)
- {
- if (!$this->fetch(
- $cached->filepath,
- $cached->source->name,
- $cached->cache_id,
- $cached->compile_id,
- $content,
- $timestamp,
- $cached->source->uid
- )
- ) {
- return;
- }
- $cached->content = $content;
- $cached->timestamp = (int)$timestamp;
- $cached->exists = !!$cached->timestamp;
- }
-
- /**
- * Read the cached template and process the header
- *
- * @param \Smarty_Internal_Template $_smarty_tpl do not change variable name, is used by compiled template
- * @param Smarty_Template_Cached $cached cached object
- * @param boolean $update flag if called because cache update
- *
- * @return boolean true or false if the cached content does not exist
- */
- public function process(
- Smarty_Internal_Template $_smarty_tpl,
- Smarty_Template_Cached $cached = null,
- $update = false
- ) {
- if (!$cached) {
- $cached = $_smarty_tpl->cached;
- }
- $content = $cached->content ? $cached->content : null;
- $timestamp = $cached->timestamp ? $cached->timestamp : null;
- if ($content === null || !$timestamp) {
- if (!$this->fetch(
- $_smarty_tpl->cached->filepath,
- $_smarty_tpl->source->name,
- $_smarty_tpl->cache_id,
- $_smarty_tpl->compile_id,
- $content,
- $timestamp,
- $_smarty_tpl->source->uid
- )
- ) {
- return false;
- }
- }
- if (isset($content)) {
- eval('?>' . $content);
- return true;
- }
- return false;
- }
-
- /**
- * Write the rendered template output to cache
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- *
- * @return boolean success
- */
- public function writeCachedContent(Smarty_Internal_Template $_template, $content)
- {
- $this->addMetaTimestamp($content);
- return $this->write(array($_template->cached->filepath => $content), $_template->cache_lifetime);
- }
-
- /**
- * Read cached template from cache
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string|false content
- */
- public function readCachedContent(Smarty_Internal_Template $_template)
- {
- $content = $_template->cached->content ? $_template->cached->content : null;
- $timestamp = null;
- if ($content === null) {
- if (!$this->fetch(
- $_template->cached->filepath,
- $_template->source->name,
- $_template->cache_id,
- $_template->compile_id,
- $content,
- $timestamp,
- $_template->source->uid
- )
- ) {
- return false;
- }
- }
- if (isset($content)) {
- return $content;
- }
- return false;
- }
-
- /**
- * Empty cache
- * {@internal the $exp_time argument is ignored altogether }}
- *
- * @param Smarty $smarty Smarty object
- * @param integer $exp_time expiration time [being ignored]
- *
- * @return integer number of cache files deleted [always -1]
- * @uses purge() to clear the whole store
- * @uses invalidate() to mark everything outdated if purge() is inapplicable
- */
- public function clearAll(Smarty $smarty, $exp_time = null)
- {
- if (!$this->purge()) {
- $this->invalidate(null);
- }
- return -1;
- }
-
- /**
- * Empty cache for a specific template
- * {@internal the $exp_time argument is ignored altogether}}
- *
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time [being ignored]
- *
- * @return int number of cache files deleted [always -1]
- * @throws \SmartyException
- * @uses buildCachedFilepath() to generate the CacheID
- * @uses invalidate() to mark CacheIDs parent chain as outdated
- * @uses delete() to remove CacheID from cache
- */
- public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time)
- {
- $uid = $this->getTemplateUid($smarty, $resource_name);
- $cid = $uid . '#' . $this->sanitize($resource_name) . '#' . $this->sanitize($cache_id) . '#' .
- $this->sanitize($compile_id);
- $this->delete(array($cid));
- $this->invalidate($cid, $resource_name, $cache_id, $compile_id, $uid);
- return -1;
- }
-
- /**
- * Get template's unique ID
- *
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- *
- * @return string filepath of cache file
- * @throws \SmartyException
- */
- protected function getTemplateUid(Smarty $smarty, $resource_name)
- {
- if (isset($resource_name)) {
- $source = Smarty_Template_Source::load(null, $smarty, $resource_name);
- if ($source->exists) {
- return $source->uid;
- }
- }
- return '';
- }
-
- /**
- * Sanitize CacheID components
- *
- * @param string $string CacheID component to sanitize
- *
- * @return string sanitized CacheID component
- */
- protected function sanitize($string)
- {
- $string = trim($string, '|');
- if (!$string) {
- return '';
- }
- return preg_replace('#[^\w\|]+#S', '_', $string);
- }
-
- /**
- * Fetch and prepare a cache object.
- *
- * @param string $cid CacheID to fetch
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $content cached content
- * @param integer &$timestamp cached timestamp (epoch)
- * @param string $resource_uid resource's uid
- *
- * @return boolean success
- */
- protected function fetch(
- $cid,
- $resource_name = null,
- $cache_id = null,
- $compile_id = null,
- &$content = null,
- &$timestamp = null,
- $resource_uid = null
- ) {
- $t = $this->read(array($cid));
- $content = !empty($t[ $cid ]) ? $t[ $cid ] : null;
- $timestamp = null;
- if ($content && ($timestamp = $this->getMetaTimestamp($content))) {
- $invalidated =
- $this->getLatestInvalidationTimestamp($cid, $resource_name, $cache_id, $compile_id, $resource_uid);
- if ($invalidated > $timestamp) {
- $timestamp = null;
- $content = null;
- }
- }
- return !!$content;
- }
-
- /**
- * Add current microtime to the beginning of $cache_content
- * {@internal the header uses 8 Bytes, the first 4 Bytes are the seconds, the second 4 Bytes are the microseconds}}
- *
- * @param string &$content the content to be cached
- */
- protected function addMetaTimestamp(&$content)
- {
- $mt = explode(' ', microtime());
- $ts = pack('NN', $mt[ 1 ], (int)($mt[ 0 ] * 100000000));
- $content = $ts . $content;
- }
-
- /**
- * Extract the timestamp the $content was cached
- *
- * @param string &$content the cached content
- *
- * @return float the microtime the content was cached
- */
- protected function getMetaTimestamp(&$content)
- {
- extract(unpack('N1s/N1m/a*content', $content));
- /**
- * @var int $s
- * @var int $m
- */
- return $s + ($m / 100000000);
- }
-
- /**
- * Invalidate CacheID
- *
- * @param string $cid CacheID
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $resource_uid source's uid
- *
- * @return void
- */
- protected function invalidate(
- $cid = null,
- $resource_name = null,
- $cache_id = null,
- $compile_id = null,
- $resource_uid = null
- ) {
- $now = microtime(true);
- $key = null;
- // invalidate everything
- if (!$resource_name && !$cache_id && !$compile_id) {
- $key = 'IVK#ALL';
- } // invalidate all caches by template
- else {
- if ($resource_name && !$cache_id && !$compile_id) {
- $key = 'IVK#TEMPLATE#' . $resource_uid . '#' . $this->sanitize($resource_name);
- } // invalidate all caches by cache group
- else {
- if (!$resource_name && $cache_id && !$compile_id) {
- $key = 'IVK#CACHE#' . $this->sanitize($cache_id);
- } // invalidate all caches by compile id
- else {
- if (!$resource_name && !$cache_id && $compile_id) {
- $key = 'IVK#COMPILE#' . $this->sanitize($compile_id);
- } // invalidate by combination
- else {
- $key = 'IVK#CID#' . $cid;
- }
- }
- }
- }
- $this->write(array($key => $now));
- }
-
- /**
- * Determine the latest timestamp known to the invalidation chain
- *
- * @param string $cid CacheID to determine latest invalidation timestamp of
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $resource_uid source's filepath
- *
- * @return float the microtime the CacheID was invalidated
- */
- protected function getLatestInvalidationTimestamp(
- $cid,
- $resource_name = null,
- $cache_id = null,
- $compile_id = null,
- $resource_uid = null
- ) {
- // abort if there is no CacheID
- if (false && !$cid) {
- return 0;
- }
- // abort if there are no InvalidationKeys to check
- if (!($_cid = $this->listInvalidationKeys($cid, $resource_name, $cache_id, $compile_id, $resource_uid))) {
- return 0;
- }
- // there are no InValidationKeys
- if (!($values = $this->read($_cid))) {
- return 0;
- }
- // make sure we're dealing with floats
- $values = array_map('floatval', $values);
- return max($values);
- }
-
- /**
- * Translate a CacheID into the list of applicable InvalidationKeys.
- * Splits 'some|chain|into|an|array' into array( '#clearAll#', 'some', 'some|chain', 'some|chain|into', ... )
- *
- * @param string $cid CacheID to translate
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $resource_uid source's filepath
- *
- * @return array list of InvalidationKeys
- * @uses $invalidationKeyPrefix to prepend to each InvalidationKey
- */
- protected function listInvalidationKeys(
- $cid,
- $resource_name = null,
- $cache_id = null,
- $compile_id = null,
- $resource_uid = null
- ) {
- $t = array('IVK#ALL');
- $_name = $_compile = '#';
- if ($resource_name) {
- $_name .= $resource_uid . '#' . $this->sanitize($resource_name);
- $t[] = 'IVK#TEMPLATE' . $_name;
- }
- if ($compile_id) {
- $_compile .= $this->sanitize($compile_id);
- $t[] = 'IVK#COMPILE' . $_compile;
- }
- $_name .= '#';
- $cid = trim($cache_id, '|');
- if (!$cid) {
- return $t;
- }
- $i = 0;
- while (true) {
- // determine next delimiter position
- $i = strpos($cid, '|', $i);
- // add complete CacheID if there are no more delimiters
- if ($i === false) {
- $t[] = 'IVK#CACHE#' . $cid;
- $t[] = 'IVK#CID' . $_name . $cid . $_compile;
- $t[] = 'IVK#CID' . $_name . $_compile;
- break;
- }
- $part = substr($cid, 0, $i);
- // add slice to list
- $t[] = 'IVK#CACHE#' . $part;
- $t[] = 'IVK#CID' . $_name . $part . $_compile;
- // skip past delimiter position
- $i++;
- }
- return $t;
- }
-
- /**
- * Check is cache is locked for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return boolean true or false if cache is locked
- */
- public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $key = 'LOCK#' . $cached->filepath;
- $data = $this->read(array($key));
- return $data && time() - $data[ $key ] < $smarty->locking_timeout;
- }
-
- /**
- * Lock cache for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return bool|void
- */
- public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $cached->is_locked = true;
- $key = 'LOCK#' . $cached->filepath;
- $this->write(array($key => time()), $smarty->locking_timeout);
- }
-
- /**
- * Unlock cache for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return bool|void
- */
- public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $cached->is_locked = false;
- $key = 'LOCK#' . $cached->filepath;
- $this->delete(array($key));
- }
-
- /**
- * Read values for a set of keys from cache
- *
- * @param array $keys list of keys to fetch
- *
- * @return array list of values with the given keys used as indexes
- */
- abstract protected function read(array $keys);
-
- /**
- * Save values for a set of keys to cache
- *
- * @param array $keys list of values to save
- * @param int $expire expiration time
- *
- * @return boolean true on success, false on failure
- */
- abstract protected function write(array $keys, $expire = null);
-
- /**
- * Remove values from cache
- *
- * @param array $keys list of keys to delete
- *
- * @return boolean true on success, false on failure
- */
- abstract protected function delete(array $keys);
-
- /**
- * Remove *all* values from cache
- *
- * @return boolean true on success, false on failure
- */
- protected function purge()
- {
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_data.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_data.php
deleted file mode 100755
index 2545ed3..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_data.php
+++ /dev/null
@@ -1,68 +0,0 @@
-dataObjectName = 'Data_object ' . (isset($name) ? "'{$name}'" : self::$count);
- $this->smarty = $smarty;
- if (is_object($_parent)) {
- // when object set up back pointer
- $this->parent = $_parent;
- } elseif (is_array($_parent)) {
- // set up variable values
- foreach ($_parent as $_key => $_val) {
- $this->tpl_vars[ $_key ] = new Smarty_Variable($_val);
- }
- } elseif ($_parent !== null) {
- throw new SmartyException('Wrong type for template variables');
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_block.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_block.php
deleted file mode 100755
index 9956d64..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_block.php
+++ /dev/null
@@ -1,90 +0,0 @@
-name = $name;
- $this->tplIndex = $tplIndex;
- }
-
- /**
- * Compiled block code overloaded by {block} class
- *
- * @param \Smarty_Internal_Template $tpl
- */
- public function callBlock(Smarty_Internal_Template $tpl)
- {
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_cacheresource_file.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_cacheresource_file.php
deleted file mode 100755
index 6161844..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_cacheresource_file.php
+++ /dev/null
@@ -1,239 +0,0 @@
-source;
- $smarty = &$_template->smarty;
- $_compile_dir_sep = $smarty->use_sub_dirs ? DIRECTORY_SEPARATOR : '^';
- $_filepath = sha1($source->uid . $smarty->_joined_template_dir);
- $cached->filepath = $smarty->getCacheDir();
- if (isset($_template->cache_id)) {
- $cached->filepath .= preg_replace(
- array(
- '![^\w|]+!',
- '![|]+!'
- ),
- array(
- '_',
- $_compile_dir_sep
- ),
- $_template->cache_id
- ) . $_compile_dir_sep;
- }
- if (isset($_template->compile_id)) {
- $cached->filepath .= preg_replace('![^\w]+!', '_', $_template->compile_id) . $_compile_dir_sep;
- }
- // if use_sub_dirs, break file into directories
- if ($smarty->use_sub_dirs) {
- $cached->filepath .= $_filepath[ 0 ] . $_filepath[ 1 ] . DIRECTORY_SEPARATOR . $_filepath[ 2 ] .
- $_filepath[ 3 ] .
- DIRECTORY_SEPARATOR .
- $_filepath[ 4 ] . $_filepath[ 5 ] . DIRECTORY_SEPARATOR;
- }
- $cached->filepath .= $_filepath;
- $basename = $source->handler->getBasename($source);
- if (!empty($basename)) {
- $cached->filepath .= '.' . $basename;
- }
- if ($smarty->cache_locking) {
- $cached->lock_id = $cached->filepath . '.lock';
- }
- $cached->filepath .= '.php';
- $cached->timestamp = $cached->exists = is_file($cached->filepath);
- if ($cached->exists) {
- $cached->timestamp = filemtime($cached->filepath);
- }
- }
-
- /**
- * populate Cached Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return void
- */
- public function populateTimestamp(Smarty_Template_Cached $cached)
- {
- $cached->timestamp = $cached->exists = is_file($cached->filepath);
- if ($cached->exists) {
- $cached->timestamp = filemtime($cached->filepath);
- }
- }
-
- /**
- * Read the cached template and process its header
- *
- * @param \Smarty_Internal_Template $_smarty_tpl do not change variable name, is used by compiled template
- * @param Smarty_Template_Cached $cached cached object
- * @param bool $update flag if called because cache update
- *
- * @return boolean true or false if the cached content does not exist
- */
- public function process(
- Smarty_Internal_Template $_smarty_tpl,
- Smarty_Template_Cached $cached = null,
- $update = false
- ) {
- $_smarty_tpl->cached->valid = false;
- if ($update && defined('HHVM_VERSION')) {
- eval('?>' . file_get_contents($_smarty_tpl->cached->filepath));
- return true;
- } else {
- return @include $_smarty_tpl->cached->filepath;
- }
- }
-
- /**
- * Write the rendered template output to cache
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- *
- * @return bool success
- * @throws \SmartyException
- */
- public function writeCachedContent(Smarty_Internal_Template $_template, $content)
- {
- if ($_template->smarty->ext->_writeFile->writeFile(
- $_template->cached->filepath,
- $content,
- $_template->smarty
- ) === true
- ) {
- if (function_exists('opcache_invalidate')
- && (!function_exists('ini_get') || strlen(ini_get('opcache.restrict_api'))) < 1
- ) {
- opcache_invalidate($_template->cached->filepath, true);
- } elseif (function_exists('apc_compile_file')) {
- apc_compile_file($_template->cached->filepath);
- }
- $cached = $_template->cached;
- $cached->timestamp = $cached->exists = is_file($cached->filepath);
- if ($cached->exists) {
- $cached->timestamp = filemtime($cached->filepath);
- return true;
- }
- }
- return false;
- }
-
- /**
- * Read cached template from cache
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string content
- */
- public function readCachedContent(Smarty_Internal_Template $_template)
- {
- if (is_file($_template->cached->filepath)) {
- return file_get_contents($_template->cached->filepath);
- }
- return false;
- }
-
- /**
- * Empty cache
- *
- * @param Smarty $smarty
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- *
- * @return integer number of cache files deleted
- */
- public function clearAll(Smarty $smarty, $exp_time = null)
- {
- return $smarty->ext->_cacheResourceFile->clear($smarty, null, null, null, $exp_time);
- }
-
- /**
- * Empty cache for a specific template
- *
- * @param Smarty $smarty
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- *
- * @return integer number of cache files deleted
- */
- public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time)
- {
- return $smarty->ext->_cacheResourceFile->clear($smarty, $resource_name, $cache_id, $compile_id, $exp_time);
- }
-
- /**
- * Check is cache is locked for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return boolean true or false if cache is locked
- */
- public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
- clearstatcache(true, $cached->lock_id);
- } else {
- clearstatcache();
- }
- if (is_file($cached->lock_id)) {
- $t = filemtime($cached->lock_id);
- return $t && (time() - $t < $smarty->locking_timeout);
- } else {
- return false;
- }
- }
-
- /**
- * Lock cache for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return bool|void
- */
- public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $cached->is_locked = true;
- touch($cached->lock_id);
- }
-
- /**
- * Unlock cache for this template
- *
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- *
- * @return bool|void
- */
- public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
- {
- $cached->is_locked = false;
- @unlink($cached->lock_id);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_append.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_append.php
deleted file mode 100755
index 1a9befb..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_append.php
+++ /dev/null
@@ -1,52 +0,0 @@
-required_attributes = array('var', 'value');
- $this->shorttag_order = array('var', 'value');
- $this->optional_attributes = array('scope', 'index');
- $this->mapCache = array();
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- // map to compile assign attributes
- if (isset($_attr[ 'index' ])) {
- $_params[ 'smarty_internal_index' ] = '[' . $_attr[ 'index' ] . ']';
- unset($_attr[ 'index' ]);
- } else {
- $_params[ 'smarty_internal_index' ] = '[]';
- }
- $_new_attr = array();
- foreach ($_attr as $key => $value) {
- $_new_attr[] = array($key => $value);
- }
- // call compile assign
- return parent::compile($_new_attr, $compiler, $_params);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_assign.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_assign.php
deleted file mode 100755
index 4b99848..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_assign.php
+++ /dev/null
@@ -1,96 +0,0 @@
- Smarty::SCOPE_LOCAL, 'parent' => Smarty::SCOPE_PARENT,
- 'root' => Smarty::SCOPE_ROOT, 'global' => Smarty::SCOPE_GLOBAL,
- 'tpl_root' => Smarty::SCOPE_TPL_ROOT, 'smarty' => Smarty::SCOPE_SMARTY
- );
-
- /**
- * Compiles code for the {assign} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return string compiled code
- * @throws \SmartyCompilerException
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- // the following must be assigned at runtime because it will be overwritten in Smarty_Internal_Compile_Append
- $this->required_attributes = array('var', 'value');
- $this->shorttag_order = array('var', 'value');
- $this->optional_attributes = array('scope');
- $this->mapCache = array();
- $_nocache = false;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- // nocache ?
- if ($_var = $compiler->getId($_attr[ 'var' ])) {
- $_var = "'{$_var}'";
- } else {
- $_var = $_attr[ 'var' ];
- }
- if ($compiler->tag_nocache || $compiler->nocache) {
- $_nocache = true;
- // create nocache var to make it know for further compiling
- $compiler->setNocacheInVariable($_attr[ 'var' ]);
- }
- // scope setup
- if ($_attr[ 'noscope' ]) {
- $_scope = -1;
- } else {
- $_scope = $compiler->convertScope($_attr, $this->valid_scopes);
- }
- // optional parameter
- $_params = '';
- if ($_nocache || $_scope) {
- $_params .= ' ,' . var_export($_nocache, true);
- }
- if ($_scope) {
- $_params .= ' ,' . $_scope;
- }
- if (isset($parameter[ 'smarty_internal_index' ])) {
- $output =
- "tpl_vars[{$_var}]) ? \$_smarty_tpl->tpl_vars[{$_var}]->value : array();\n";
- $output .= "if (!is_array(\$_tmp_array) || \$_tmp_array instanceof ArrayAccess) {\n";
- $output .= "settype(\$_tmp_array, 'array');\n";
- $output .= "}\n";
- $output .= "\$_tmp_array{$parameter['smarty_internal_index']} = {$_attr['value']};\n";
- $output .= "\$_smarty_tpl->_assignInScope({$_var}, \$_tmp_array{$_params});?>";
- } else {
- $output = "_assignInScope({$_var}, {$_attr['value']}{$_params});?>";
- }
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block.php
deleted file mode 100755
index 8ff15d8..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block.php
+++ /dev/null
@@ -1,189 +0,0 @@
-
- */
-class Smarty_Internal_Compile_Block extends Smarty_Internal_Compile_Shared_Inheritance
-{
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $required_attributes = array('name');
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $shorttag_order = array('name');
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $option_flags = array('hide', 'nocache');
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('assign');
-
- /**
- * Compiles code for the {block} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param array $parameter array with compilation parameter
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- if (!isset($compiler->_cache[ 'blockNesting' ])) {
- $compiler->_cache[ 'blockNesting' ] = 0;
- }
- if ($compiler->_cache[ 'blockNesting' ] === 0) {
- // make sure that inheritance gets initialized in template code
- $this->registerInit($compiler);
- $this->option_flags = array('hide', 'nocache', 'append', 'prepend');
- } else {
- $this->option_flags = array('hide', 'nocache');
- }
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- ++$compiler->_cache[ 'blockNesting' ];
- $_className = 'Block_' . preg_replace('![^\w]+!', '_', uniqid(mt_rand(), true));
- $compiler->_cache[ 'blockName' ][ $compiler->_cache[ 'blockNesting' ] ] = $_attr[ 'name' ];
- $compiler->_cache[ 'blockClass' ][ $compiler->_cache[ 'blockNesting' ] ] = $_className;
- $compiler->_cache[ 'blockParams' ][ $compiler->_cache[ 'blockNesting' ] ] = array();
- $compiler->_cache[ 'blockParams' ][ 1 ][ 'subBlocks' ][ trim($_attr[ 'name' ], '"\'') ][] = $_className;
- $this->openTag(
- $compiler,
- 'block',
- array(
- $_attr, $compiler->nocache, $compiler->parser->current_buffer,
- $compiler->template->compiled->has_nocache_code,
- $compiler->template->caching
- )
- );
- $compiler->saveRequiredPlugins(true);
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template();
- $compiler->template->compiled->has_nocache_code = false;
- $compiler->suppressNocacheProcessing = true;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile BlockClose Class
- */
-class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_Compile_Shared_Inheritance
-{
- /**
- * Compiles code for the {/block} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return bool true
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- list($_attr, $_nocache, $_buffer, $_has_nocache_code, $_caching) = $this->closeTag($compiler, array('block'));
- // init block parameter
- $_block = $compiler->_cache[ 'blockParams' ][ $compiler->_cache[ 'blockNesting' ] ];
- unset($compiler->_cache[ 'blockParams' ][ $compiler->_cache[ 'blockNesting' ] ]);
- $_name = $_attr[ 'name' ];
- $_assign = isset($_attr[ 'assign' ]) ? $_attr[ 'assign' ] : null;
- unset($_attr[ 'assign' ], $_attr[ 'name' ]);
- foreach ($_attr as $name => $stat) {
- if ((is_bool($stat) && $stat !== false) || (!is_bool($stat) && $stat !== 'false')) {
- $_block[ $name ] = 'true';
- }
- }
- $_className = $compiler->_cache[ 'blockClass' ][ $compiler->_cache[ 'blockNesting' ] ];
- // get compiled block code
- $_functionCode = $compiler->parser->current_buffer;
- // setup buffer for template function code
- $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template();
- $output = " $value) {
- $output .= "public \${$property} = " . var_export($value, true) . ";\n";
- }
- $output .= "public function callBlock(Smarty_Internal_Template \$_smarty_tpl) {\n";
- $output .= $compiler->compileRequiredPlugins();
- $compiler->restoreRequiredPlugins();
- if ($compiler->template->compiled->has_nocache_code) {
- $output .= "\$_smarty_tpl->cached->hashes['{$compiler->template->compiled->nocache_hash}'] = true;\n";
- }
- if (isset($_assign)) {
- $output .= "ob_start();\n";
- }
- $output .= "?>\n";
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $output
- )
- );
- $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode);
- $output = "assign({$_assign}, ob_get_clean());\n";
- }
- $output .= "}\n";
- $output .= "}\n";
- $output .= "/* {/block {$_name}} */\n\n";
- $output .= "?>\n";
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $output
- )
- );
- $compiler->blockOrFunctionCode .= $compiler->parser->current_buffer->to_smarty_php($compiler->parser);
- $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template();
- // restore old status
- $compiler->template->compiled->has_nocache_code = $_has_nocache_code;
- $compiler->tag_nocache = $compiler->nocache;
- $compiler->nocache = $_nocache;
- $compiler->parser->current_buffer = $_buffer;
- $output = "_cache[ 'blockNesting' ] === 1) {
- $output .= "\$_smarty_tpl->inheritance->instanceBlock(\$_smarty_tpl, '$_className', $_name);\n";
- } else {
- $output .= "\$_smarty_tpl->inheritance->instanceBlock(\$_smarty_tpl, '$_className', $_name, \$this->tplIndex);\n";
- }
- $output .= "?>\n";
- --$compiler->_cache[ 'blockNesting' ];
- if ($compiler->_cache[ 'blockNesting' ] === 0) {
- unset($compiler->_cache[ 'blockNesting' ]);
- }
- $compiler->has_code = true;
- $compiler->suppressNocacheProcessing = true;
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_child.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_child.php
deleted file mode 100755
index 588d186..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_child.php
+++ /dev/null
@@ -1,24 +0,0 @@
-
- */
-class Smarty_Internal_Compile_Block_Child extends Smarty_Internal_Compile_Child
-{
- /**
- * Tag name
- *
- * @var string
- */
- public $tag = 'block_child';
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_parent.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_parent.php
deleted file mode 100755
index 97f11ca..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_parent.php
+++ /dev/null
@@ -1,31 +0,0 @@
-
- */
-class Smarty_Internal_Compile_Block_Parent extends Smarty_Internal_Compile_Child
-{
- /**
- * Tag name
- *
- * @var string
- */
- public $tag = 'block_parent';
-
- /**
- * Block type
- *
- * @var string
- */
- public $blockType = 'Parent';
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_break.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_break.php
deleted file mode 100755
index 1ee8d75..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_break.php
+++ /dev/null
@@ -1,117 +0,0 @@
-checkLevels($args, $compiler);
- $output = " 0 && $this->tag === 'continue') {
- $foreachLevels--;
- }
- if ($foreachLevels > 0) {
- /* @var Smarty_Internal_Compile_Foreach $foreachCompiler */
- $foreachCompiler = $compiler->getTagCompiler('foreach');
- $output .= $foreachCompiler->compileRestore($foreachLevels);
- }
- $output .= "{$this->tag} {$levels};?>";
- return $output;
- }
-
- /**
- * check attributes and return array of break and foreach levels
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return array
- * @throws \SmartyCompilerException
- */
- public function checkLevels($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- if ($_attr[ 'nocache' ] === true) {
- $compiler->trigger_template_error('nocache option not allowed', null, true);
- }
- if (isset($_attr[ 'levels' ])) {
- if (!is_numeric($_attr[ 'levels' ])) {
- $compiler->trigger_template_error('level attribute must be a numeric constant', null, true);
- }
- $levels = $_attr[ 'levels' ];
- } else {
- $levels = 1;
- }
- $level_count = $levels;
- $stack_count = count($compiler->_tag_stack) - 1;
- $foreachLevels = 0;
- $lastTag = '';
- while ($level_count > 0 && $stack_count >= 0) {
- if (isset($_is_loopy[ $compiler->_tag_stack[ $stack_count ][ 0 ] ])) {
- $lastTag = $compiler->_tag_stack[ $stack_count ][ 0 ];
- if ($level_count === 0) {
- break;
- }
- $level_count--;
- if ($compiler->_tag_stack[ $stack_count ][ 0 ] === 'foreach') {
- $foreachLevels++;
- }
- }
- $stack_count--;
- }
- if ($level_count !== 0) {
- $compiler->trigger_template_error("cannot {$this->tag} {$levels} level(s)", null, true);
- }
- if ($lastTag === 'foreach' && $this->tag === 'break' && $foreachLevels > 0) {
- $foreachLevels--;
- }
- return array($levels, $foreachLevels);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_call.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_call.php
deleted file mode 100755
index 445cabc..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_call.php
+++ /dev/null
@@ -1,89 +0,0 @@
-getAttributes($compiler, $args);
- // save possible attributes
- if (isset($_attr[ 'assign' ])) {
- // output will be stored in a smarty variable instead of being displayed
- $_assign = $_attr[ 'assign' ];
- }
- //$_name = trim($_attr['name'], "''");
- $_name = $_attr[ 'name' ];
- unset($_attr[ 'name' ], $_attr[ 'assign' ], $_attr[ 'nocache' ]);
- // set flag (compiled code of {function} must be included in cache file
- if (!$compiler->template->caching || $compiler->nocache || $compiler->tag_nocache) {
- $_nocache = 'true';
- } else {
- $_nocache = 'false';
- }
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $_params = 'array(' . implode(',', $_paramsArray) . ')';
- //$compiler->suppressNocacheProcessing = true;
- // was there an assign attribute
- if (isset($_assign)) {
- $_output =
- "smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});\n\$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n";
- } else {
- $_output =
- "smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});?>\n";
- }
- return $_output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_capture.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_capture.php
deleted file mode 100755
index a4ffbc9..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_capture.php
+++ /dev/null
@@ -1,105 +0,0 @@
-smarty->ext->_capture->getBuffer($_smarty_tpl' .
- (isset($parameter[ 1 ]) ? ", {$parameter[ 1 ]})" : ')');
- }
-
- /**
- * Compiles code for the {capture} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param null $parameter
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = null)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args, $parameter, 'capture');
- $buffer = isset($_attr[ 'name' ]) ? $_attr[ 'name' ] : "'default'";
- $assign = isset($_attr[ 'assign' ]) ? $_attr[ 'assign' ] : 'null';
- $append = isset($_attr[ 'append' ]) ? $_attr[ 'append' ] : 'null';
- $compiler->_cache[ 'capture_stack' ][] = array($compiler->nocache);
- // maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- $_output = "smarty->ext->_capture->open(\$_smarty_tpl, $buffer, $assign, $append);?>";
- return $_output;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Captureclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/capture} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param null $parameter
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args, $parameter, '/capture');
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- list($compiler->nocache) = array_pop($compiler->_cache[ 'capture_stack' ]);
- return "smarty->ext->_capture->close(\$_smarty_tpl);?>";
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_child.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_child.php
deleted file mode 100755
index f728c18..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_child.php
+++ /dev/null
@@ -1,79 +0,0 @@
-
- */
-class Smarty_Internal_Compile_Child extends Smarty_Internal_CompileBase
-{
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('assign');
-
- /**
- * Tag name
- *
- * @var string
- */
- public $tag = 'child';
-
- /**
- * Block type
- *
- * @var string
- */
- public $blockType = 'Child';
-
- /**
- * Compiles code for the {child} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return string compiled code
- * @throws \SmartyCompilerException
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $tag = isset($parameter[ 0 ]) ? "'{$parameter[0]}'" : "'{{$this->tag}}'";
- if (!isset($compiler->_cache[ 'blockNesting' ])) {
- $compiler->trigger_template_error(
- "{$tag} used outside {block} tags ",
- $compiler->parser->lex->taglineno
- );
- }
- $compiler->has_code = true;
- $compiler->suppressNocacheProcessing = true;
- if ($this->blockType === 'Child') {
- $compiler->_cache[ 'blockParams' ][ $compiler->_cache[ 'blockNesting' ] ][ 'callsChild' ] = 'true';
- }
- $_assign = isset($_attr[ 'assign' ]) ? $_attr[ 'assign' ] : null;
- $output = "inheritance->call' . $this->blockType . '($_smarty_tpl, $this' .
- ($this->blockType === 'Child' ? '' : ", {$tag}") . ");\n";
- if (isset($_assign)) {
- $output .= "\$_smarty_tpl->assign({$_assign}, ob_get_clean());\n";
- }
- $output .= "?>\n";
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_config_load.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_config_load.php
deleted file mode 100755
index 8fe64ee..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_config_load.php
+++ /dev/null
@@ -1,96 +0,0 @@
- Smarty::SCOPE_LOCAL, 'parent' => Smarty::SCOPE_PARENT,
- 'root' => Smarty::SCOPE_ROOT, 'tpl_root' => Smarty::SCOPE_TPL_ROOT,
- 'smarty' => Smarty::SCOPE_SMARTY, 'global' => Smarty::SCOPE_SMARTY
- );
-
- /**
- * Compiles code for the {config_load} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- * @throws \SmartyCompilerException
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- if ($_attr[ 'nocache' ] === true) {
- $compiler->trigger_template_error('nocache option not allowed', null, true);
- }
- // save possible attributes
- $conf_file = $_attr[ 'file' ];
- if (isset($_attr[ 'section' ])) {
- $section = $_attr[ 'section' ];
- } else {
- $section = 'null';
- }
- // scope setup
- if ($_attr[ 'noscope' ]) {
- $_scope = -1;
- } else {
- $_scope = $compiler->convertScope($_attr, $this->valid_scopes);
- }
- // create config object
- $_output =
- "smarty->ext->configLoad->_loadConfigFile(\$_smarty_tpl, {$conf_file}, {$section}, {$_scope});\n?>\n";
- return $_output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_continue.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_continue.php
deleted file mode 100755
index e545728..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_continue.php
+++ /dev/null
@@ -1,25 +0,0 @@
-getAttributes($compiler, $args);
- // compile always as nocache
- $compiler->tag_nocache = true;
- // display debug template
- $_output =
- "display_debug(\$_smarty_tpl);\n";
- $_output .= "unset(\$_smarty_debug);\n?>";
- return $_output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_eval.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_eval.php
deleted file mode 100755
index 8e0174e..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_eval.php
+++ /dev/null
@@ -1,70 +0,0 @@
-getAttributes($compiler, $args);
- if (isset($_attr[ 'assign' ])) {
- // output will be stored in a smarty variable instead of being displayed
- $_assign = $_attr[ 'assign' ];
- }
- // create template object
- $_output =
- "\$_template = new {$compiler->smarty->template_class}('eval:'.{$_attr[ 'var' ]}, \$_smarty_tpl->smarty, \$_smarty_tpl);";
- //was there an assign attribute?
- if (isset($_assign)) {
- $_output .= "\$_smarty_tpl->assign($_assign,\$_template->fetch());";
- } else {
- $_output .= 'echo $_template->fetch();';
- }
- return "";
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_extends.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_extends.php
deleted file mode 100755
index d72d2b7..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_extends.php
+++ /dev/null
@@ -1,158 +0,0 @@
-getAttributes($compiler, $args);
- if ($_attr[ 'nocache' ] === true) {
- $compiler->trigger_template_error('nocache option not allowed', $compiler->parser->lex->line - 1);
- }
- if (strpos($_attr[ 'file' ], '$_tmp') !== false) {
- $compiler->trigger_template_error('illegal value for file attribute', $compiler->parser->lex->line - 1);
- }
- // add code to initialize inheritance
- $this->registerInit($compiler, true);
- $file = trim($_attr[ 'file' ], '\'"');
- if (strlen($file) > 8 && substr($file, 0, 8) === 'extends:') {
- // generate code for each template
- $files = array_reverse(explode('|', substr($file, 8)));
- $i = 0;
- foreach ($files as $file) {
- if ($file[ 0 ] === '"') {
- $file = trim($file, '".');
- } else {
- $file = "'{$file}'";
- }
- $i++;
- if ($i === count($files) && isset($_attr[ 'extends_resource' ])) {
- $this->compileEndChild($compiler);
- }
- $this->compileInclude($compiler, $file);
- }
- if (!isset($_attr[ 'extends_resource' ])) {
- $this->compileEndChild($compiler);
- }
- } else {
- $this->compileEndChild($compiler, $_attr[ 'file' ]);
- }
- $compiler->has_code = false;
- return '';
- }
-
- /**
- * Add code for inheritance endChild() method to end of template
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- * @param null|string $template optional inheritance parent template
- *
- * @throws \SmartyCompilerException
- * @throws \SmartyException
- */
- private function compileEndChild(Smarty_Internal_TemplateCompilerBase $compiler, $template = null)
- {
- $inlineUids = '';
- if (isset($template) && $compiler->smarty->merge_compiled_includes) {
- $code = $compiler->compileTag('include', array($template, array('scope' => 'parent')));
- if (preg_match('/([,][\s]*[\'][a-z0-9]+[\'][,][\s]*[\']content.*[\'])[)]/', $code, $match)) {
- $inlineUids = $match[ 1 ];
- }
- }
- $compiler->parser->template_postfix[] = new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- 'inheritance->endChild($_smarty_tpl' .
- (isset($template) ?
- ", {$template}{$inlineUids}" :
- '') . ");\n?>"
- );
- }
-
- /**
- * Add code for including subtemplate to end of template
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- * @param string $template subtemplate name
- *
- * @throws \SmartyCompilerException
- * @throws \SmartyException
- */
- private function compileInclude(Smarty_Internal_TemplateCompilerBase $compiler, $template)
- {
- $compiler->parser->template_postfix[] = new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $compiler->compileTag(
- 'include',
- array(
- $template,
- array('scope' => 'parent')
- )
- )
- );
- }
-
- /**
- * Create source code for {extends} from source components array
- *
- * @param \Smarty_Internal_Template $template
- *
- * @return string
- */
- public static function extendsSourceArrayCode(Smarty_Internal_Template $template)
- {
- $resources = array();
- foreach ($template->source->components as $source) {
- $resources[] = $source->resource;
- }
- return $template->smarty->left_delimiter . 'extends file=\'extends:' . join('|', $resources) .
- '\' extends_resource=true' . $template->smarty->right_delimiter;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_for.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_for.php
deleted file mode 100755
index 3f113e5..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_for.php
+++ /dev/null
@@ -1,164 +0,0 @@
-loopNesting++;
- if ($parameter === 0) {
- $this->required_attributes = array('start', 'to');
- $this->optional_attributes = array('max', 'step');
- } else {
- $this->required_attributes = array('start', 'ifexp', 'var', 'step');
- $this->optional_attributes = array();
- }
- $this->mapCache = array();
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $output = "tpl_vars[$var] = new Smarty_Variable(null, \$_smarty_tpl->isRenderingCache);\n";
- $output .= "\$_smarty_tpl->tpl_vars[$var]->value{$index} = {$_statement['value']};\n";
- }
- if (is_array($_attr[ 'var' ])) {
- $var = $_attr[ 'var' ][ 'var' ];
- $index = $_attr[ 'var' ][ 'smarty_internal_index' ];
- } else {
- $var = $_attr[ 'var' ];
- $index = '';
- }
- $output .= "if ($_attr[ifexp]) {\nfor (\$_foo=true;$_attr[ifexp]; \$_smarty_tpl->tpl_vars[$var]->value{$index}$_attr[step]) {\n";
- } else {
- $_statement = $_attr[ 'start' ];
- if (is_array($_statement[ 'var' ])) {
- $var = $_statement[ 'var' ][ 'var' ];
- $index = $_statement[ 'var' ][ 'smarty_internal_index' ];
- } else {
- $var = $_statement[ 'var' ];
- $index = '';
- }
- $output .= "\$_smarty_tpl->tpl_vars[$var] = new Smarty_Variable(null, \$_smarty_tpl->isRenderingCache);";
- if (isset($_attr[ 'step' ])) {
- $output .= "\$_smarty_tpl->tpl_vars[$var]->step = $_attr[step];";
- } else {
- $output .= "\$_smarty_tpl->tpl_vars[$var]->step = 1;";
- }
- if (isset($_attr[ 'max' ])) {
- $output .= "\$_smarty_tpl->tpl_vars[$var]->total = (int) min(ceil((\$_smarty_tpl->tpl_vars[$var]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$var]->step)),$_attr[max]);\n";
- } else {
- $output .= "\$_smarty_tpl->tpl_vars[$var]->total = (int) ceil((\$_smarty_tpl->tpl_vars[$var]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$var]->step));\n";
- }
- $output .= "if (\$_smarty_tpl->tpl_vars[$var]->total > 0) {\n";
- $output .= "for (\$_smarty_tpl->tpl_vars[$var]->value{$index} = $_statement[value], \$_smarty_tpl->tpl_vars[$var]->iteration = 1;\$_smarty_tpl->tpl_vars[$var]->iteration <= \$_smarty_tpl->tpl_vars[$var]->total;\$_smarty_tpl->tpl_vars[$var]->value{$index} += \$_smarty_tpl->tpl_vars[$var]->step, \$_smarty_tpl->tpl_vars[$var]->iteration++) {\n";
- $output .= "\$_smarty_tpl->tpl_vars[$var]->first = \$_smarty_tpl->tpl_vars[$var]->iteration === 1;";
- $output .= "\$_smarty_tpl->tpl_vars[$var]->last = \$_smarty_tpl->tpl_vars[$var]->iteration === \$_smarty_tpl->tpl_vars[$var]->total;";
- }
- $output .= '?>';
- $this->openTag($compiler, 'for', array('for', $compiler->nocache));
- // maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- // return compiled code
- return $output;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Forelse Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Forelse extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {forelse} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- list($openTag, $nocache) = $this->closeTag($compiler, array('for'));
- $this->openTag($compiler, 'forelse', array('forelse', $nocache));
- return "";
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Forclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/for} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter)
- {
- $compiler->loopNesting--;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- list($openTag, $compiler->nocache) = $this->closeTag($compiler, array('for', 'forelse'));
- $output = "";
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_foreach.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_foreach.php
deleted file mode 100755
index 78b45ea..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_foreach.php
+++ /dev/null
@@ -1,345 +0,0 @@
-loopNesting++;
- // init
- $this->isNamed = false;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $from = $_attr[ 'from' ];
- $item = $compiler->getId($_attr[ 'item' ]);
- if ($item === false) {
- $item = $compiler->getVariableName($_attr[ 'item' ]);
- }
- $key = $name = null;
- $attributes = array('item' => $item);
- if (isset($_attr[ 'key' ])) {
- $key = $compiler->getId($_attr[ 'key' ]);
- if ($key === false) {
- $key = $compiler->getVariableName($_attr[ 'key' ]);
- }
- $attributes[ 'key' ] = $key;
- }
- if (isset($_attr[ 'name' ])) {
- $this->isNamed = true;
- $name = $attributes[ 'name' ] = $compiler->getId($_attr[ 'name' ]);
- }
- foreach ($attributes as $a => $v) {
- if ($v === false) {
- $compiler->trigger_template_error("'{$a}' attribute/variable has illegal value", null, true);
- }
- }
- $fromName = $compiler->getVariableName($_attr[ 'from' ]);
- if ($fromName) {
- foreach (array('item', 'key') as $a) {
- if (isset($attributes[ $a ]) && $attributes[ $a ] === $fromName) {
- $compiler->trigger_template_error(
- "'{$a}' and 'from' may not have same variable name '{$fromName}'",
- null,
- true
- );
- }
- }
- }
- $itemVar = "\$_smarty_tpl->tpl_vars['{$item}']";
- $local = '$__foreach_' . $attributes[ 'item' ] . '_' . $this->counter++ . '_';
- // search for used tag attributes
- $itemAttr = array();
- $namedAttr = array();
- $this->scanForProperties($attributes, $compiler);
- if (!empty($this->matchResults[ 'item' ])) {
- $itemAttr = $this->matchResults[ 'item' ];
- }
- if (!empty($this->matchResults[ 'named' ])) {
- $namedAttr = $this->matchResults[ 'named' ];
- }
- if (isset($_attr[ 'properties' ]) && preg_match_all('/[\'](.*?)[\']/', $_attr[ 'properties' ], $match)) {
- foreach ($match[ 1 ] as $prop) {
- if (in_array($prop, $this->itemProperties)) {
- $itemAttr[ $prop ] = true;
- } else {
- $compiler->trigger_template_error("Invalid property '{$prop}'", null, true);
- }
- }
- if ($this->isNamed) {
- foreach ($match[ 1 ] as $prop) {
- if (in_array($prop, $this->nameProperties)) {
- $nameAttr[ $prop ] = true;
- } else {
- $compiler->trigger_template_error("Invalid property '{$prop}'", null, true);
- }
- }
- }
- }
- if (isset($itemAttr[ 'first' ])) {
- $itemAttr[ 'index' ] = true;
- }
- if (isset($namedAttr[ 'first' ])) {
- $namedAttr[ 'index' ] = true;
- }
- if (isset($namedAttr[ 'last' ])) {
- $namedAttr[ 'iteration' ] = true;
- $namedAttr[ 'total' ] = true;
- }
- if (isset($itemAttr[ 'last' ])) {
- $itemAttr[ 'iteration' ] = true;
- $itemAttr[ 'total' ] = true;
- }
- if (isset($namedAttr[ 'show' ])) {
- $namedAttr[ 'total' ] = true;
- }
- if (isset($itemAttr[ 'show' ])) {
- $itemAttr[ 'total' ] = true;
- }
- $keyTerm = '';
- if (isset($attributes[ 'key' ])) {
- $keyTerm = "\$_smarty_tpl->tpl_vars['{$key}']->value => ";
- }
- if (isset($itemAttr[ 'key' ])) {
- $keyTerm = "{$itemVar}->key => ";
- }
- if ($this->isNamed) {
- $foreachVar = "\$_smarty_tpl->tpl_vars['__smarty_foreach_{$attributes['name']}']";
- }
- $needTotal = isset($itemAttr[ 'total' ]);
- // Register tag
- $this->openTag(
- $compiler,
- 'foreach',
- array('foreach', $compiler->nocache, $local, $itemVar, empty($itemAttr) ? 1 : 2)
- );
- // maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- // generate output code
- $output = "smarty->ext->_foreach->init(\$_smarty_tpl, $from, " .
- var_export($item, true);
- if ($name || $needTotal || $key) {
- $output .= ', ' . var_export($needTotal, true);
- }
- if ($name || $key) {
- $output .= ', ' . var_export($key, true);
- }
- if ($name) {
- $output .= ', ' . var_export($name, true) . ', ' . var_export($namedAttr, true);
- }
- $output .= ");\n";
- if (isset($itemAttr[ 'show' ])) {
- $output .= "{$itemVar}->show = ({$itemVar}->total > 0);\n";
- }
- if (isset($itemAttr[ 'iteration' ])) {
- $output .= "{$itemVar}->iteration = 0;\n";
- }
- if (isset($itemAttr[ 'index' ])) {
- $output .= "{$itemVar}->index = -1;\n";
- }
- $output .= "if (\$_from !== null) {\n";
- $output .= "foreach (\$_from as {$keyTerm}{$itemVar}->value) {\n";
- if (isset($attributes[ 'key' ]) && isset($itemAttr[ 'key' ])) {
- $output .= "\$_smarty_tpl->tpl_vars['{$key}']->value = {$itemVar}->key;\n";
- }
- if (isset($itemAttr[ 'iteration' ])) {
- $output .= "{$itemVar}->iteration++;\n";
- }
- if (isset($itemAttr[ 'index' ])) {
- $output .= "{$itemVar}->index++;\n";
- }
- if (isset($itemAttr[ 'first' ])) {
- $output .= "{$itemVar}->first = !{$itemVar}->index;\n";
- }
- if (isset($itemAttr[ 'last' ])) {
- $output .= "{$itemVar}->last = {$itemVar}->iteration === {$itemVar}->total;\n";
- }
- if (isset($foreachVar)) {
- if (isset($namedAttr[ 'iteration' ])) {
- $output .= "{$foreachVar}->value['iteration']++;\n";
- }
- if (isset($namedAttr[ 'index' ])) {
- $output .= "{$foreachVar}->value['index']++;\n";
- }
- if (isset($namedAttr[ 'first' ])) {
- $output .= "{$foreachVar}->value['first'] = !{$foreachVar}->value['index'];\n";
- }
- if (isset($namedAttr[ 'last' ])) {
- $output .= "{$foreachVar}->value['last'] = {$foreachVar}->value['iteration'] === {$foreachVar}->value['total'];\n";
- }
- }
- if (!empty($itemAttr)) {
- $output .= "{$local}saved = {$itemVar};\n";
- }
- $output .= '?>';
- return $output;
- }
-
- /**
- * Compiles code for to restore saved template variables
- *
- * @param int $levels number of levels to restore
- *
- * @return string compiled code
- */
- public function compileRestore($levels)
- {
- return "\$_smarty_tpl->smarty->ext->_foreach->restore(\$_smarty_tpl, {$levels});";
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Foreachelse Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {foreachelse} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- list($openTag, $nocache, $local, $itemVar, $restore) = $this->closeTag($compiler, array('foreach'));
- $this->openTag($compiler, 'foreachelse', array('foreachelse', $nocache, $local, $itemVar, 0));
- $output = "";
- return $output;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Foreachclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/foreach} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- * @throws \SmartyCompilerException
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $compiler->loopNesting--;
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- list(
- $openTag, $compiler->nocache, $local, $itemVar, $restore
- ) = $this->closeTag($compiler, array('foreach', 'foreachelse'));
- $output = " 0) {
- $output .= "}\n";
- }
- $output .= "}\n";
- /* @var Smarty_Internal_Compile_Foreach $foreachCompiler */
- $foreachCompiler = $compiler->getTagCompiler('foreach');
- $output .= $foreachCompiler->compileRestore(1);
- $output .= "?>";
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_function.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_function.php
deleted file mode 100755
index 6e408ca..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_function.php
+++ /dev/null
@@ -1,231 +0,0 @@
-getAttributes($compiler, $args);
- if ($_attr[ 'nocache' ] === true) {
- $compiler->trigger_template_error('nocache option not allowed', null, true);
- }
- unset($_attr[ 'nocache' ]);
- $_name = trim($_attr[ 'name' ], '\'"');
- $compiler->parent_compiler->tpl_function[ $_name ] = array();
- $save = array(
- $_attr, $compiler->parser->current_buffer, $compiler->template->compiled->has_nocache_code,
- $compiler->template->caching
- );
- $this->openTag($compiler, 'function', $save);
- // Init temporary context
- $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template();
- $compiler->template->compiled->has_nocache_code = false;
- $compiler->saveRequiredPlugins(true);
- return true;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Functionclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiler object
- *
- * @var object
- */
- private $compiler = null;
-
- /**
- * Compiles code for the {/function} tag
- *
- * @param array $args array with attributes from parser
- * @param object|\Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return bool true
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $this->compiler = $compiler;
- $saved_data = $this->closeTag($compiler, array('function'));
- $_attr = $saved_data[ 0 ];
- $_name = trim($_attr[ 'name' ], '\'"');
- $compiler->parent_compiler->tpl_function[ $_name ][ 'compiled_filepath' ] =
- $compiler->parent_compiler->template->compiled->filepath;
- $compiler->parent_compiler->tpl_function[ $_name ][ 'uid' ] = $compiler->template->source->uid;
- $_parameter = $_attr;
- unset($_parameter[ 'name' ]);
- // default parameter
- $_paramsArray = array();
- foreach ($_parameter as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- if (!empty($_paramsArray)) {
- $_params = 'array(' . implode(',', $_paramsArray) . ')';
- $_paramsCode = "\$params = array_merge($_params, \$params);\n";
- } else {
- $_paramsCode = '';
- }
- $_functionCode = $compiler->parser->current_buffer;
- // setup buffer for template function code
- $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template();
- $_funcName = "smarty_template_function_{$_name}_{$compiler->template->compiled->nocache_hash}";
- $_funcNameCaching = $_funcName . '_nocache';
- if ($compiler->template->compiled->has_nocache_code) {
- $compiler->parent_compiler->tpl_function[ $_name ][ 'call_name_caching' ] = $_funcNameCaching;
- $output = "compileRequiredPlugins();
- $output .= "\$_smarty_tpl->compiled->has_nocache_code = true;\n";
- $output .= $_paramsCode;
- $output .= "foreach (\$params as \$key => \$value) {\n\$_smarty_tpl->tpl_vars[\$key] = new Smarty_Variable(\$value, \$_smarty_tpl->isRenderingCache);\n}\n";
- $output .= "\$params = var_export(\$params, true);\n";
- $output .= "echo \"/*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/smarty->ext->_tplFunction->saveTemplateVariables(\\\$_smarty_tpl, '{$_name}');\nforeach (\$params as \\\$key => \\\$value) {\n\\\$_smarty_tpl->tpl_vars[\\\$key] = new Smarty_Variable(\\\$value, \\\$_smarty_tpl->isRenderingCache);\n}\n?>";
- $output .= "/*/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\";?>";
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $output
- )
- );
- $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode);
- $output = "template->compiled->nocache_hash}%%*/smarty->ext->_tplFunction->restoreTemplateVariables(\\\$_smarty_tpl, '{$_name}');?>\n";
- $output .= "/*/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\";\n?>";
- $output .= "template->compiled->nocache_hash}', \$_smarty_tpl->compiled->nocache_hash, ob_get_clean());\n";
- $output .= "}\n}\n";
- $output .= "/*/ {$_funcName}_nocache */\n\n";
- $output .= "?>\n";
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $output
- )
- );
- $_functionCode = new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- preg_replace_callback(
- "/((<\?php )?echo '\/\*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%\*\/([\S\s]*?)\/\*\/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%\*\/';(\?>\n)?)/",
- array($this, 'removeNocache'),
- $_functionCode->to_smarty_php($compiler->parser)
- )
- );
- }
- $compiler->parent_compiler->tpl_function[ $_name ][ 'call_name' ] = $_funcName;
- $output = " \$value) {\n\$_smarty_tpl->tpl_vars[\$key] = new Smarty_Variable(\$value, \$_smarty_tpl->isRenderingCache);\n}\n";
- $output .= $compiler->compileCheckPlugins(array_merge($compiler->required_plugins[ 'compiled' ],
- $compiler->required_plugins[ 'nocache' ]));
- $output .= "?>\n";
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $output
- )
- );
- $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode);
- $output = "\n";
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $output
- )
- );
- $compiler->parent_compiler->blockOrFunctionCode .= $compiler->parser->current_buffer->to_smarty_php($compiler->parser);
- // restore old buffer
- $compiler->parser->current_buffer = $saved_data[ 1 ];
- // restore old status
- $compiler->restoreRequiredPlugins();
- $compiler->template->compiled->has_nocache_code = $saved_data[ 2 ];
- $compiler->template->caching = $saved_data[ 3 ];
- return true;
- }
-
- /**
- * Remove nocache code
- *
- * @param $match
- *
- * @return string
- */
- public function removeNocache($match)
- {
- $code =
- preg_replace(
- "/((<\?php )?echo '\/\*%%SmartyNocache:{$this->compiler->template->compiled->nocache_hash}%%\*\/)|(\/\*\/%%SmartyNocache:{$this->compiler->template->compiled->nocache_hash}%%\*\/';(\?>\n)?)/",
- '',
- $match[ 0 ]
- );
- $code = str_replace(array('\\\'', '\\\\\''), array('\'', '\\\''), $code);
- return $code;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_if.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_if.php
deleted file mode 100755
index df3dc3f..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_if.php
+++ /dev/null
@@ -1,207 +0,0 @@
-getAttributes($compiler, $args);
- $this->openTag($compiler, 'if', array(1, $compiler->nocache));
- // must whole block be nocache ?
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- if (!isset($parameter[ 'if condition' ])) {
- $compiler->trigger_template_error('missing if condition', null, true);
- }
- if (is_array($parameter[ 'if condition' ])) {
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $var = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- } else {
- $var = $parameter[ 'if condition' ][ 'var' ];
- }
- if ($compiler->nocache) {
- // create nocache var to make it know for further compiling
- $compiler->setNocacheInVariable($var);
- }
- $prefixVar = $compiler->getNewPrefixVariable();
- $_output = "\n";
- $assignAttr = array();
- $assignAttr[][ 'value' ] = $prefixVar;
- $assignCompiler = new Smarty_Internal_Compile_Assign();
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- $_output .= $assignCompiler->compile(
- $assignAttr,
- $compiler,
- array('smarty_internal_index' => $parameter[ 'if condition' ][ 'var' ][ 'smarty_internal_index' ])
- );
- } else {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ];
- $_output .= $assignCompiler->compile($assignAttr, $compiler, array());
- }
- $_output .= "";
- return $_output;
- } else {
- return "";
- }
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Else Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Else extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {else} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif'));
- $this->openTag($compiler, 'else', array($nesting, $compiler->tag_nocache));
- return '';
- }
-}
-
-/**
- * Smarty Internal Plugin Compile ElseIf Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {elseif} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return string compiled code
- * @throws \SmartyCompilerException
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif'));
- if (!isset($parameter[ 'if condition' ])) {
- $compiler->trigger_template_error('missing elseif condition', null, true);
- }
- $assignCode = '';
- $var = '';
- if (is_array($parameter[ 'if condition' ])) {
- $condition_by_assign = true;
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $var = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- } else {
- $var = $parameter[ 'if condition' ][ 'var' ];
- }
- if ($compiler->nocache) {
- // create nocache var to make it know for further compiling
- $compiler->setNocacheInVariable($var);
- }
- $prefixVar = $compiler->getNewPrefixVariable();
- $assignCode = "\n";
- $assignCompiler = new Smarty_Internal_Compile_Assign();
- $assignAttr = array();
- $assignAttr[][ 'value' ] = $prefixVar;
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- $assignCode .= $assignCompiler->compile(
- $assignAttr,
- $compiler,
- array('smarty_internal_index' => $parameter[ 'if condition' ][ 'var' ][ 'smarty_internal_index' ])
- );
- } else {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ];
- $assignCode .= $assignCompiler->compile($assignAttr, $compiler, array());
- }
- } else {
- $condition_by_assign = false;
- }
- $prefixCode = $compiler->getPrefixCode();
- if (empty($prefixCode)) {
- if ($condition_by_assign) {
- $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache));
- $_output = $compiler->appendCode("", $assignCode);
- return $compiler->appendCode($_output, "");
- } else {
- $this->openTag($compiler, 'elseif', array($nesting, $compiler->tag_nocache));
- return "";
- }
- } else {
- $_output = $compiler->appendCode("", $prefixCode);
- $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache));
- if ($condition_by_assign) {
- $_output = $compiler->appendCode($_output, $assignCode);
- return $compiler->appendCode($_output, "");
- } else {
- return $compiler->appendCode($_output, "");
- }
- }
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Ifclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/if} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- list($nesting, $compiler->nocache) = $this->closeTag($compiler, array('if', 'else', 'elseif'));
- $tmp = '';
- for ($i = 0; $i < $nesting; $i++) {
- $tmp .= '}';
- }
- return "";
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include.php
deleted file mode 100755
index 716c91d..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include.php
+++ /dev/null
@@ -1,347 +0,0 @@
- Smarty::SCOPE_PARENT, 'root' => Smarty::SCOPE_ROOT,
- 'global' => Smarty::SCOPE_GLOBAL, 'tpl_root' => Smarty::SCOPE_TPL_ROOT,
- 'smarty' => Smarty::SCOPE_SMARTY
- );
-
- /**
- * Compiles code for the {include} tag
- *
- * @param array $args array with attributes from parser
- * @param Smarty_Internal_SmartyTemplateCompiler $compiler compiler object
- *
- * @return string
- * @throws \Exception
- * @throws \SmartyCompilerException
- * @throws \SmartyException
- */
- public function compile($args, Smarty_Internal_SmartyTemplateCompiler $compiler)
- {
- $uid = $t_hash = null;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $fullResourceName = $source_resource = $_attr[ 'file' ];
- $variable_template = false;
- $cache_tpl = false;
- // parse resource_name
- if (preg_match('/^([\'"])(([A-Za-z0-9_\-]{2,})[:])?(([^$()]+)|(.+))\1$/', $source_resource, $match)) {
- $type = !empty($match[ 3 ]) ? $match[ 3 ] : $compiler->template->smarty->default_resource_type;
- $name = !empty($match[ 5 ]) ? $match[ 5 ] : $match[ 6 ];
- $handler = Smarty_Resource::load($compiler->smarty, $type);
- if ($handler->recompiled || $handler->uncompiled) {
- $variable_template = true;
- }
- if (!$variable_template) {
- if ($type !== 'string') {
- $fullResourceName = "{$type}:{$name}";
- $compiled = $compiler->parent_compiler->template->compiled;
- if (isset($compiled->includes[ $fullResourceName ])) {
- $compiled->includes[ $fullResourceName ]++;
- $cache_tpl = true;
- } else {
- if ("{$compiler->template->source->type}:{$compiler->template->source->name}" ==
- $fullResourceName
- ) {
- // recursive call of current template
- $compiled->includes[ $fullResourceName ] = 2;
- $cache_tpl = true;
- } else {
- $compiled->includes[ $fullResourceName ] = 1;
- }
- }
- $fullResourceName = $match[ 1 ] . $fullResourceName . $match[ 1 ];
- }
- }
- if (empty($match[ 5 ])) {
- $variable_template = true;
- }
- } else {
- $variable_template = true;
- }
- // scope setup
- $_scope = $compiler->convertScope($_attr, $this->valid_scopes);
- // set flag to cache subtemplate object when called within loop or template name is variable.
- if ($cache_tpl || $variable_template || $compiler->loopNesting > 0) {
- $_cache_tpl = 'true';
- } else {
- $_cache_tpl = 'false';
- }
- // assume caching is off
- $_caching = Smarty::CACHING_OFF;
- $call_nocache = $compiler->tag_nocache || $compiler->nocache;
- // caching was on and {include} is not in nocache mode
- if ($compiler->template->caching && !$compiler->nocache && !$compiler->tag_nocache) {
- $_caching = self::CACHING_NOCACHE_CODE;
- }
- // flag if included template code should be merged into caller
- $merge_compiled_includes = ($compiler->smarty->merge_compiled_includes || $_attr[ 'inline' ] === true) &&
- !$compiler->template->source->handler->recompiled;
- if ($merge_compiled_includes) {
- // variable template name ?
- if ($variable_template) {
- $merge_compiled_includes = false;
- }
- // variable compile_id?
- if (isset($_attr[ 'compile_id' ]) && $compiler->isVariable($_attr[ 'compile_id' ])) {
- $merge_compiled_includes = false;
- }
- }
- /*
- * if the {include} tag provides individual parameter for caching or compile_id
- * the subtemplate must not be included into the common cache file and is treated like
- * a call in nocache mode.
- *
- */
- if ($_attr[ 'nocache' ] !== true && $_attr[ 'caching' ]) {
- $_caching = $_new_caching = (int)$_attr[ 'caching' ];
- $call_nocache = true;
- } else {
- $_new_caching = Smarty::CACHING_LIFETIME_CURRENT;
- }
- if (isset($_attr[ 'cache_lifetime' ])) {
- $_cache_lifetime = $_attr[ 'cache_lifetime' ];
- $call_nocache = true;
- $_caching = $_new_caching;
- } else {
- $_cache_lifetime = '$_smarty_tpl->cache_lifetime';
- }
- if (isset($_attr[ 'cache_id' ])) {
- $_cache_id = $_attr[ 'cache_id' ];
- $call_nocache = true;
- $_caching = $_new_caching;
- } else {
- $_cache_id = '$_smarty_tpl->cache_id';
- }
- if (isset($_attr[ 'compile_id' ])) {
- $_compile_id = $_attr[ 'compile_id' ];
- } else {
- $_compile_id = '$_smarty_tpl->compile_id';
- }
- // if subtemplate will be called in nocache mode do not merge
- if ($compiler->template->caching && $call_nocache) {
- $merge_compiled_includes = false;
- }
- // assign attribute
- if (isset($_attr[ 'assign' ])) {
- // output will be stored in a smarty variable instead of being displayed
- if ($_assign = $compiler->getId($_attr[ 'assign' ])) {
- $_assign = "'{$_assign}'";
- if ($compiler->tag_nocache || $compiler->nocache || $call_nocache) {
- // create nocache var to make it know for further compiling
- $compiler->setNocacheInVariable($_attr[ 'assign' ]);
- }
- } else {
- $_assign = $_attr[ 'assign' ];
- }
- }
- $has_compiled_template = false;
- if ($merge_compiled_includes) {
- $c_id = isset($_attr[ 'compile_id' ]) ? $_attr[ 'compile_id' ] : $compiler->template->compile_id;
- // we must observe different compile_id and caching
- $t_hash = sha1($c_id . ($_caching ? '--caching' : '--nocaching'));
- $compiler->smarty->allow_ambiguous_resources = true;
- /* @var Smarty_Internal_Template $tpl */
- $tpl = new $compiler->smarty->template_class(
- trim($fullResourceName, '"\''),
- $compiler->smarty,
- $compiler->template,
- $compiler->template->cache_id,
- $c_id,
- $_caching
- );
- $uid = $tpl->source->type . $tpl->source->uid;
- if (!isset($compiler->parent_compiler->mergedSubTemplatesData[ $uid ][ $t_hash ])) {
- $has_compiled_template = $this->compileInlineTemplate($compiler, $tpl, $t_hash);
- } else {
- $has_compiled_template = true;
- }
- unset($tpl);
- }
- // delete {include} standard attributes
- unset($_attr[ 'file' ], $_attr[ 'assign' ], $_attr[ 'cache_id' ], $_attr[ 'compile_id' ], $_attr[ 'cache_lifetime' ], $_attr[ 'nocache' ], $_attr[ 'caching' ], $_attr[ 'scope' ], $_attr[ 'inline' ]);
- // remaining attributes must be assigned as smarty variable
- $_vars = 'array()';
- if (!empty($_attr)) {
- $_pairs = array();
- // create variables
- foreach ($_attr as $key => $value) {
- $_pairs[] = "'$key'=>$value";
- }
- $_vars = 'array(' . join(',', $_pairs) . ')';
- }
- $update_compile_id = $compiler->template->caching && !$compiler->tag_nocache && !$compiler->nocache &&
- $_compile_id !== '$_smarty_tpl->compile_id';
- if ($has_compiled_template && !$call_nocache) {
- $_output = "makeNocacheCode("\$_compile_id_save[] = \$_smarty_tpl->compile_id;\n\$_smarty_tpl->compile_id = {$_compile_id};\n");
- }
- if (!empty($_attr) && $_caching === 9999 && $compiler->template->caching) {
- $_vars_nc = "foreach ($_vars as \$ik => \$iv) {\n";
- $_vars_nc .= "\$_smarty_tpl->tpl_vars[\$ik] = new Smarty_Variable(\$iv);\n";
- $_vars_nc .= "}\n";
- $_output .= substr($compiler->processNocacheCode('\n", true), 6, -3);
- }
- if (isset($_assign)) {
- $_output .= "ob_start();\n";
- }
- $_output .= "\$_smarty_tpl->_subTemplateRender({$fullResourceName}, {$_cache_id}, {$_compile_id}, {$_caching}, {$_cache_lifetime}, {$_vars}, {$_scope}, {$_cache_tpl}, '{$compiler->parent_compiler->mergedSubTemplatesData[$uid][$t_hash]['uid']}', '{$compiler->parent_compiler->mergedSubTemplatesData[$uid][$t_hash]['func']}');\n";
- if (isset($_assign)) {
- $_output .= "\$_smarty_tpl->assign({$_assign}, ob_get_clean());\n";
- }
- if ($update_compile_id) {
- $_output .= $compiler->makeNocacheCode("\$_smarty_tpl->compile_id = array_pop(\$_compile_id_save);\n");
- }
- $_output .= "?>";
- return $_output;
- }
- if ($call_nocache) {
- $compiler->tag_nocache = true;
- }
- $_output = "compile_id;\n\$_smarty_tpl->compile_id = {$_compile_id};\n";
- }
- // was there an assign attribute
- if (isset($_assign)) {
- $_output .= "ob_start();\n";
- }
- $_output .= "\$_smarty_tpl->_subTemplateRender({$fullResourceName}, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_scope, {$_cache_tpl});\n";
- if (isset($_assign)) {
- $_output .= "\$_smarty_tpl->assign({$_assign}, ob_get_clean());\n";
- }
- if ($update_compile_id) {
- $_output .= "\$_smarty_tpl->compile_id = array_pop(\$_compile_id_save);\n";
- }
- $_output .= "?>";
- return $_output;
- }
-
- /**
- * Compile inline sub template
- *
- * @param \Smarty_Internal_SmartyTemplateCompiler $compiler
- * @param \Smarty_Internal_Template $tpl
- * @param string $t_hash
- *
- * @return bool
- * @throws \Exception
- * @throws \SmartyException
- */
- public function compileInlineTemplate(
- Smarty_Internal_SmartyTemplateCompiler $compiler,
- Smarty_Internal_Template $tpl,
- $t_hash
- ) {
- $uid = $tpl->source->type . $tpl->source->uid;
- if (!($tpl->source->handler->uncompiled) && $tpl->source->exists) {
- $compiler->parent_compiler->mergedSubTemplatesData[ $uid ][ $t_hash ][ 'uid' ] = $tpl->source->uid;
- if (isset($compiler->template->inheritance)) {
- $tpl->inheritance = clone $compiler->template->inheritance;
- }
- $tpl->compiled = new Smarty_Template_Compiled();
- $tpl->compiled->nocache_hash = $compiler->parent_compiler->template->compiled->nocache_hash;
- $tpl->loadCompiler();
- // save unique function name
- $compiler->parent_compiler->mergedSubTemplatesData[ $uid ][ $t_hash ][ 'func' ] =
- $tpl->compiled->unifunc = 'content_' . str_replace(array('.', ','), '_', uniqid('', true));
- // make sure whole chain gets compiled
- $tpl->mustCompile = true;
- $compiler->parent_compiler->mergedSubTemplatesData[ $uid ][ $t_hash ][ 'nocache_hash' ] =
- $tpl->compiled->nocache_hash;
- if ($tpl->source->type === 'file') {
- $sourceInfo = $tpl->source->filepath;
- } else {
- $basename = $tpl->source->handler->getBasename($tpl->source);
- $sourceInfo = $tpl->source->type . ':' .
- ($basename ? $basename : $tpl->source->name);
- }
- // get compiled code
- $compiled_code = "compiled->unifunc} (Smarty_Internal_Template \$_smarty_tpl) {\n";
- $compiled_code .= "?>\n" . $tpl->compiler->compileTemplateSource($tpl, null, $compiler->parent_compiler);
- $compiled_code .= "\n";
- $compiled_code .= $tpl->compiler->postFilter($tpl->compiler->blockOrFunctionCode);
- $compiled_code .= "';
- unset($tpl->compiler);
- if ($tpl->compiled->has_nocache_code) {
- // replace nocache_hash
- $compiled_code =
- str_replace(
- "{$tpl->compiled->nocache_hash}",
- $compiler->template->compiled->nocache_hash,
- $compiled_code
- );
- $compiler->template->compiled->has_nocache_code = true;
- }
- $compiler->parent_compiler->mergedSubTemplatesCode[ $tpl->compiled->unifunc ] = $compiled_code;
- return true;
- } else {
- return false;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include_php.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include_php.php
deleted file mode 100755
index 1b0fdaa..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include_php.php
+++ /dev/null
@@ -1,110 +0,0 @@
-smarty instanceof SmartyBC)) {
- throw new SmartyException("{include_php} is deprecated, use SmartyBC class to enable");
- }
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- /**
- *
- *
- * @var Smarty_Internal_Template $_smarty_tpl
- * used in evaluated code
- */
- $_smarty_tpl = $compiler->template;
- $_filepath = false;
- $_file = null;
- eval('$_file = @' . $_attr[ 'file' ] . ';');
- if (!isset($compiler->smarty->security_policy) && file_exists($_file)) {
- $_filepath = $compiler->smarty->_realpath($_file, true);
- } else {
- if (isset($compiler->smarty->security_policy)) {
- $_dir = $compiler->smarty->security_policy->trusted_dir;
- } else {
- $_dir = $compiler->smarty->trusted_dir;
- }
- if (!empty($_dir)) {
- foreach ((array)$_dir as $_script_dir) {
- $_path = $compiler->smarty->_realpath($_script_dir . DIRECTORY_SEPARATOR . $_file, true);
- if (file_exists($_path)) {
- $_filepath = $_path;
- break;
- }
- }
- }
- }
- if ($_filepath === false) {
- $compiler->trigger_template_error("{include_php} file '{$_file}' is not readable", null, true);
- }
- if (isset($compiler->smarty->security_policy)) {
- $compiler->smarty->security_policy->isTrustedPHPDir($_filepath);
- }
- if (isset($_attr[ 'assign' ])) {
- // output will be stored in a smarty variable instead of being displayed
- $_assign = $_attr[ 'assign' ];
- }
- $_once = '_once';
- if (isset($_attr[ 'once' ])) {
- if ($_attr[ 'once' ] === 'false') {
- $_once = '';
- }
- }
- if (isset($_assign)) {
- return "assign({$_assign},ob_get_clean());\n?>";
- } else {
- return "\n";
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_insert.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_insert.php
deleted file mode 100755
index 56fbc56..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_insert.php
+++ /dev/null
@@ -1,156 +0,0 @@
-getAttributes($compiler, $args);
- $nocacheParam = $compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache);
- if (!$nocacheParam) {
- // do not compile as nocache code
- $compiler->suppressNocacheProcessing = true;
- }
- $compiler->tag_nocache = true;
- $_smarty_tpl = $compiler->template;
- $_name = null;
- $_script = null;
- $_output = 'template->tpl_vars[ $var ])) {
- $compiler->template->tpl_vars[ $var ]->nocache = true;
- } else {
- $compiler->template->tpl_vars[ $var ] = new Smarty_Variable(null, true);
- }
- }
- if (isset($_attr[ 'script' ])) {
- // script which must be included
- $_function = "smarty_insert_{$_name}";
- $_smarty_tpl = $compiler->template;
- $_filepath = false;
- eval('$_script = @' . $_attr[ 'script' ] . ';');
- if (!isset($compiler->smarty->security_policy) && file_exists($_script)) {
- $_filepath = $_script;
- } else {
- if (isset($compiler->smarty->security_policy)) {
- $_dir = $compiler->smarty->security_policy->trusted_dir;
- } else {
- $_dir = $compiler->smarty instanceof SmartyBC ? $compiler->smarty->trusted_dir : null;
- }
- if (!empty($_dir)) {
- foreach ((array)$_dir as $_script_dir) {
- $_script_dir = rtrim($_script_dir, '/\\') . DIRECTORY_SEPARATOR;
- if (file_exists($_script_dir . $_script)) {
- $_filepath = $_script_dir . $_script;
- break;
- }
- }
- }
- }
- if ($_filepath === false) {
- $compiler->trigger_template_error("{insert} missing script file '{$_script}'", null, true);
- }
- // code for script file loading
- $_output .= "require_once '{$_filepath}' ;";
- include_once $_filepath;
- if (!is_callable($_function)) {
- $compiler->trigger_template_error(
- " {insert} function '{$_function}' is not callable in script file '{$_script}'",
- null,
- true
- );
- }
- } else {
- $_filepath = 'null';
- $_function = "insert_{$_name}";
- // function in PHP script ?
- if (!is_callable($_function)) {
- // try plugin
- if (!$_function = $compiler->getPlugin($_name, 'insert')) {
- $compiler->trigger_template_error(
- "{insert} no function or plugin found for '{$_name}'",
- null,
- true
- );
- }
- }
- }
- // delete {insert} standard attributes
- unset($_attr[ 'name' ], $_attr[ 'assign' ], $_attr[ 'script' ], $_attr[ 'nocache' ]);
- // convert attributes into parameter array string
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- $_paramsArray[] = "'$_key' => $_value";
- }
- $_params = 'array(' . implode(", ", $_paramsArray) . ')';
- // call insert
- if (isset($_assign)) {
- if ($_smarty_tpl->caching && !$nocacheParam) {
- $_output .= "echo Smarty_Internal_Nocache_Insert::compile ('{$_function}',{$_params}, \$_smarty_tpl, '{$_filepath}',{$_assign});?>";
- } else {
- $_output .= "\$_smarty_tpl->assign({$_assign} , {$_function} ({$_params},\$_smarty_tpl), true);?>";
- }
- } else {
- if ($_smarty_tpl->caching && !$nocacheParam) {
- $_output .= "echo Smarty_Internal_Nocache_Insert::compile ('{$_function}',{$_params}, \$_smarty_tpl, '{$_filepath}');?>";
- } else {
- $_output .= "echo {$_function}({$_params},\$_smarty_tpl);?>";
- }
- }
- return $_output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_ldelim.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_ldelim.php
deleted file mode 100755
index 5493d4e..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_ldelim.php
+++ /dev/null
@@ -1,37 +0,0 @@
-getAttributes($compiler, $args);
- if ($_attr[ 'nocache' ] === true) {
- $compiler->trigger_template_error('nocache option not allowed', null, true);
- }
- return $compiler->smarty->left_delimiter;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_make_nocache.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_make_nocache.php
deleted file mode 100755
index 8a34ccd..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_make_nocache.php
+++ /dev/null
@@ -1,62 +0,0 @@
-getAttributes($compiler, $args);
- if ($compiler->template->caching) {
- $output = "smarty->ext->_make_nocache->save(\$_smarty_tpl, {$_attr[ 'var' ]});\n?>\n";
- $compiler->template->compiled->has_nocache_code = true;
- $compiler->suppressNocacheProcessing = true;
- return $output;
- } else {
- return true;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_nocache.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_nocache.php
deleted file mode 100755
index 12f64ed..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_nocache.php
+++ /dev/null
@@ -1,73 +0,0 @@
-getAttributes($compiler, $args);
- $this->openTag($compiler, 'nocache', array($compiler->nocache));
- // enter nocache mode
- $compiler->nocache = true;
- // this tag does not return compiled code
- $compiler->has_code = false;
- return true;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Nocacheclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/nocache} tag
- * This tag does not generate compiled output. It only sets a compiler flag.
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return bool
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $_attr = $this->getAttributes($compiler, $args);
- // leave nocache mode
- list($compiler->nocache) = $this->closeTag($compiler, array('nocache'));
- // this tag does not return compiled code
- $compiler->has_code = false;
- return true;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_parent.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_parent.php
deleted file mode 100755
index ff23edf..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_parent.php
+++ /dev/null
@@ -1,31 +0,0 @@
-
- */
-class Smarty_Internal_Compile_Parent extends Smarty_Internal_Compile_Child
-{
- /**
- * Tag name
- *
- * @var string
- */
- public $tag = 'parent';
-
- /**
- * Block type
- *
- * @var string
- */
- public $blockType = 'Parent';
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_block_plugin.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_block_plugin.php
deleted file mode 100755
index 199a296..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_block_plugin.php
+++ /dev/null
@@ -1,124 +0,0 @@
-getAttributes($compiler, $args);
- $this->nesting++;
- unset($_attr[ 'nocache' ]);
- list($callback, $_paramsArray, $callable) = $this->setup($compiler, $_attr, $tag, $function);
- $_params = 'array(' . implode(',', $_paramsArray) . ')';
- // compile code
- $output = "nesting} = isset({$callback[0]}) ? {$callback[0]} : null;\n";
- $callback = "\$_block_plugin{$this->nesting}{$callback[1]}";
- }
- if (isset($callable)) {
- $output .= "if (!is_callable({$callable})) {\nthrow new SmartyException('block tag \'{$tag}\' not callable or registered');\n}\n";
- }
- $output .= "\$_smarty_tpl->smarty->_cache['_tag_stack'][] = array('{$tag}', {$_params});\n";
- $output .= "\$_block_repeat=true;\necho {$callback}({$_params}, null, \$_smarty_tpl, \$_block_repeat);\nwhile (\$_block_repeat) {\nob_start();?>";
- $this->openTag($compiler, $tag, array($_params, $compiler->nocache, $callback));
- // maybe nocache because of nocache variables or nocache plugin
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- } else {
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- // closing tag of block plugin, restore nocache
- list($_params, $compiler->nocache, $callback) = $this->closeTag($compiler, substr($tag, 0, -5));
- // compile code
- if (!isset($parameter[ 'modifier_list' ])) {
- $mod_pre = $mod_post = $mod_content = '';
- $mod_content2 = 'ob_get_clean()';
- } else {
- $mod_content2 = "\$_block_content{$this->nesting}";
- $mod_content = "\$_block_content{$this->nesting} = ob_get_clean();\n";
- $mod_pre = "ob_start();\n";
- $mod_post = 'echo ' . $compiler->compileTag(
- 'private_modifier',
- array(),
- array(
- 'modifierlist' => $parameter[ 'modifier_list' ],
- 'value' => 'ob_get_clean()'
- )
- ) . ";\n";
- }
- $output =
- "smarty->_cache[\'_tag_stack\']);?>';
- }
- return $output;
- }
-
- /**
- * Setup callback and parameter array
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- * @param array $_attr attributes
- * @param string $tag
- * @param string $function
- *
- * @return array
- */
- public function setup(Smarty_Internal_TemplateCompilerBase $compiler, $_attr, $tag, $function)
- {
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- return array($function, $_paramsArray, null);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_foreachsection.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_foreachsection.php
deleted file mode 100755
index d3aab24..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_foreachsection.php
+++ /dev/null
@@ -1,228 +0,0 @@
-propertyPreg = '~(';
- $this->startOffset = 1;
- $this->resultOffsets = array();
- $this->matchResults = array('named' => array(), 'item' => array());
- if (isset($attributes[ 'name' ])) {
- $this->buildPropertyPreg(true, $attributes);
- }
- if (isset($this->itemProperties)) {
- if ($this->isNamed) {
- $this->propertyPreg .= '|';
- }
- $this->buildPropertyPreg(false, $attributes);
- }
- $this->propertyPreg .= ')\W~i';
- // Template source
- $this->matchTemplateSource($compiler);
- // Parent template source
- $this->matchParentTemplateSource($compiler);
- // {block} source
- $this->matchBlockSource($compiler);
- }
-
- /**
- * Build property preg string
- *
- * @param bool $named
- * @param array $attributes
- */
- public function buildPropertyPreg($named, $attributes)
- {
- if ($named) {
- $this->resultOffsets[ 'named' ] = $this->startOffset = $this->startOffset + 3;
- $this->propertyPreg .= "(([\$]smarty[.]{$this->tagName}[.]" .
- ($this->tagName === 'section' ? "|[\[]\s*" : '') .
- "){$attributes['name']}[.](";
- $properties = $this->nameProperties;
- } else {
- $this->resultOffsets[ 'item' ] = $this->startOffset = $this->startOffset + 2;
- $this->propertyPreg .= "([\$]{$attributes['item']}[@](";
- $properties = $this->itemProperties;
- }
- $propName = reset($properties);
- while ($propName) {
- $this->propertyPreg .= "{$propName}";
- $propName = next($properties);
- if ($propName) {
- $this->propertyPreg .= '|';
- }
- }
- $this->propertyPreg .= '))';
- }
-
- /**
- * Find matches in source string
- *
- * @param string $source
- */
- public function matchProperty($source)
- {
- preg_match_all($this->propertyPreg, $source, $match);
- foreach ($this->resultOffsets as $key => $offset) {
- foreach ($match[ $offset ] as $m) {
- if (!empty($m)) {
- $this->matchResults[ $key ][ strtolower($m) ] = true;
- }
- }
- }
- }
-
- /**
- * Find matches in template source
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- */
- public function matchTemplateSource(Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $this->matchProperty($compiler->parser->lex->data);
- }
-
- /**
- * Find matches in all parent template source
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- *
- * @throws \SmartyException
- */
- public function matchParentTemplateSource(Smarty_Internal_TemplateCompilerBase $compiler)
- {
- // search parent compiler template source
- $nextCompiler = $compiler;
- while ($nextCompiler !== $nextCompiler->parent_compiler) {
- $nextCompiler = $nextCompiler->parent_compiler;
- if ($compiler !== $nextCompiler) {
- // get template source
- $_content = $nextCompiler->template->source->getContent();
- if ($_content !== '') {
- // run pre filter if required
- if ((isset($nextCompiler->smarty->autoload_filters[ 'pre' ]) ||
- isset($nextCompiler->smarty->registered_filters[ 'pre' ]))
- ) {
- $_content = $nextCompiler->smarty->ext->_filterHandler->runFilter(
- 'pre',
- $_content,
- $nextCompiler->template
- );
- }
- $this->matchProperty($_content);
- }
- }
- }
- }
-
- /**
- * Find matches in {block} tag source
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- */
- public function matchBlockSource(Smarty_Internal_TemplateCompilerBase $compiler)
- {
- }
-
- /**
- * Compiles code for the {$smarty.foreach.xxx} or {$smarty.section.xxx}tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param array $parameter array with compilation parameter
- *
- * @return string compiled code
- * @throws \SmartyCompilerException
- */
- public function compileSpecialVariable($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- $tag = strtolower(trim($parameter[ 0 ], '"\''));
- $name = isset($parameter[ 1 ]) ? $compiler->getId($parameter[ 1 ]) : false;
- if (!$name) {
- $compiler->trigger_template_error("missing or illegal \$smarty.{$tag} name attribute", null, true);
- }
- $property = isset($parameter[ 2 ]) ? strtolower($compiler->getId($parameter[ 2 ])) : false;
- if (!$property || !in_array($property, $this->nameProperties)) {
- $compiler->trigger_template_error("missing or illegal \$smarty.{$tag} property attribute", null, true);
- }
- $tagVar = "'__smarty_{$tag}_{$name}'";
- return "(isset(\$_smarty_tpl->tpl_vars[{$tagVar}]->value['{$property}']) ? \$_smarty_tpl->tpl_vars[{$tagVar}]->value['{$property}'] : null)";
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_function_plugin.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_function_plugin.php
deleted file mode 100755
index 0558234..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_function_plugin.php
+++ /dev/null
@@ -1,78 +0,0 @@
-getAttributes($compiler, $args);
- unset($_attr[ 'nocache' ]);
- // convert attributes into parameter array string
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $_params = 'array(' . implode(',', $_paramsArray) . ')';
- // compile code
- $output = "{$function}({$_params},\$_smarty_tpl)";
- if (!empty($parameter[ 'modifierlist' ])) {
- $output = $compiler->compileTag(
- 'private_modifier',
- array(),
- array(
- 'modifierlist' => $parameter[ 'modifierlist' ],
- 'value' => $output
- )
- );
- }
- $output = "\n";
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_modifier.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_modifier.php
deleted file mode 100755
index 72773ff..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_modifier.php
+++ /dev/null
@@ -1,158 +0,0 @@
-getAttributes($compiler, $args);
- $output = $parameter[ 'value' ];
- // loop over list of modifiers
- foreach ($parameter[ 'modifierlist' ] as $single_modifier) {
- /* @var string $modifier */
- $modifier = $single_modifier[ 0 ];
- $single_modifier[ 0 ] = $output;
- $params = implode(',', $single_modifier);
- // check if we know already the type of modifier
- if (isset($compiler->known_modifier_type[ $modifier ])) {
- $modifier_types = array($compiler->known_modifier_type[ $modifier ]);
- } else {
- $modifier_types = array(1, 2, 3, 4, 5, 6);
- }
- foreach ($modifier_types as $type) {
- switch ($type) {
- case 1:
- // registered modifier
- if (isset($compiler->smarty->registered_plugins[ Smarty::PLUGIN_MODIFIER ][ $modifier ])) {
- if (is_callable($compiler->smarty->registered_plugins[ Smarty::PLUGIN_MODIFIER ][ $modifier ][ 0 ])) {
- $output =
- sprintf(
- 'call_user_func_array($_smarty_tpl->registered_plugins[ \'%s\' ][ %s ][ 0 ], array( %s ))',
- Smarty::PLUGIN_MODIFIER,
- var_export($modifier, true),
- $params
- );
- $compiler->known_modifier_type[ $modifier ] = $type;
- break 2;
- }
- }
- break;
- case 2:
- // registered modifier compiler
- if (isset($compiler->smarty->registered_plugins[ Smarty::PLUGIN_MODIFIERCOMPILER ][ $modifier ][ 0 ])) {
- $output =
- call_user_func(
- $compiler->smarty->registered_plugins[ Smarty::PLUGIN_MODIFIERCOMPILER ][ $modifier ][ 0 ],
- $single_modifier,
- $compiler->smarty
- );
- $compiler->known_modifier_type[ $modifier ] = $type;
- break 2;
- }
- break;
- case 3:
- // modifiercompiler plugin
- if ($compiler->smarty->loadPlugin('smarty_modifiercompiler_' . $modifier)) {
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy)
- || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)
- ) {
- $plugin = 'smarty_modifiercompiler_' . $modifier;
- $output = $plugin($single_modifier, $compiler);
- }
- $compiler->known_modifier_type[ $modifier ] = $type;
- break 2;
- }
- break;
- case 4:
- // modifier plugin
- if ($function = $compiler->getPlugin($modifier, Smarty::PLUGIN_MODIFIER)) {
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy)
- || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)
- ) {
- $output = "{$function}({$params})";
- }
- $compiler->known_modifier_type[ $modifier ] = $type;
- break 2;
- }
- break;
- case 5:
- // PHP function
- if (is_callable($modifier)) {
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy)
- || $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler)
- ) {
- $output = "{$modifier}({$params})";
- }
- $compiler->known_modifier_type[ $modifier ] = $type;
- break 2;
- }
- break;
- case 6:
- // default plugin handler
- if (isset($compiler->default_handler_plugins[ Smarty::PLUGIN_MODIFIER ][ $modifier ])
- || (is_callable($compiler->smarty->default_plugin_handler_func)
- && $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER))
- ) {
- $function = $compiler->default_handler_plugins[ Smarty::PLUGIN_MODIFIER ][ $modifier ][ 0 ];
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy)
- || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)
- ) {
- if (!is_array($function)) {
- $output = "{$function}({$params})";
- } else {
- if (is_object($function[ 0 ])) {
- $output = $function[ 0 ] . '->' . $function[ 1 ] . '(' . $params . ')';
- } else {
- $output = $function[ 0 ] . '::' . $function[ 1 ] . '(' . $params . ')';
- }
- }
- }
- if (isset($compiler->required_plugins[ 'nocache' ][ $modifier ][ Smarty::PLUGIN_MODIFIER ][ 'file' ])
- ||
- isset($compiler->required_plugins[ 'compiled' ][ $modifier ][ Smarty::PLUGIN_MODIFIER ][ 'file' ])
- ) {
- // was a plugin
- $compiler->known_modifier_type[ $modifier ] = 4;
- } else {
- $compiler->known_modifier_type[ $modifier ] = $type;
- }
- break 2;
- }
- }
- }
- if (!isset($compiler->known_modifier_type[ $modifier ])) {
- $compiler->trigger_template_error("unknown modifier '{$modifier}'", null, true);
- }
- }
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_block_function.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_block_function.php
deleted file mode 100755
index baac51b..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_block_function.php
+++ /dev/null
@@ -1,42 +0,0 @@
- $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $callback = array("\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]", "->{$method}");
- return array($callback, $_paramsArray, "array(\$_block_plugin{$this->nesting}, '{$method}')");
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_function.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_function.php
deleted file mode 100755
index 2a763c6..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_function.php
+++ /dev/null
@@ -1,85 +0,0 @@
-getAttributes($compiler, $args);
- unset($_attr[ 'nocache' ]);
- $_assign = null;
- if (isset($_attr[ 'assign' ])) {
- $_assign = $_attr[ 'assign' ];
- unset($_attr[ 'assign' ]);
- }
- // method or property ?
- if (is_callable(array($compiler->smarty->registered_objects[ $tag ][ 0 ], $method))) {
- // convert attributes into parameter array string
- if ($compiler->smarty->registered_objects[ $tag ][ 2 ]) {
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $_params = 'array(' . implode(',', $_paramsArray) . ')';
- $output = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params},\$_smarty_tpl)";
- } else {
- $_params = implode(',', $_attr);
- $output = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params})";
- }
- } else {
- // object property
- $output = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}";
- }
- if (!empty($parameter[ 'modifierlist' ])) {
- $output = $compiler->compileTag(
- 'private_modifier',
- array(),
- array('modifierlist' => $parameter[ 'modifierlist' ], 'value' => $output)
- );
- }
- if (empty($_assign)) {
- return "\n";
- } else {
- return "assign({$_assign},{$output});?>\n";
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_php.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_php.php
deleted file mode 100755
index a3cf0a2..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_php.php
+++ /dev/null
@@ -1,253 +0,0 @@
-getAttributes($compiler, $args);
- $compiler->has_code = false;
- if ($_attr[ 'type' ] === 'xml') {
- $compiler->tag_nocache = true;
- $output = addcslashes($_attr[ 'code' ], "'\\");
- $compiler->parser->current_buffer->append_subtree(
- $compiler->parser,
- new Smarty_Internal_ParseTree_Tag(
- $compiler->parser,
- $compiler->processNocacheCode(
- "",
- true
- )
- )
- );
- return '';
- }
- if ($_attr[ 'type' ] !== 'tag') {
- if ($compiler->php_handling === Smarty::PHP_REMOVE) {
- return '';
- } elseif ($compiler->php_handling === Smarty::PHP_QUOTE) {
- $output =
- preg_replace_callback(
- '#(<\?(?:php|=)?)|(<%)|(';
- } elseif (strpos($lex->value, $lex->smarty->left_delimiter) === 0) {
- if ($lex->isAutoLiteral()) {
- $lex->token = Smarty_Internal_Templateparser::TP_TEXT;
- return;
- }
- $closeTag = "{$lex->smarty->left_delimiter}/php{$lex->smarty->right_delimiter}";
- if ($lex->value === $closeTag) {
- $lex->compiler->trigger_template_error("unexpected closing tag '{$closeTag}'");
- }
- $lex->phpType = 'tag';
- }
- if ($lex->phpType === 'unmatched') {
- return;
- }
- if (($lex->phpType === 'php' || $lex->phpType === 'asp')
- &&
- ($lex->compiler->php_handling === Smarty::PHP_PASSTHRU ||
- $lex->compiler->php_handling === Smarty::PHP_QUOTE)
- ) {
- return;
- }
- $start = $lex->counter + strlen($lex->value);
- $body = true;
- if (preg_match('~' . preg_quote($closeTag, '~') . '~i', $lex->data, $match, PREG_OFFSET_CAPTURE, $start)) {
- $close = $match[ 0 ][ 1 ];
- } else {
- $lex->compiler->trigger_template_error("missing closing tag '{$closeTag}'");
- }
- while ($body) {
- if (preg_match(
- '~([/][*])|([/][/][^\n]*)|(\'[^\'\\\\]*(?:\\.[^\'\\\\]*)*\')|("[^"\\\\]*(?:\\.[^"\\\\]*)*")~',
- $lex->data,
- $match,
- PREG_OFFSET_CAPTURE,
- $start
- )
- ) {
- $value = $match[ 0 ][ 0 ];
- $from = $pos = $match[ 0 ][ 1 ];
- if ($pos > $close) {
- $body = false;
- } else {
- $start = $pos + strlen($value);
- $phpCommentStart = $value === '/*';
- if ($phpCommentStart) {
- $phpCommentEnd = preg_match('~([*][/])~', $lex->data, $match, PREG_OFFSET_CAPTURE, $start);
- if ($phpCommentEnd) {
- $pos2 = $match[ 0 ][ 1 ];
- $start = $pos2 + strlen($match[ 0 ][ 0 ]);
- }
- }
- while ($close > $pos && $close < $start) {
- if (preg_match(
- '~' . preg_quote($closeTag, '~') . '~i',
- $lex->data,
- $match,
- PREG_OFFSET_CAPTURE,
- $from
- )
- ) {
- $close = $match[ 0 ][ 1 ];
- $from = $close + strlen($match[ 0 ][ 0 ]);
- } else {
- $lex->compiler->trigger_template_error("missing closing tag '{$closeTag}'");
- }
- }
- if ($phpCommentStart && (!$phpCommentEnd || $pos2 > $close)) {
- $lex->taglineno = $lex->line + substr_count(substr($lex->data, $lex->counter, $start), "\n");
- $lex->compiler->trigger_template_error("missing PHP comment closing tag '*/'");
- }
- }
- } else {
- $body = false;
- }
- }
- $lex->value = substr($lex->data, $lex->counter, $close + strlen($closeTag) - $lex->counter);
- }
-
- /*
- * Call back function for $php_handling = PHP_QUOTE
- *
- */
- /**
- * @param $match
- *
- * @return string
- */
- private function quote($match)
- {
- return htmlspecialchars($match[ 0 ], ENT_QUOTES);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_print_expression.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_print_expression.php
deleted file mode 100755
index 23cae8a..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_print_expression.php
+++ /dev/null
@@ -1,161 +0,0 @@
-getAttributes($compiler, $args);
- $output = $parameter[ 'value' ];
- // tag modifier
- if (!empty($parameter[ 'modifierlist' ])) {
- $output = $compiler->compileTag(
- 'private_modifier',
- array(),
- array(
- 'modifierlist' => $parameter[ 'modifierlist' ],
- 'value' => $output
- )
- );
- }
- if (isset($_attr[ 'assign' ])) {
- // assign output to variable
- return "assign({$_attr['assign']},{$output});?>";
- } else {
- // display value
- if (!$_attr[ 'nofilter' ]) {
- // default modifier
- if (!empty($compiler->smarty->default_modifiers)) {
- if (empty($compiler->default_modifier_list)) {
- $modifierlist = array();
- foreach ($compiler->smarty->default_modifiers as $key => $single_default_modifier) {
- preg_match_all(
- '/(\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'|"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"|:|[^:]+)/',
- $single_default_modifier,
- $mod_array
- );
- for ($i = 0, $count = count($mod_array[ 0 ]); $i < $count; $i++) {
- if ($mod_array[ 0 ][ $i ] !== ':') {
- $modifierlist[ $key ][] = $mod_array[ 0 ][ $i ];
- }
- }
- }
- $compiler->default_modifier_list = $modifierlist;
- }
- $output = $compiler->compileTag(
- 'private_modifier',
- array(),
- array(
- 'modifierlist' => $compiler->default_modifier_list,
- 'value' => $output
- )
- );
- }
- // autoescape html
- if ($compiler->template->smarty->escape_html) {
- $output = "htmlspecialchars({$output}, ENT_QUOTES, '" . addslashes(Smarty::$_CHARSET) . "')";
- }
- // loop over registered filters
- if (!empty($compiler->template->smarty->registered_filters[ Smarty::FILTER_VARIABLE ])) {
- foreach ($compiler->template->smarty->registered_filters[ Smarty::FILTER_VARIABLE ] as $key =>
- $function) {
- if (!is_array($function)) {
- $output = "{$function}({$output},\$_smarty_tpl)";
- } elseif (is_object($function[ 0 ])) {
- $output =
- "\$_smarty_tpl->smarty->registered_filters[Smarty::FILTER_VARIABLE]['{$key}'][0]->{$function[1]}({$output},\$_smarty_tpl)";
- } else {
- $output = "{$function[0]}::{$function[1]}({$output},\$_smarty_tpl)";
- }
- }
- }
- // auto loaded filters
- if (isset($compiler->smarty->autoload_filters[ Smarty::FILTER_VARIABLE ])) {
- foreach ((array)$compiler->template->smarty->autoload_filters[ Smarty::FILTER_VARIABLE ] as $name) {
- $result = $this->compile_variable_filter($compiler, $name, $output);
- if ($result !== false) {
- $output = $result;
- } else {
- // not found, throw exception
- throw new SmartyException("Unable to load variable filter '{$name}'");
- }
- }
- }
- foreach ($compiler->variable_filters as $filter) {
- if (count($filter) === 1
- && ($result = $this->compile_variable_filter($compiler, $filter[ 0 ], $output)) !== false
- ) {
- $output = $result;
- } else {
- $output = $compiler->compileTag(
- 'private_modifier',
- array(),
- array('modifierlist' => array($filter), 'value' => $output)
- );
- }
- }
- }
- $output = "\n";
- }
- return $output;
- }
-
- /**
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- * @param string $name name of variable filter
- * @param string $output embedded output
- *
- * @return string
- * @throws \SmartyException
- */
- private function compile_variable_filter(Smarty_Internal_TemplateCompilerBase $compiler, $name, $output)
- {
- $function = $compiler->getPlugin($name, 'variablefilter');
- if ($function) {
- return "{$function}({$output},\$_smarty_tpl)";
- } else {
- // not found
- return false;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_block.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_block.php
deleted file mode 100755
index 0f818d1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_block.php
+++ /dev/null
@@ -1,72 +0,0 @@
-smarty->registered_plugins[ Smarty::PLUGIN_BLOCK ][ $tag ])) {
- $tag_info = $compiler->smarty->registered_plugins[ Smarty::PLUGIN_BLOCK ][ $tag ];
- $callback = $tag_info[ 0 ];
- if (is_array($callback)) {
- if (is_object($callback[ 0 ])) {
- $callable = "array(\$_block_plugin{$this->nesting}, '{$callback[1]}')";
- $callback =
- array("\$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0][0]", "->{$callback[1]}");
- } else {
- $callable = "array(\$_block_plugin{$this->nesting}, '{$callback[1]}')";
- $callback =
- array("\$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0][0]", "::{$callback[1]}");
- }
- } else {
- $callable = "\$_block_plugin{$this->nesting}";
- $callback = array("\$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0]", '');
- }
- } else {
- $tag_info = $compiler->default_handler_plugins[ Smarty::PLUGIN_BLOCK ][ $tag ];
- $callback = $tag_info[ 0 ];
- if (is_array($callback)) {
- $callable = "array('{$callback[0]}', '{$callback[1]}')";
- $callback = "{$callback[1]}::{$callback[1]}";
- } else {
- $callable = null;
- }
- }
- $compiler->tag_nocache = !$tag_info[ 1 ] | $compiler->tag_nocache;
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } elseif ($compiler->template->caching && in_array($_key, $tag_info[ 2 ])) {
- $_value = str_replace('\'', "^#^", $_value);
- $_paramsArray[] = "'$_key'=>^#^.var_export($_value,true).^#^";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- return array($callback, $_paramsArray, $callable);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_function.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_function.php
deleted file mode 100755
index 2591107..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_function.php
+++ /dev/null
@@ -1,91 +0,0 @@
-getAttributes($compiler, $args);
- unset($_attr[ 'nocache' ]);
- if (isset($compiler->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ $tag ])) {
- $tag_info = $compiler->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ $tag ];
- $is_registered = true;
- } else {
- $tag_info = $compiler->default_handler_plugins[ Smarty::PLUGIN_FUNCTION ][ $tag ];
- $is_registered = false;
- }
- // not cacheable?
- $compiler->tag_nocache = $compiler->tag_nocache || !$tag_info[ 1 ];
- // convert attributes into parameter array string
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } elseif ($compiler->template->caching && in_array($_key, $tag_info[ 2 ])) {
- $_value = str_replace('\'', "^#^", $_value);
- $_paramsArray[] = "'$_key'=>^#^.var_export($_value,true).^#^";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $_params = 'array(' . implode(',', $_paramsArray) . ')';
- // compile code
- if ($is_registered) {
- $output =
- "call_user_func_array( \$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['{$tag}'][0], array( {$_params},\$_smarty_tpl ) )";
- } else {
- $function = $tag_info[ 0 ];
- if (!is_array($function)) {
- $output = "{$function}({$_params},\$_smarty_tpl)";
- } else {
- $output = "{$function[0]}::{$function[1]}({$_params},\$_smarty_tpl)";
- }
- }
- if (!empty($parameter[ 'modifierlist' ])) {
- $output = $compiler->compileTag(
- 'private_modifier',
- array(),
- array(
- 'modifierlist' => $parameter[ 'modifierlist' ],
- 'value' => $output
- )
- );
- }
- $output = "\n";
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_special_variable.php
deleted file mode 100755
index b317c9f..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_special_variable.php
+++ /dev/null
@@ -1,126 +0,0 @@
-getId($_index[ 0 ]));
- if ($variable === false) {
- $compiler->trigger_template_error("special \$Smarty variable name index can not be variable", null, true);
- }
- if (!isset($compiler->smarty->security_policy)
- || $compiler->smarty->security_policy->isTrustedSpecialSmartyVar($variable, $compiler)
- ) {
- switch ($variable) {
- case 'foreach':
- case 'section':
- if (!isset(Smarty_Internal_TemplateCompilerBase::$_tag_objects[ $variable ])) {
- $class = 'Smarty_Internal_Compile_' . ucfirst($variable);
- Smarty_Internal_TemplateCompilerBase::$_tag_objects[ $variable ] = new $class;
- }
- return Smarty_Internal_TemplateCompilerBase::$_tag_objects[ $variable ]->compileSpecialVariable(
- array(),
- $compiler,
- $_index
- );
- case 'capture':
- if (class_exists('Smarty_Internal_Compile_Capture')) {
- return Smarty_Internal_Compile_Capture::compileSpecialVariable(array(), $compiler, $_index);
- }
- return '';
- case 'now':
- return 'time()';
- case 'cookies':
- if (isset($compiler->smarty->security_policy)
- && !$compiler->smarty->security_policy->allow_super_globals
- ) {
- $compiler->trigger_template_error("(secure mode) super globals not permitted");
- break;
- }
- $compiled_ref = '$_COOKIE';
- break;
- case 'get':
- case 'post':
- case 'env':
- case 'server':
- case 'session':
- case 'request':
- if (isset($compiler->smarty->security_policy)
- && !$compiler->smarty->security_policy->allow_super_globals
- ) {
- $compiler->trigger_template_error("(secure mode) super globals not permitted");
- break;
- }
- $compiled_ref = '$_' . strtoupper($variable);
- break;
- case 'template':
- return 'basename($_smarty_tpl->source->filepath)';
- case 'template_object':
- return '$_smarty_tpl';
- case 'current_dir':
- return 'dirname($_smarty_tpl->source->filepath)';
- case 'version':
- return "Smarty::SMARTY_VERSION";
- case 'const':
- if (isset($compiler->smarty->security_policy)
- && !$compiler->smarty->security_policy->allow_constants
- ) {
- $compiler->trigger_template_error("(secure mode) constants not permitted");
- break;
- }
- if (strpos($_index[ 1 ], '$') === false && strpos($_index[ 1 ], '\'') === false) {
- return "@constant('{$_index[1]}')";
- } else {
- return "@constant({$_index[1]})";
- }
- // no break
- case 'config':
- if (isset($_index[ 2 ])) {
- return "(is_array(\$tmp = \$_smarty_tpl->smarty->ext->configload->_getConfigVariable(\$_smarty_tpl, $_index[1])) ? \$tmp[$_index[2]] : null)";
- } else {
- return "\$_smarty_tpl->smarty->ext->configload->_getConfigVariable(\$_smarty_tpl, $_index[1])";
- }
- // no break
- case 'ldelim':
- return "\$_smarty_tpl->smarty->left_delimiter";
- case 'rdelim':
- return "\$_smarty_tpl->smarty->right_delimiter";
- default:
- $compiler->trigger_template_error('$smarty.' . trim($_index[ 0 ], "'") . ' is not defined');
- break;
- }
- if (isset($_index[ 1 ])) {
- array_shift($_index);
- foreach ($_index as $_ind) {
- $compiled_ref = $compiled_ref . "[$_ind]";
- }
- }
- return $compiled_ref;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_rdelim.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_rdelim.php
deleted file mode 100755
index 1cc340c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_rdelim.php
+++ /dev/null
@@ -1,34 +0,0 @@
-smarty->right_delimiter;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_section.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_section.php
deleted file mode 100755
index 0dee208..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_section.php
+++ /dev/null
@@ -1,462 +0,0 @@
-loopNesting++;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $attributes = array('name' => $compiler->getId($_attr[ 'name' ]));
- unset($_attr[ 'name' ]);
- foreach ($attributes as $a => $v) {
- if ($v === false) {
- $compiler->trigger_template_error("'{$a}' attribute/variable has illegal value", null, true);
- }
- }
- $local = "\$__section_{$attributes['name']}_" . $this->counter++ . '_';
- $sectionVar = "\$_smarty_tpl->tpl_vars['__smarty_section_{$attributes['name']}']";
- $this->openTag($compiler, 'section', array('section', $compiler->nocache, $local, $sectionVar));
- // maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- $initLocal = array();
- $initNamedProperty = array();
- $initFor = array();
- $incFor = array();
- $cmpFor = array();
- $propValue = array(
- 'index' => "{$sectionVar}->value['index']", 'show' => 'true', 'step' => 1,
- 'iteration' => "{$local}iteration",
- );
- $propType = array('index' => 2, 'iteration' => 2, 'show' => 0, 'step' => 0,);
- // search for used tag attributes
- $this->scanForProperties($attributes, $compiler);
- if (!empty($this->matchResults[ 'named' ])) {
- $namedAttr = $this->matchResults[ 'named' ];
- }
- if (isset($_attr[ 'properties' ]) && preg_match_all("/['](.*?)[']/", $_attr[ 'properties' ], $match)) {
- foreach ($match[ 1 ] as $prop) {
- if (in_array($prop, $this->nameProperties)) {
- $namedAttr[ $prop ] = true;
- } else {
- $compiler->trigger_template_error("Invalid property '{$prop}'", null, true);
- }
- }
- }
- $namedAttr[ 'index' ] = true;
- $output = " $attr_value) {
- switch ($attr_name) {
- case 'loop':
- if (is_numeric($attr_value)) {
- $v = (int)$attr_value;
- $t = 0;
- } else {
- $v = "(is_array(@\$_loop=$attr_value) ? count(\$_loop) : max(0, (int) \$_loop))";
- $t = 1;
- }
- if ($t === 1) {
- $initLocal[ 'loop' ] = $v;
- $v = "{$local}loop";
- }
- break;
- case 'show':
- if (is_bool($attr_value)) {
- $v = $attr_value ? 'true' : 'false';
- $t = 0;
- } else {
- $v = "(bool) $attr_value";
- $t = 3;
- }
- break;
- case 'step':
- if (is_numeric($attr_value)) {
- $v = (int)$attr_value;
- $v = ($v === 0) ? 1 : $v;
- $t = 0;
- break;
- }
- $initLocal[ 'step' ] = "((int)@$attr_value) === 0 ? 1 : (int)@$attr_value";
- $v = "{$local}step";
- $t = 2;
- break;
- case 'max':
- case 'start':
- if (is_numeric($attr_value)) {
- $v = (int)$attr_value;
- $t = 0;
- break;
- }
- $v = "(int)@$attr_value";
- $t = 3;
- break;
- }
- if ($t === 3 && $compiler->getId($attr_value)) {
- $t = 1;
- }
- $propValue[ $attr_name ] = $v;
- $propType[ $attr_name ] = $t;
- }
- if (isset($namedAttr[ 'step' ])) {
- $initNamedProperty[ 'step' ] = $propValue[ 'step' ];
- }
- if (isset($namedAttr[ 'iteration' ])) {
- $propValue[ 'iteration' ] = "{$sectionVar}->value['iteration']";
- }
- $incFor[ 'iteration' ] = "{$propValue['iteration']}++";
- $initFor[ 'iteration' ] = "{$propValue['iteration']} = 1";
- if ($propType[ 'step' ] === 0) {
- if ($propValue[ 'step' ] === 1) {
- $incFor[ 'index' ] = "{$sectionVar}->value['index']++";
- } elseif ($propValue[ 'step' ] > 1) {
- $incFor[ 'index' ] = "{$sectionVar}->value['index'] += {$propValue['step']}";
- } else {
- $incFor[ 'index' ] = "{$sectionVar}->value['index'] -= " . -$propValue[ 'step' ];
- }
- } else {
- $incFor[ 'index' ] = "{$sectionVar}->value['index'] += {$propValue['step']}";
- }
- if (!isset($propValue[ 'max' ])) {
- $propValue[ 'max' ] = $propValue[ 'loop' ];
- $propType[ 'max' ] = $propType[ 'loop' ];
- } elseif ($propType[ 'max' ] !== 0) {
- $propValue[ 'max' ] = "{$propValue['max']} < 0 ? {$propValue['loop']} : {$propValue['max']}";
- $propType[ 'max' ] = 1;
- } else {
- if ($propValue[ 'max' ] < 0) {
- $propValue[ 'max' ] = $propValue[ 'loop' ];
- $propType[ 'max' ] = $propType[ 'loop' ];
- }
- }
- if (!isset($propValue[ 'start' ])) {
- $start_code =
- array(1 => "{$propValue['step']} > 0 ? ", 2 => '0', 3 => ' : ', 4 => $propValue[ 'loop' ], 5 => ' - 1');
- if ($propType[ 'loop' ] === 0) {
- $start_code[ 5 ] = '';
- $start_code[ 4 ] = $propValue[ 'loop' ] - 1;
- }
- if ($propType[ 'step' ] === 0) {
- if ($propValue[ 'step' ] > 0) {
- $start_code = array(1 => '0');
- $propType[ 'start' ] = 0;
- } else {
- $start_code[ 1 ] = $start_code[ 2 ] = $start_code[ 3 ] = '';
- $propType[ 'start' ] = $propType[ 'loop' ];
- }
- } else {
- $propType[ 'start' ] = 1;
- }
- $propValue[ 'start' ] = join('', $start_code);
- } else {
- $start_code =
- array(
- 1 => "{$propValue['start']} < 0 ? ", 2 => 'max(', 3 => "{$propValue['step']} > 0 ? ", 4 => '0',
- 5 => ' : ', 6 => '-1', 7 => ', ', 8 => "{$propValue['start']} + {$propValue['loop']}", 10 => ')',
- 11 => ' : ', 12 => 'min(', 13 => $propValue[ 'start' ], 14 => ', ',
- 15 => "{$propValue['step']} > 0 ? ", 16 => $propValue[ 'loop' ], 17 => ' : ',
- 18 => $propType[ 'loop' ] === 0 ? $propValue[ 'loop' ] - 1 : "{$propValue['loop']} - 1",
- 19 => ')'
- );
- if ($propType[ 'step' ] === 0) {
- $start_code[ 3 ] = $start_code[ 5 ] = $start_code[ 15 ] = $start_code[ 17 ] = '';
- if ($propValue[ 'step' ] > 0) {
- $start_code[ 6 ] = $start_code[ 18 ] = '';
- } else {
- $start_code[ 4 ] = $start_code[ 16 ] = '';
- }
- }
- if ($propType[ 'start' ] === 0) {
- if ($propType[ 'loop' ] === 0) {
- $start_code[ 8 ] = $propValue[ 'start' ] + $propValue[ 'loop' ];
- }
- $propType[ 'start' ] = $propType[ 'step' ] + $propType[ 'loop' ];
- $start_code[ 1 ] = '';
- if ($propValue[ 'start' ] < 0) {
- for ($i = 11; $i <= 19; $i++) {
- $start_code[ $i ] = '';
- }
- if ($propType[ 'start' ] === 0) {
- $start_code = array(
- max(
- $propValue[ 'step' ] > 0 ? 0 : -1,
- $propValue[ 'start' ] + $propValue[ 'loop' ]
- )
- );
- }
- } else {
- for ($i = 1; $i <= 11; $i++) {
- $start_code[ $i ] = '';
- }
- if ($propType[ 'start' ] === 0) {
- $start_code =
- array(
- min(
- $propValue[ 'step' ] > 0 ? $propValue[ 'loop' ] : $propValue[ 'loop' ] - 1,
- $propValue[ 'start' ]
- )
- );
- }
- }
- }
- $propValue[ 'start' ] = join('', $start_code);
- }
- if ($propType[ 'start' ] !== 0) {
- $initLocal[ 'start' ] = $propValue[ 'start' ];
- $propValue[ 'start' ] = "{$local}start";
- }
- $initFor[ 'index' ] = "{$sectionVar}->value['index'] = {$propValue['start']}";
- if (!isset($_attr[ 'start' ]) && !isset($_attr[ 'step' ]) && !isset($_attr[ 'max' ])) {
- $propValue[ 'total' ] = $propValue[ 'loop' ];
- $propType[ 'total' ] = $propType[ 'loop' ];
- } else {
- $propType[ 'total' ] =
- $propType[ 'start' ] + $propType[ 'loop' ] + $propType[ 'step' ] + $propType[ 'max' ];
- if ($propType[ 'total' ] === 0) {
- $propValue[ 'total' ] =
- min(
- ceil(
- ($propValue[ 'step' ] > 0 ? $propValue[ 'loop' ] - $propValue[ 'start' ] :
- (int)$propValue[ 'start' ] + 1) / abs($propValue[ 'step' ])
- ),
- $propValue[ 'max' ]
- );
- } else {
- $total_code = array(
- 1 => 'min(', 2 => 'ceil(', 3 => '(', 4 => "{$propValue['step']} > 0 ? ",
- 5 => $propValue[ 'loop' ], 6 => ' - ', 7 => $propValue[ 'start' ], 8 => ' : ',
- 9 => $propValue[ 'start' ], 10 => '+ 1', 11 => ')', 12 => '/ ', 13 => 'abs(',
- 14 => $propValue[ 'step' ], 15 => ')', 16 => ')', 17 => ", {$propValue['max']})",
- );
- if (!isset($propValue[ 'max' ])) {
- $total_code[ 1 ] = $total_code[ 17 ] = '';
- }
- if ($propType[ 'loop' ] + $propType[ 'start' ] === 0) {
- $total_code[ 5 ] = $propValue[ 'loop' ] - $propValue[ 'start' ];
- $total_code[ 6 ] = $total_code[ 7 ] = '';
- }
- if ($propType[ 'start' ] === 0) {
- $total_code[ 9 ] = (int)$propValue[ 'start' ] + 1;
- $total_code[ 10 ] = '';
- }
- if ($propType[ 'step' ] === 0) {
- $total_code[ 13 ] = $total_code[ 15 ] = '';
- if ($propValue[ 'step' ] === 1 || $propValue[ 'step' ] === -1) {
- $total_code[ 2 ] = $total_code[ 12 ] = $total_code[ 14 ] = $total_code[ 16 ] = '';
- } elseif ($propValue[ 'step' ] < 0) {
- $total_code[ 14 ] = -$propValue[ 'step' ];
- }
- $total_code[ 4 ] = '';
- if ($propValue[ 'step' ] > 0) {
- $total_code[ 8 ] = $total_code[ 9 ] = $total_code[ 10 ] = '';
- } else {
- $total_code[ 5 ] = $total_code[ 6 ] = $total_code[ 7 ] = $total_code[ 8 ] = '';
- }
- }
- $propValue[ 'total' ] = join('', $total_code);
- }
- }
- if (isset($namedAttr[ 'loop' ])) {
- $initNamedProperty[ 'loop' ] = "'loop' => {$propValue['loop']}";
- }
- if (isset($namedAttr[ 'total' ])) {
- $initNamedProperty[ 'total' ] = "'total' => {$propValue['total']}";
- if ($propType[ 'total' ] > 0) {
- $propValue[ 'total' ] = "{$sectionVar}->value['total']";
- }
- } elseif ($propType[ 'total' ] > 0) {
- $initLocal[ 'total' ] = $propValue[ 'total' ];
- $propValue[ 'total' ] = "{$local}total";
- }
- $cmpFor[ 'iteration' ] = "{$propValue['iteration']} <= {$propValue['total']}";
- foreach ($initLocal as $key => $code) {
- $output .= "{$local}{$key} = {$code};\n";
- }
- $_vars = 'array(' . join(', ', $initNamedProperty) . ')';
- $output .= "{$sectionVar} = new Smarty_Variable({$_vars});\n";
- $cond_code = "{$propValue['total']} !== 0";
- if ($propType[ 'total' ] === 0) {
- if ($propValue[ 'total' ] === 0) {
- $cond_code = 'false';
- } else {
- $cond_code = 'true';
- }
- }
- if ($propType[ 'show' ] > 0) {
- $output .= "{$local}show = {$propValue['show']} ? {$cond_code} : false;\n";
- $output .= "if ({$local}show) {\n";
- } elseif ($propValue[ 'show' ] === 'true') {
- $output .= "if ({$cond_code}) {\n";
- } else {
- $output .= "if (false) {\n";
- }
- $jinit = join(', ', $initFor);
- $jcmp = join(', ', $cmpFor);
- $jinc = join(', ', $incFor);
- $output .= "for ({$jinit}; {$jcmp}; {$jinc}){\n";
- if (isset($namedAttr[ 'rownum' ])) {
- $output .= "{$sectionVar}->value['rownum'] = {$propValue['iteration']};\n";
- }
- if (isset($namedAttr[ 'index_prev' ])) {
- $output .= "{$sectionVar}->value['index_prev'] = {$propValue['index']} - {$propValue['step']};\n";
- }
- if (isset($namedAttr[ 'index_next' ])) {
- $output .= "{$sectionVar}->value['index_next'] = {$propValue['index']} + {$propValue['step']};\n";
- }
- if (isset($namedAttr[ 'first' ])) {
- $output .= "{$sectionVar}->value['first'] = ({$propValue['iteration']} === 1);\n";
- }
- if (isset($namedAttr[ 'last' ])) {
- $output .= "{$sectionVar}->value['last'] = ({$propValue['iteration']} === {$propValue['total']});\n";
- }
- $output .= '?>';
- return $output;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Sectionelse Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Sectionelse extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {sectionelse} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- list($openTag, $nocache, $local, $sectionVar) = $this->closeTag($compiler, array('section'));
- $this->openTag($compiler, 'sectionelse', array('sectionelse', $nocache, $local, $sectionVar));
- return "";
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Sectionclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Sectionclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/section} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $compiler->loopNesting--;
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- list($openTag, $compiler->nocache, $local, $sectionVar) =
- $this->closeTag($compiler, array('section', 'sectionelse'));
- $output = "';
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_setfilter.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_setfilter.php
deleted file mode 100755
index 70e2e2f..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_setfilter.php
+++ /dev/null
@@ -1,68 +0,0 @@
-variable_filter_stack[] = $compiler->variable_filters;
- $compiler->variable_filters = $parameter[ 'modifier_list' ];
- // this tag does not return compiled code
- $compiler->has_code = false;
- return true;
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Setfilterclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Setfilterclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/setfilter} tag
- * This tag does not generate compiled output. It resets variable filter.
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $_attr = $this->getAttributes($compiler, $args);
- // reset variable filter to previous state
- if (count($compiler->variable_filter_stack)) {
- $compiler->variable_filters = array_pop($compiler->variable_filter_stack);
- } else {
- $compiler->variable_filters = array();
- }
- // this tag does not return compiled code
- $compiler->has_code = false;
- return true;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_shared_inheritance.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_shared_inheritance.php
deleted file mode 100755
index d90262e..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_shared_inheritance.php
+++ /dev/null
@@ -1,49 +0,0 @@
-prefixCompiledCode .= "_loadInheritance();\n\$_smarty_tpl->inheritance->init(\$_smarty_tpl, " .
- var_export($initChildSequence, true) . ");\n?>\n";
- }
-
- /**
- * Register post compile callback to compile inheritance initialization code
- *
- * @param \Smarty_Internal_TemplateCompilerBase $compiler
- * @param bool|false $initChildSequence if true force child template
- */
- public function registerInit(Smarty_Internal_TemplateCompilerBase $compiler, $initChildSequence = false)
- {
- if ($initChildSequence || !isset($compiler->_cache[ 'inheritanceInit' ])) {
- $compiler->registerPostCompileCallback(
- array('Smarty_Internal_Compile_Shared_Inheritance', 'postCompile'),
- array($initChildSequence),
- 'inheritanceInit',
- $initChildSequence
- );
- $compiler->_cache[ 'inheritanceInit' ] = true;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_while.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_while.php
deleted file mode 100755
index 5aa3a73..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_while.php
+++ /dev/null
@@ -1,100 +0,0 @@
-loopNesting++;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $this->openTag($compiler, 'while', $compiler->nocache);
- if (!array_key_exists('if condition', $parameter)) {
- $compiler->trigger_template_error('missing while condition', null, true);
- }
- // maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- if (is_array($parameter[ 'if condition' ])) {
- if ($compiler->nocache) {
- // create nocache var to make it know for further compiling
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $var = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- } else {
- $var = $parameter[ 'if condition' ][ 'var' ];
- }
- $compiler->setNocacheInVariable($var);
- }
- $prefixVar = $compiler->getNewPrefixVariable();
- $assignCompiler = new Smarty_Internal_Compile_Assign();
- $assignAttr = array();
- $assignAttr[][ 'value' ] = $prefixVar;
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- $_output = "";
- $_output .= $assignCompiler->compile(
- $assignAttr,
- $compiler,
- array('smarty_internal_index' => $parameter[ 'if condition' ][ 'var' ][ 'smarty_internal_index' ])
- );
- } else {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ];
- $_output = "";
- $_output .= $assignCompiler->compile($assignAttr, $compiler, array());
- }
- return $_output;
- } else {
- return "";
- }
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Whileclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/while} tag
- *
- * @param array $args array with attributes from parser
- * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
- *
- * @return string compiled code
- */
- public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $compiler->loopNesting--;
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- $compiler->nocache = $this->closeTag($compiler, array('while'));
- return "\n";
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compilebase.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compilebase.php
deleted file mode 100755
index 2a32e43..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_compilebase.php
+++ /dev/null
@@ -1,203 +0,0 @@
- true, 0 => false, 'true' => true, 'false' => false);
-
- /**
- * Mapping array with attributes as key
- *
- * @var array
- */
- public $mapCache = array();
-
- /**
- * This function checks if the attributes passed are valid
- * The attributes passed for the tag to compile are checked against the list of required and
- * optional attributes. Required attributes must be present. Optional attributes are check against
- * the corresponding list. The keyword '_any' specifies that any attribute will be accepted
- * as valid
- *
- * @param object $compiler compiler object
- * @param array $attributes attributes applied to the tag
- *
- * @return array of mapped attributes for further processing
- */
- public function getAttributes($compiler, $attributes)
- {
- $_indexed_attr = array();
- if (!isset($this->mapCache[ 'option' ])) {
- $this->mapCache[ 'option' ] = array_fill_keys($this->option_flags, true);
- }
- foreach ($attributes as $key => $mixed) {
- // shorthand ?
- if (!is_array($mixed)) {
- // option flag ?
- if (isset($this->mapCache[ 'option' ][ trim($mixed, '\'"') ])) {
- $_indexed_attr[ trim($mixed, '\'"') ] = true;
- // shorthand attribute ?
- } elseif (isset($this->shorttag_order[ $key ])) {
- $_indexed_attr[ $this->shorttag_order[ $key ] ] = $mixed;
- } else {
- // too many shorthands
- $compiler->trigger_template_error('too many shorthand attributes', null, true);
- }
- // named attribute
- } else {
- foreach ($mixed as $k => $v) {
- // option flag?
- if (isset($this->mapCache[ 'option' ][ $k ])) {
- if (is_bool($v)) {
- $_indexed_attr[ $k ] = $v;
- } else {
- if (is_string($v)) {
- $v = trim($v, '\'" ');
- }
- if (isset($this->optionMap[ $v ])) {
- $_indexed_attr[ $k ] = $this->optionMap[ $v ];
- } else {
- $compiler->trigger_template_error(
- "illegal value '" . var_export($v, true) .
- "' for option flag '{$k}'",
- null,
- true
- );
- }
- }
- // must be named attribute
- } else {
- $_indexed_attr[ $k ] = $v;
- }
- }
- }
- }
- // check if all required attributes present
- foreach ($this->required_attributes as $attr) {
- if (!isset($_indexed_attr[ $attr ])) {
- $compiler->trigger_template_error("missing '{$attr}' attribute", null, true);
- }
- }
- // check for not allowed attributes
- if ($this->optional_attributes !== array('_any')) {
- if (!isset($this->mapCache[ 'all' ])) {
- $this->mapCache[ 'all' ] =
- array_fill_keys(
- array_merge(
- $this->required_attributes,
- $this->optional_attributes,
- $this->option_flags
- ),
- true
- );
- }
- foreach ($_indexed_attr as $key => $dummy) {
- if (!isset($this->mapCache[ 'all' ][ $key ]) && $key !== 0) {
- $compiler->trigger_template_error("unexpected '{$key}' attribute", null, true);
- }
- }
- }
- // default 'false' for all option flags not set
- foreach ($this->option_flags as $flag) {
- if (!isset($_indexed_attr[ $flag ])) {
- $_indexed_attr[ $flag ] = false;
- }
- }
- if (isset($_indexed_attr[ 'nocache' ]) && $_indexed_attr[ 'nocache' ]) {
- $compiler->tag_nocache = true;
- }
- return $_indexed_attr;
- }
-
- /**
- * Push opening tag name on stack
- * Optionally additional data can be saved on stack
- *
- * @param object $compiler compiler object
- * @param string $openTag the opening tag's name
- * @param mixed $data optional data saved
- */
- public function openTag($compiler, $openTag, $data = null)
- {
- array_push($compiler->_tag_stack, array($openTag, $data));
- }
-
- /**
- * Pop closing tag
- * Raise an error if this stack-top doesn't match with expected opening tags
- *
- * @param object $compiler compiler object
- * @param array|string $expectedTag the expected opening tag names
- *
- * @return mixed any type the opening tag's name or saved data
- */
- public function closeTag($compiler, $expectedTag)
- {
- if (count($compiler->_tag_stack) > 0) {
- // get stacked info
- list($_openTag, $_data) = array_pop($compiler->_tag_stack);
- // open tag must match with the expected ones
- if (in_array($_openTag, (array)$expectedTag)) {
- if (is_null($_data)) {
- // return opening tag
- return $_openTag;
- } else {
- // return restored data
- return $_data;
- }
- }
- // wrong nesting of tags
- $compiler->trigger_template_error("unclosed '{$compiler->smarty->left_delimiter}{$_openTag}{$compiler->smarty->right_delimiter}' tag");
- return;
- }
- // wrong nesting of tags
- $compiler->trigger_template_error('unexpected closing tag', null, true);
- return;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_config_file_compiler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_config_file_compiler.php
deleted file mode 100755
index a842fa8..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_config_file_compiler.php
+++ /dev/null
@@ -1,209 +0,0 @@
-smarty = $smarty;
- // get required plugins
- $this->lexer_class = $lexer_class;
- $this->parser_class = $parser_class;
- $this->smarty = $smarty;
- $this->config_data[ 'sections' ] = array();
- $this->config_data[ 'vars' ] = array();
- }
-
- /**
- * Method to compile Smarty config source.
- *
- * @param Smarty_Internal_Template $template
- *
- * @return bool true if compiling succeeded, false if it failed
- * @throws \SmartyException
- */
- public function compileTemplate(Smarty_Internal_Template $template)
- {
- $this->template = $template;
- $this->template->compiled->file_dependency[ $this->template->source->uid ] =
- array(
- $this->template->source->filepath,
- $this->template->source->getTimeStamp(),
- $this->template->source->type
- );
- if ($this->smarty->debugging) {
- if (!isset($this->smarty->_debug)) {
- $this->smarty->_debug = new Smarty_Internal_Debug();
- }
- $this->smarty->_debug->start_compile($this->template);
- }
- // init the lexer/parser to compile the config file
- /* @var Smarty_Internal_ConfigFileLexer $this ->lex */
- $this->lex = new $this->lexer_class(
- str_replace(
- array(
- "\r\n",
- "\r"
- ),
- "\n",
- $template->source->getContent()
- ) . "\n",
- $this
- );
- /* @var Smarty_Internal_ConfigFileParser $this ->parser */
- $this->parser = new $this->parser_class($this->lex, $this);
- if (function_exists('mb_internal_encoding')
- && function_exists('ini_get')
- && ((int)ini_get('mbstring.func_overload')) & 2
- ) {
- $mbEncoding = mb_internal_encoding();
- mb_internal_encoding('ASCII');
- } else {
- $mbEncoding = null;
- }
- if ($this->smarty->_parserdebug) {
- $this->parser->PrintTrace();
- }
- // get tokens from lexer and parse them
- while ($this->lex->yylex()) {
- if ($this->smarty->_parserdebug) {
- echo " Parsing {$this->parser->yyTokenName[$this->lex->token]} Token {$this->lex->value} Line {$this->lex->line} \n";
- }
- $this->parser->doParse($this->lex->token, $this->lex->value);
- }
- // finish parsing process
- $this->parser->doParse(0, 0);
- if ($mbEncoding) {
- mb_internal_encoding($mbEncoding);
- }
- if ($this->smarty->debugging) {
- $this->smarty->_debug->end_compile($this->template);
- }
- // template header code
- $template_header =
- "template->source->filepath}' */ ?>\n";
- $code = 'smarty->ext->configLoad->_loadConfigVars($_smarty_tpl, ' .
- var_export($this->config_data, true) . '); ?>';
- return $template_header . $this->template->smarty->ext->_codeFrame->create($this->template, $code);
- }
-
- /**
- * display compiler error messages without dying
- * If parameter $args is empty it is a parser detected syntax error.
- * In this case the parser is called to obtain information about expected tokens.
- * If parameter $args contains a string this is used as error message
- *
- * @param string $args individual error message or null
- *
- * @throws SmartyCompilerException
- */
- public function trigger_config_file_error($args = null)
- {
- // get config source line which has error
- $line = $this->lex->line;
- if (isset($args)) {
- // $line--;
- }
- $match = preg_split("/\n/", $this->lex->data);
- $error_text =
- "Syntax error in config file '{$this->template->source->filepath}' on line {$line} '{$match[$line - 1]}' ";
- if (isset($args)) {
- // individual error message
- $error_text .= $args;
- } else {
- // expected token from parser
- foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
- $exp_token = $this->parser->yyTokenName[ $token ];
- if (isset($this->lex->smarty_token_names[ $exp_token ])) {
- // token type from lexer
- $expect[] = '"' . $this->lex->smarty_token_names[ $exp_token ] . '"';
- } else {
- // otherwise internal token name
- $expect[] = $this->parser->yyTokenName[ $token ];
- }
- }
- // output parser error message
- $error_text .= ' - Unexpected "' . $this->lex->value . '", expected one of: ' . implode(' , ', $expect);
- }
- throw new SmartyCompilerException($error_text);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_configfilelexer.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_configfilelexer.php
deleted file mode 100755
index afb3efc..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_configfilelexer.php
+++ /dev/null
@@ -1,739 +0,0 @@
- 'START', 2 => 'VALUE', 3 => 'NAKED_STRING_VALUE', 4 => 'COMMENT', 5 => 'SECTION', 6 => 'TRIPPLE'
- );
-
- /**
- * token names
- *
- * @var array
- */
- public $smarty_token_names = array( // Text for parser error messages
- );
-
- /**
- * compiler object
- *
- * @var Smarty_Internal_Config_File_Compiler
- */
- private $compiler = null;
-
- /**
- * copy of config_booleanize
- *
- * @var bool
- */
- private $configBooleanize = false;
-
- /**
- * storage for assembled token patterns
- *
- * @var string
- */
- private $yy_global_pattern1 = null;
-
- private $yy_global_pattern2 = null;
-
- private $yy_global_pattern3 = null;
-
- private $yy_global_pattern4 = null;
-
- private $yy_global_pattern5 = null;
-
- private $yy_global_pattern6 = null;
-
- private $_yy_state = 1;
-
- private $_yy_stack = array();
-
- /**
- * constructor
- *
- * @param string $data template source
- * @param Smarty_Internal_Config_File_Compiler $compiler
- */
- public function __construct($data, Smarty_Internal_Config_File_Compiler $compiler)
- {
- $this->data = $data . "\n"; //now all lines are \n-terminated
- $this->dataLength = strlen($data);
- $this->counter = 0;
- if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) {
- $this->counter += strlen($match[ 0 ]);
- }
- $this->line = 1;
- $this->compiler = $compiler;
- $this->smarty = $compiler->smarty;
- $this->configBooleanize = $this->smarty->config_booleanize;
- }
-
- public function replace($input)
- {
- return $input;
- } // end function
-
- public function PrintTrace()
- {
- $this->yyTraceFILE = fopen('php://output', 'w');
- $this->yyTracePrompt = ' ';
- }
-
- public function yylex()
- {
- return $this->{'yylex' . $this->_yy_state}();
- }
-
- public function yypushstate($state)
- {
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sState push %s\n",
- $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state
- );
- }
- array_push($this->_yy_stack, $this->_yy_state);
- $this->_yy_state = $state;
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%snew State %s\n",
- $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state
- );
- }
- }
-
- public function yypopstate()
- {
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sState pop %s\n",
- $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state
- );
- }
- $this->_yy_state = array_pop($this->_yy_stack);
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%snew State %s\n",
- $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state
- );
- }
- }
-
- public function yybegin($state)
- {
- $this->_yy_state = $state;
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sState set %s\n",
- $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state
- );
- }
- }
-
- public function yylex1()
- {
- if (!isset($this->yy_global_pattern1)) {
- $this->yy_global_pattern1 =
- $this->replace("/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern1, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state START');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r1_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r1_1()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART;
- $this->yypushstate(self::COMMENT);
- }
-
- public function yy_r1_2()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_OPENB;
- $this->yypushstate(self::SECTION);
- }
-
- public function yy_r1_3()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB;
- }
-
- public function yy_r1_4()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL;
- $this->yypushstate(self::VALUE);
- } // end function
-
- public function yy_r1_5()
- {
- return false;
- }
-
- public function yy_r1_6()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
- }
-
- public function yy_r1_7()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_ID;
- }
-
- public function yy_r1_8()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_OTHER;
- }
-
- public function yylex2()
- {
- if (!isset($this->yy_global_pattern2)) {
- $this->yy_global_pattern2 =
- $this->replace("/\G([ \t\r]+)|\G(\\d+\\.\\d+(?=[ \t\r]*[\n#;]))|\G(\\d+(?=[ \t\r]*[\n#;]))|\G(\"\"\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#;]))|\G(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#;]))|\G([a-zA-Z]+(?=[ \t\r]*[\n#;]))|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern2, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state VALUE');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r2_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r2_1()
- {
- return false;
- }
-
- public function yy_r2_2()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT;
- $this->yypopstate();
- }
-
- public function yy_r2_3()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_INT;
- $this->yypopstate();
- }
-
- public function yy_r2_4()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES;
- $this->yypushstate(self::TRIPPLE);
- }
-
- public function yy_r2_5()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING;
- $this->yypopstate();
- }
-
- public function yy_r2_6()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING;
- $this->yypopstate();
- } // end function
-
- public function yy_r2_7()
- {
- if (!$this->configBooleanize ||
- !in_array(strtolower($this->value), array('true', 'false', 'on', 'off', 'yes', 'no'))) {
- $this->yypopstate();
- $this->yypushstate(self::NAKED_STRING_VALUE);
- return true; //reprocess in new state
- } else {
- $this->token = Smarty_Internal_Configfileparser::TPC_BOOL;
- $this->yypopstate();
- }
- }
-
- public function yy_r2_8()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- $this->yypopstate();
- }
-
- public function yy_r2_9()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- $this->value = '';
- $this->yypopstate();
- } // end function
-
- public function yylex3()
- {
- if (!isset($this->yy_global_pattern3)) {
- $this->yy_global_pattern3 = $this->replace("/\G([^\n]+?(?=[ \t\r]*\n))/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern3, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state NAKED_STRING_VALUE');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r3_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r3_1()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- $this->yypopstate();
- }
-
- public function yylex4()
- {
- if (!isset($this->yy_global_pattern4)) {
- $this->yy_global_pattern4 = $this->replace("/\G([ \t\r]+)|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern4, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state COMMENT');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r4_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r4_1()
- {
- return false;
- }
-
- public function yy_r4_2()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- } // end function
-
- public function yy_r4_3()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
- $this->yypopstate();
- }
-
- public function yylex5()
- {
- if (!isset($this->yy_global_pattern5)) {
- $this->yy_global_pattern5 = $this->replace("/\G(\\.)|\G(.*?(?=[\.=[\]\r\n]))/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern5, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state SECTION');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r5_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r5_1()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_DOT;
- }
-
- public function yy_r5_2()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_SECTION;
- $this->yypopstate();
- } // end function
-
- public function yylex6()
- {
- if (!isset($this->yy_global_pattern6)) {
- $this->yy_global_pattern6 = $this->replace("/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([\S\s])/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern6, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state TRIPPLE');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r6_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r6_1()
- {
- $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES_END;
- $this->yypopstate();
- $this->yypushstate(self::START);
- }
-
- public function yy_r6_2()
- {
- $to = strlen($this->data);
- preg_match("/\"\"\"[ \t\r]*[\n#;]/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
- if (isset($match[ 0 ][ 1 ])) {
- $to = $match[ 0 ][ 1 ];
- } else {
- $this->compiler->trigger_config_file_error('missing or misspelled literal closing tag');
- }
- $this->value = substr($this->data, $this->counter, $to - $this->counter);
- $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_configfileparser.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_configfileparser.php
deleted file mode 100755
index 36fdb76..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_configfileparser.php
+++ /dev/null
@@ -1,1046 +0,0 @@
- 20, 1 => 2),
- array(0 => 21, 1 => 1),
- array(0 => 22, 1 => 2),
- array(0 => 22, 1 => 0),
- array(0 => 24, 1 => 5),
- array(0 => 24, 1 => 6),
- array(0 => 23, 1 => 2),
- array(0 => 23, 1 => 2),
- array(0 => 23, 1 => 0),
- array(0 => 26, 1 => 3),
- array(0 => 27, 1 => 1),
- array(0 => 27, 1 => 1),
- array(0 => 27, 1 => 1),
- array(0 => 27, 1 => 1),
- array(0 => 27, 1 => 1),
- array(0 => 27, 1 => 3),
- array(0 => 27, 1 => 2),
- array(0 => 27, 1 => 1),
- array(0 => 27, 1 => 1),
- array(0 => 25, 1 => 1),
- array(0 => 25, 1 => 2),
- array(0 => 25, 1 => 3),
- );
-
- public static $yyReduceMap = array(
- 0 => 0,
- 2 => 0,
- 3 => 0,
- 19 => 0,
- 20 => 0,
- 21 => 0,
- 1 => 1,
- 4 => 4,
- 5 => 5,
- 6 => 6,
- 7 => 7,
- 8 => 8,
- 9 => 9,
- 10 => 10,
- 11 => 11,
- 12 => 12,
- 13 => 13,
- 14 => 14,
- 15 => 15,
- 16 => 16,
- 17 => 17,
- 18 => 17,
- );
-
- /**
- * helper map
- *
- * @var array
- */
- private static $escapes_single = array(
- '\\' => '\\',
- '\'' => '\''
- );
-
- /**
- * result status
- *
- * @var bool
- */
- public $successful = true;
-
- /**
- * return value
- *
- * @var mixed
- */
- public $retvalue = 0;
-
- /**
- * @var
- */
- public $yymajor;
-
- /**
- * compiler object
- *
- * @var Smarty_Internal_Config_File_Compiler
- */
- public $compiler = null;
-
- /**
- * smarty object
- *
- * @var Smarty
- */
- public $smarty = null;
-
- public $yyTraceFILE;
-
- public $yyTracePrompt;
-
- public $yyidx;
-
- public $yyerrcnt;
-
- public $yystack = array();
-
- public $yyTokenName = array(
- '$', 'OPENB', 'SECTION', 'CLOSEB',
- 'DOT', 'ID', 'EQUAL', 'FLOAT',
- 'INT', 'BOOL', 'SINGLE_QUOTED_STRING', 'DOUBLE_QUOTED_STRING',
- 'TRIPPLE_QUOTES', 'TRIPPLE_TEXT', 'TRIPPLE_QUOTES_END', 'NAKED_STRING',
- 'OTHER', 'NEWLINE', 'COMMENTSTART', 'error',
- 'start', 'global_vars', 'sections', 'var_list',
- 'section', 'newline', 'var', 'value',
- );
-
- /**
- * lexer object
- *
- * @var Smarty_Internal_Configfilelexer
- */
- private $lex;
-
- /**
- * internal error flag
- *
- * @var bool
- */
- private $internalError = false;
-
- /**
- * copy of config_overwrite property
- *
- * @var bool
- */
- private $configOverwrite = false;
-
- /**
- * copy of config_read_hidden property
- *
- * @var bool
- */
- private $configReadHidden = false;
-
- private $_retvalue;
-
- /**
- * constructor
- *
- * @param Smarty_Internal_Configfilelexer $lex
- * @param Smarty_Internal_Config_File_Compiler $compiler
- */
- public function __construct(Smarty_Internal_Configfilelexer $lex, Smarty_Internal_Config_File_Compiler $compiler)
- {
- $this->lex = $lex;
- $this->smarty = $compiler->smarty;
- $this->compiler = $compiler;
- $this->configOverwrite = $this->smarty->config_overwrite;
- $this->configReadHidden = $this->smarty->config_read_hidden;
- }
-
- public static function yy_destructor($yymajor, $yypminor)
- {
- switch ($yymajor) {
- default:
- break; /* If no destructor action specified: do nothing */
- }
- }
-
- /**
- * parse single quoted string
- * remove outer quotes
- * unescape inner quotes
- *
- * @param string $qstr
- *
- * @return string
- */
- private static function parse_single_quoted_string($qstr)
- {
- $escaped_string = substr($qstr, 1, strlen($qstr) - 2); //remove outer quotes
- $ss = preg_split('/(\\\\.)/', $escaped_string, -1, PREG_SPLIT_DELIM_CAPTURE);
- $str = '';
- foreach ($ss as $s) {
- if (strlen($s) === 2 && $s[ 0 ] === '\\') {
- if (isset(self::$escapes_single[ $s[ 1 ] ])) {
- $s = self::$escapes_single[ $s[ 1 ] ];
- }
- }
- $str .= $s;
- }
- return $str;
- } /* Index of top element in stack */
- /**
- * parse double quoted string
- *
- * @param string $qstr
- *
- * @return string
- */
- private static function parse_double_quoted_string($qstr)
- {
- $inner_str = substr($qstr, 1, strlen($qstr) - 2);
- return stripcslashes($inner_str);
- } /* Shifts left before out of the error */
- /**
- * parse triple quoted string
- *
- * @param string $qstr
- *
- * @return string
- */
- private static function parse_tripple_double_quoted_string($qstr)
- {
- return stripcslashes($qstr);
- } /* The parser's stack */
- public function Trace($TraceFILE, $zTracePrompt)
- {
- if (!$TraceFILE) {
- $zTracePrompt = 0;
- } elseif (!$zTracePrompt) {
- $TraceFILE = 0;
- }
- $this->yyTraceFILE = $TraceFILE;
- $this->yyTracePrompt = $zTracePrompt;
- }
-
- public function PrintTrace()
- {
- $this->yyTraceFILE = fopen('php://output', 'w');
- $this->yyTracePrompt = ' ';
- }
-
- public function tokenName($tokenType)
- {
- if ($tokenType === 0) {
- return 'End of Input';
- }
- if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
- return $this->yyTokenName[ $tokenType ];
- } else {
- return 'Unknown';
- }
- }
-
- public function yy_pop_parser_stack()
- {
- if (empty($this->yystack)) {
- return;
- }
- $yytos = array_pop($this->yystack);
- if ($this->yyTraceFILE && $this->yyidx >= 0) {
- fwrite(
- $this->yyTraceFILE,
- $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] .
- "\n"
- );
- }
- $yymajor = $yytos->major;
- self::yy_destructor($yymajor, $yytos->minor);
- $this->yyidx--;
- return $yymajor;
- }
-
- public function __destruct()
- {
- while ($this->yystack !== array()) {
- $this->yy_pop_parser_stack();
- }
- if (is_resource($this->yyTraceFILE)) {
- fclose($this->yyTraceFILE);
- }
- }
-
- public function yy_get_expected_tokens($token)
- {
- static $res3 = array();
- static $res4 = array();
- $state = $this->yystack[ $this->yyidx ]->stateno;
- $expected = self::$yyExpectedTokens[ $state ];
- if (isset($res3[ $state ][ $token ])) {
- if ($res3[ $state ][ $token ]) {
- return $expected;
- }
- } else {
- if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
- return $expected;
- }
- }
- $stack = $this->yystack;
- $yyidx = $this->yyidx;
- do {
- $yyact = $this->yy_find_shift_action($token);
- if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
- // reduce action
- $done = 0;
- do {
- if ($done++ === 100) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // too much recursion prevents proper detection
- // so give up
- return array_unique($expected);
- }
- $yyruleno = $yyact - self::YYNSTATE;
- $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
- $nextstate = $this->yy_find_reduce_action(
- $this->yystack[ $this->yyidx ]->stateno,
- self::$yyRuleInfo[ $yyruleno ][ 0 ]
- );
- if (isset(self::$yyExpectedTokens[ $nextstate ])) {
- $expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
- if (isset($res4[ $nextstate ][ $token ])) {
- if ($res4[ $nextstate ][ $token ]) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return array_unique($expected);
- }
- } else {
- if ($res4[ $nextstate ][ $token ] =
- in_array($token, self::$yyExpectedTokens[ $nextstate ], true)) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return array_unique($expected);
- }
- }
- }
- if ($nextstate < self::YYNSTATE) {
- // we need to shift a non-terminal
- $this->yyidx++;
- $x = new TPC_yyStackEntry;
- $x->stateno = $nextstate;
- $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
- $this->yystack[ $this->yyidx ] = $x;
- continue 2;
- } elseif ($nextstate === self::YYNSTATE + self::YYNRULE + 1) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // the last token was just ignored, we can't accept
- // by ignoring input, this is in essence ignoring a
- // syntax error!
- return array_unique($expected);
- } elseif ($nextstate === self::YY_NO_ACTION) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // input accepted, but not shifted (I guess)
- return $expected;
- } else {
- $yyact = $nextstate;
- }
- } while (true);
- }
- break;
- } while (true);
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return array_unique($expected);
- }
-
- public function yy_is_expected_token($token)
- {
- static $res = array();
- static $res2 = array();
- if ($token === 0) {
- return true; // 0 is not part of this
- }
- $state = $this->yystack[ $this->yyidx ]->stateno;
- if (isset($res[ $state ][ $token ])) {
- if ($res[ $state ][ $token ]) {
- return true;
- }
- } else {
- if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
- return true;
- }
- }
- $stack = $this->yystack;
- $yyidx = $this->yyidx;
- do {
- $yyact = $this->yy_find_shift_action($token);
- if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
- // reduce action
- $done = 0;
- do {
- if ($done++ === 100) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // too much recursion prevents proper detection
- // so give up
- return true;
- }
- $yyruleno = $yyact - self::YYNSTATE;
- $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
- $nextstate = $this->yy_find_reduce_action(
- $this->yystack[ $this->yyidx ]->stateno,
- self::$yyRuleInfo[ $yyruleno ][ 0 ]
- );
- if (isset($res2[ $nextstate ][ $token ])) {
- if ($res2[ $nextstate ][ $token ]) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return true;
- }
- } else {
- if ($res2[ $nextstate ][ $token ] =
- (isset(self::$yyExpectedTokens[ $nextstate ]) &&
- in_array($token, self::$yyExpectedTokens[ $nextstate ], true))) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return true;
- }
- }
- if ($nextstate < self::YYNSTATE) {
- // we need to shift a non-terminal
- $this->yyidx++;
- $x = new TPC_yyStackEntry;
- $x->stateno = $nextstate;
- $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
- $this->yystack[ $this->yyidx ] = $x;
- continue 2;
- } elseif ($nextstate === self::YYNSTATE + self::YYNRULE + 1) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- if (!$token) {
- // end of input: this is valid
- return true;
- }
- // the last token was just ignored, we can't accept
- // by ignoring input, this is in essence ignoring a
- // syntax error!
- return false;
- } elseif ($nextstate === self::YY_NO_ACTION) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // input accepted, but not shifted (I guess)
- return true;
- } else {
- $yyact = $nextstate;
- }
- } while (true);
- }
- break;
- } while (true);
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return true;
- }
-
- public function yy_find_shift_action($iLookAhead)
- {
- $stateno = $this->yystack[ $this->yyidx ]->stateno;
- /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
- if (!isset(self::$yy_shift_ofst[ $stateno ])) {
- // no shift actions
- return self::$yy_default[ $stateno ];
- }
- $i = self::$yy_shift_ofst[ $stateno ];
- if ($i === self::YY_SHIFT_USE_DFLT) {
- return self::$yy_default[ $stateno ];
- }
- if ($iLookAhead === self::YYNOCODE) {
- return self::YY_NO_ACTION;
- }
- $i += $iLookAhead;
- if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[ $i ] != $iLookAhead) {
- if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
- && ($iFallback = self::$yyFallback[ $iLookAhead ]) != 0) {
- if ($this->yyTraceFILE) {
- fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'FALLBACK ' .
- $this->yyTokenName[ $iLookAhead ] . ' => ' .
- $this->yyTokenName[ $iFallback ] . "\n");
- }
- return $this->yy_find_shift_action($iFallback);
- }
- return self::$yy_default[ $stateno ];
- } else {
- return self::$yy_action[ $i ];
- }
- }
-
- public function yy_find_reduce_action($stateno, $iLookAhead)
- {
- /* $stateno = $this->yystack[$this->yyidx]->stateno; */
- if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
- return self::$yy_default[ $stateno ];
- }
- $i = self::$yy_reduce_ofst[ $stateno ];
- if ($i === self::YY_REDUCE_USE_DFLT) {
- return self::$yy_default[ $stateno ];
- }
- if ($iLookAhead === self::YYNOCODE) {
- return self::YY_NO_ACTION;
- }
- $i += $iLookAhead;
- if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[ $i ] != $iLookAhead) {
- return self::$yy_default[ $stateno ];
- } else {
- return self::$yy_action[ $i ];
- }
- }
-
- public function yy_shift($yyNewState, $yyMajor, $yypMinor)
- {
- $this->yyidx++;
- if ($this->yyidx >= self::YYSTACKDEPTH) {
- $this->yyidx--;
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
- }
- while ($this->yyidx >= 0) {
- $this->yy_pop_parser_stack();
- }
- // line 239 "../smarty/lexer/smarty_internal_configfileparser.y"
- $this->internalError = true;
- $this->compiler->trigger_config_file_error('Stack overflow in configfile parser');
- return;
- }
- $yytos = new TPC_yyStackEntry;
- $yytos->stateno = $yyNewState;
- $yytos->major = $yyMajor;
- $yytos->minor = $yypMinor;
- $this->yystack[] = $yytos;
- if ($this->yyTraceFILE && $this->yyidx > 0) {
- fprintf(
- $this->yyTraceFILE,
- "%sShift %d\n",
- $this->yyTracePrompt,
- $yyNewState
- );
- fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
- for ($i = 1; $i <= $this->yyidx; $i++) {
- fprintf(
- $this->yyTraceFILE,
- " %s",
- $this->yyTokenName[ $this->yystack[ $i ]->major ]
- );
- }
- fwrite($this->yyTraceFILE, "\n");
- }
- }
-
- public function yy_r0()
- {
- $this->_retvalue = null;
- }
-
- public function yy_r1()
- {
- $this->add_global_vars($this->yystack[ $this->yyidx + 0 ]->minor);
- $this->_retvalue = null;
- }
-
- public function yy_r4()
- {
- $this->add_section_vars($this->yystack[ $this->yyidx + -3 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
- $this->_retvalue = null;
- }
-
- // line 245 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r5()
- {
- if ($this->configReadHidden) {
- $this->add_section_vars(
- $this->yystack[ $this->yyidx + -3 ]->minor,
- $this->yystack[ $this->yyidx + 0 ]->minor
- );
- }
- $this->_retvalue = null;
- }
-
- // line 250 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r6()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor;
- }
-
- // line 264 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r7()
- {
- $this->_retvalue =
- array_merge($this->yystack[ $this->yyidx + -1 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 269 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r8()
- {
- $this->_retvalue = array();
- }
-
- // line 277 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r9()
- {
- $this->_retvalue =
- array(
- 'key' => $this->yystack[ $this->yyidx + -2 ]->minor,
- 'value' => $this->yystack[ $this->yyidx + 0 ]->minor
- );
- }
-
- // line 281 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r10()
- {
- $this->_retvalue = (float)$this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 285 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r11()
- {
- $this->_retvalue = (int)$this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 291 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r12()
- {
- $this->_retvalue = $this->parse_bool($this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 296 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r13()
- {
- $this->_retvalue = self::parse_single_quoted_string($this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 300 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r14()
- {
- $this->_retvalue = self::parse_double_quoted_string($this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 304 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r15()
- {
- $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[ $this->yyidx + -1 ]->minor);
- }
-
- // line 308 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r16()
- {
- $this->_retvalue = '';
- }
-
- // line 312 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_r17()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 316 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_reduce($yyruleno)
- {
- if ($this->yyTraceFILE && $yyruleno >= 0
- && $yyruleno < count(self::$yyRuleName)) {
- fprintf(
- $this->yyTraceFILE,
- "%sReduce (%d) [%s].\n",
- $this->yyTracePrompt,
- $yyruleno,
- self::$yyRuleName[ $yyruleno ]
- );
- }
- $this->_retvalue = $yy_lefthand_side = null;
- if (isset(self::$yyReduceMap[ $yyruleno ])) {
- // call the action
- $this->_retvalue = null;
- $this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
- $yy_lefthand_side = $this->_retvalue;
- }
- $yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
- $yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
- $this->yyidx -= $yysize;
- for ($i = $yysize; $i; $i--) {
- // pop all of the right-hand side parameters
- array_pop($this->yystack);
- }
- $yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
- if ($yyact < self::YYNSTATE) {
- if (!$this->yyTraceFILE && $yysize) {
- $this->yyidx++;
- $x = new TPC_yyStackEntry;
- $x->stateno = $yyact;
- $x->major = $yygoto;
- $x->minor = $yy_lefthand_side;
- $this->yystack[ $this->yyidx ] = $x;
- } else {
- $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
- }
- } elseif ($yyact === self::YYNSTATE + self::YYNRULE + 1) {
- $this->yy_accept();
- }
- }
-
- // line 320 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_parse_failed()
- {
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
- }
- while ($this->yyidx >= 0) {
- $this->yy_pop_parser_stack();
- }
- }
-
- // line 324 "../smarty/lexer/smarty_internal_configfileparser.y"
- public function yy_syntax_error($yymajor, $TOKEN)
- {
- // line 232 "../smarty/lexer/smarty_internal_configfileparser.y"
- $this->internalError = true;
- $this->yymajor = $yymajor;
- $this->compiler->trigger_config_file_error();
- }
-
- public function yy_accept()
- {
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
- }
- while ($this->yyidx >= 0) {
- $this->yy_pop_parser_stack();
- }
- // line 225 "../smarty/lexer/smarty_internal_configfileparser.y"
- $this->successful = !$this->internalError;
- $this->internalError = false;
- $this->retvalue = $this->_retvalue;
- }
-
- public function doParse($yymajor, $yytokenvalue)
- {
- $yyerrorhit = 0; /* True if yymajor has invoked an error */
- if ($this->yyidx === null || $this->yyidx < 0) {
- $this->yyidx = 0;
- $this->yyerrcnt = -1;
- $x = new TPC_yyStackEntry;
- $x->stateno = 0;
- $x->major = 0;
- $this->yystack = array();
- $this->yystack[] = $x;
- }
- $yyendofinput = ($yymajor == 0);
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sInput %s\n",
- $this->yyTracePrompt,
- $this->yyTokenName[ $yymajor ]
- );
- }
- do {
- $yyact = $this->yy_find_shift_action($yymajor);
- if ($yymajor < self::YYERRORSYMBOL &&
- !$this->yy_is_expected_token($yymajor)) {
- // force a syntax error
- $yyact = self::YY_ERROR_ACTION;
- }
- if ($yyact < self::YYNSTATE) {
- $this->yy_shift($yyact, $yymajor, $yytokenvalue);
- $this->yyerrcnt--;
- if ($yyendofinput && $this->yyidx >= 0) {
- $yymajor = 0;
- } else {
- $yymajor = self::YYNOCODE;
- }
- } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
- $this->yy_reduce($yyact - self::YYNSTATE);
- } elseif ($yyact === self::YY_ERROR_ACTION) {
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sSyntax Error!\n",
- $this->yyTracePrompt
- );
- }
- if (self::YYERRORSYMBOL) {
- if ($this->yyerrcnt < 0) {
- $this->yy_syntax_error($yymajor, $yytokenvalue);
- }
- $yymx = $this->yystack[ $this->yyidx ]->major;
- if ($yymx === self::YYERRORSYMBOL || $yyerrorhit) {
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sDiscard input token %s\n",
- $this->yyTracePrompt,
- $this->yyTokenName[ $yymajor ]
- );
- }
- $this->yy_destructor($yymajor, $yytokenvalue);
- $yymajor = self::YYNOCODE;
- } else {
- while ($this->yyidx >= 0 &&
- $yymx !== self::YYERRORSYMBOL &&
- ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
- ) {
- $this->yy_pop_parser_stack();
- }
- if ($this->yyidx < 0 || $yymajor == 0) {
- $this->yy_destructor($yymajor, $yytokenvalue);
- $this->yy_parse_failed();
- $yymajor = self::YYNOCODE;
- } elseif ($yymx !== self::YYERRORSYMBOL) {
- $u2 = 0;
- $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
- }
- }
- $this->yyerrcnt = 3;
- $yyerrorhit = 1;
- } else {
- if ($this->yyerrcnt <= 0) {
- $this->yy_syntax_error($yymajor, $yytokenvalue);
- }
- $this->yyerrcnt = 3;
- $this->yy_destructor($yymajor, $yytokenvalue);
- if ($yyendofinput) {
- $this->yy_parse_failed();
- }
- $yymajor = self::YYNOCODE;
- }
- } else {
- $this->yy_accept();
- $yymajor = self::YYNOCODE;
- }
- } while ($yymajor !== self::YYNOCODE && $this->yyidx >= 0);
- }
-
- /**
- * parse optional boolean keywords
- *
- * @param string $str
- *
- * @return bool
- */
- private function parse_bool($str)
- {
- $str = strtolower($str);
- if (in_array($str, array('on', 'yes', 'true'))) {
- $res = true;
- } else {
- $res = false;
- }
- return $res;
- }
-
- /**
- * set a config variable in target array
- *
- * @param array $var
- * @param array $target_array
- */
- private function set_var(array $var, array &$target_array)
- {
- $key = $var[ 'key' ];
- $value = $var[ 'value' ];
- if ($this->configOverwrite || !isset($target_array[ 'vars' ][ $key ])) {
- $target_array[ 'vars' ][ $key ] = $value;
- } else {
- settype($target_array[ 'vars' ][ $key ], 'array');
- $target_array[ 'vars' ][ $key ][] = $value;
- }
- }
-
- /**
- * add config variable to global vars
- *
- * @param array $vars
- */
- private function add_global_vars(array $vars)
- {
- if (!isset($this->compiler->config_data[ 'vars' ])) {
- $this->compiler->config_data[ 'vars' ] = array();
- }
- foreach ($vars as $var) {
- $this->set_var($var, $this->compiler->config_data);
- }
- }
-
- /**
- * add config variable to section
- *
- * @param string $section_name
- * @param array $vars
- */
- private function add_section_vars($section_name, array $vars)
- {
- if (!isset($this->compiler->config_data[ 'sections' ][ $section_name ][ 'vars' ])) {
- $this->compiler->config_data[ 'sections' ][ $section_name ][ 'vars' ] = array();
- }
- foreach ($vars as $var) {
- $this->set_var($var, $this->compiler->config_data[ 'sections' ][ $section_name ]);
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_data.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_data.php
deleted file mode 100755
index 98e3e57..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_data.php
+++ /dev/null
@@ -1,292 +0,0 @@
-ext = new Smarty_Internal_Extension_Handler();
- $this->ext->objType = $this->_objType;
- }
-
- /**
- * assigns a Smarty variable
- *
- * @param array|string $tpl_var the template variable name(s)
- * @param mixed $value the value to assign
- * @param boolean $nocache if true any output of this variable will be not cached
- *
- * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for
- * chaining
- */
- public function assign($tpl_var, $value = null, $nocache = false)
- {
- if (is_array($tpl_var)) {
- foreach ($tpl_var as $_key => $_val) {
- $this->assign($_key, $_val, $nocache);
- }
- } else {
- if ($tpl_var !== '') {
- if ($this->_objType === 2) {
- /**
- *
- *
- * @var Smarty_Internal_Template $this
- */
- $this->_assignInScope($tpl_var, $value, $nocache);
- } else {
- $this->tpl_vars[ $tpl_var ] = new Smarty_Variable($value, $nocache);
- }
- }
- }
- return $this;
- }
-
- /**
- * appends values to template variables
- *
- * @api Smarty::append()
- * @link http://www.smarty.net/docs/en/api.append.tpl
- *
- * @param array|string $tpl_var the template variable name(s)
- * @param mixed $value the value to append
- * @param bool $merge flag if array elements shall be merged
- * @param bool $nocache if true any output of this variable will
- * be not cached
- *
- * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty
- */
- public function append($tpl_var, $value = null, $merge = false, $nocache = false)
- {
- return $this->ext->append->append($this, $tpl_var, $value, $merge, $nocache);
- }
-
- /**
- * assigns a global Smarty variable
- *
- * @param string $varName the global variable name
- * @param mixed $value the value to assign
- * @param boolean $nocache if true any output of this variable will be not cached
- *
- * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty
- */
- public function assignGlobal($varName, $value = null, $nocache = false)
- {
- return $this->ext->assignGlobal->assignGlobal($this, $varName, $value, $nocache);
- }
-
- /**
- * appends values to template variables by reference
- *
- * @param string $tpl_var the template variable name
- * @param mixed &$value the referenced value to append
- * @param boolean $merge flag if array elements shall be merged
- *
- * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty
- */
- public function appendByRef($tpl_var, &$value, $merge = false)
- {
- return $this->ext->appendByRef->appendByRef($this, $tpl_var, $value, $merge);
- }
-
- /**
- * assigns values to template variables by reference
- *
- * @param string $tpl_var the template variable name
- * @param $value
- * @param boolean $nocache if true any output of this variable will be not cached
- *
- * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty
- */
- public function assignByRef($tpl_var, &$value, $nocache = false)
- {
- return $this->ext->assignByRef->assignByRef($this, $tpl_var, $value, $nocache);
- }
-
- /**
- * Returns a single or all template variables
- *
- * @api Smarty::getTemplateVars()
- * @link http://www.smarty.net/docs/en/api.get.template.vars.tpl
- *
- * @param string $varName variable name or null
- * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $_ptr optional pointer to data object
- * @param bool $searchParents include parent templates?
- *
- * @return mixed variable value or or array of variables
- */
- public function getTemplateVars($varName = null, Smarty_Internal_Data $_ptr = null, $searchParents = true)
- {
- return $this->ext->getTemplateVars->getTemplateVars($this, $varName, $_ptr, $searchParents);
- }
-
- /**
- * gets the object of a Smarty variable
- *
- * @param string $variable the name of the Smarty variable
- * @param Smarty_Internal_Data $_ptr optional pointer to data object
- * @param boolean $searchParents search also in parent data
- * @param bool $error_enable
- *
- * @return Smarty_Variable|Smarty_Undefined_Variable the object of the variable
- * @deprecated since 3.1.28 please use Smarty_Internal_Data::getTemplateVars() instead.
- */
- public function getVariable(
- $variable = null,
- Smarty_Internal_Data $_ptr = null,
- $searchParents = true,
- $error_enable = true
- ) {
- return $this->ext->getTemplateVars->_getVariable($this, $variable, $_ptr, $searchParents, $error_enable);
- }
-
- /**
- * Follow the parent chain an merge template and config variables
- *
- * @param \Smarty_Internal_Data|null $data
- */
- public function _mergeVars(Smarty_Internal_Data $data = null)
- {
- if (isset($data)) {
- if (!empty($this->tpl_vars)) {
- $data->tpl_vars = array_merge($this->tpl_vars, $data->tpl_vars);
- }
- if (!empty($this->config_vars)) {
- $data->config_vars = array_merge($this->config_vars, $data->config_vars);
- }
- } else {
- $data = $this;
- }
- if (isset($this->parent)) {
- $this->parent->_mergeVars($data);
- }
- }
-
- /**
- * Return true if this instance is a Data obj
- *
- * @return bool
- */
- public function _isDataObj()
- {
- return $this->_objType === 4;
- }
-
- /**
- * Return true if this instance is a template obj
- *
- * @return bool
- */
- public function _isTplObj()
- {
- return $this->_objType === 2;
- }
-
- /**
- * Return true if this instance is a Smarty obj
- *
- * @return bool
- */
- public function _isSmartyObj()
- {
- return $this->_objType === 1;
- }
-
- /**
- * Get Smarty object
- *
- * @return Smarty
- */
- public function _getSmartyObj()
- {
- return $this->smarty;
- }
-
- /**
- * Handle unknown class methods
- *
- * @param string $name unknown method-name
- * @param array $args argument array
- *
- * @return mixed
- */
- public function __call($name, $args)
- {
- return $this->ext->_callExternalMethod($this, $name, $args);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_debug.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_debug.php
deleted file mode 100755
index 24b233e..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_debug.php
+++ /dev/null
@@ -1,425 +0,0 @@
-_isSubTpl()) {
- $this->index++;
- $this->offset++;
- $this->template_data[ $this->index ] = null;
- }
- $key = $this->get_key($template);
- $this->template_data[ $this->index ][ $key ][ 'start_template_time' ] = microtime(true);
- }
-
- /**
- * End logging of cache time
- *
- * @param \Smarty_Internal_Template $template cached template
- */
- public function end_template(Smarty_Internal_Template $template)
- {
- $key = $this->get_key($template);
- $this->template_data[ $this->index ][ $key ][ 'total_time' ] +=
- microtime(true) - $this->template_data[ $this->index ][ $key ][ 'start_template_time' ];
- //$this->template_data[$this->index][$key]['properties'] = $template->properties;
- }
-
- /**
- * Start logging of compile time
- *
- * @param \Smarty_Internal_Template $template
- */
- public function start_compile(Smarty_Internal_Template $template)
- {
- static $_is_stringy = array('string' => true, 'eval' => true);
- if (!empty($template->compiler->trace_uid)) {
- $key = $template->compiler->trace_uid;
- if (!isset($this->template_data[ $this->index ][ $key ])) {
- if (isset($_is_stringy[ $template->source->type ])) {
- $this->template_data[ $this->index ][ $key ][ 'name' ] =
- '\'' . substr($template->source->name, 0, 25) . '...\'';
- } else {
- $this->template_data[ $this->index ][ $key ][ 'name' ] = $template->source->filepath;
- }
- $this->template_data[ $this->index ][ $key ][ 'compile_time' ] = 0;
- $this->template_data[ $this->index ][ $key ][ 'render_time' ] = 0;
- $this->template_data[ $this->index ][ $key ][ 'cache_time' ] = 0;
- }
- } else {
- if (isset($this->ignore_uid[ $template->source->uid ])) {
- return;
- }
- $key = $this->get_key($template);
- }
- $this->template_data[ $this->index ][ $key ][ 'start_time' ] = microtime(true);
- }
-
- /**
- * End logging of compile time
- *
- * @param \Smarty_Internal_Template $template
- */
- public function end_compile(Smarty_Internal_Template $template)
- {
- if (!empty($template->compiler->trace_uid)) {
- $key = $template->compiler->trace_uid;
- } else {
- if (isset($this->ignore_uid[ $template->source->uid ])) {
- return;
- }
- $key = $this->get_key($template);
- }
- $this->template_data[ $this->index ][ $key ][ 'compile_time' ] +=
- microtime(true) - $this->template_data[ $this->index ][ $key ][ 'start_time' ];
- }
-
- /**
- * Start logging of render time
- *
- * @param \Smarty_Internal_Template $template
- */
- public function start_render(Smarty_Internal_Template $template)
- {
- $key = $this->get_key($template);
- $this->template_data[ $this->index ][ $key ][ 'start_time' ] = microtime(true);
- }
-
- /**
- * End logging of compile time
- *
- * @param \Smarty_Internal_Template $template
- */
- public function end_render(Smarty_Internal_Template $template)
- {
- $key = $this->get_key($template);
- $this->template_data[ $this->index ][ $key ][ 'render_time' ] +=
- microtime(true) - $this->template_data[ $this->index ][ $key ][ 'start_time' ];
- }
-
- /**
- * Start logging of cache time
- *
- * @param \Smarty_Internal_Template $template cached template
- */
- public function start_cache(Smarty_Internal_Template $template)
- {
- $key = $this->get_key($template);
- $this->template_data[ $this->index ][ $key ][ 'start_time' ] = microtime(true);
- }
-
- /**
- * End logging of cache time
- *
- * @param \Smarty_Internal_Template $template cached template
- */
- public function end_cache(Smarty_Internal_Template $template)
- {
- $key = $this->get_key($template);
- $this->template_data[ $this->index ][ $key ][ 'cache_time' ] +=
- microtime(true) - $this->template_data[ $this->index ][ $key ][ 'start_time' ];
- }
-
- /**
- * Register template object
- *
- * @param \Smarty_Internal_Template $template cached template
- */
- public function register_template(Smarty_Internal_Template $template)
- {
- }
-
- /**
- * Register data object
- *
- * @param \Smarty_Data $data data object
- */
- public static function register_data(Smarty_Data $data)
- {
- }
-
- /**
- * Opens a window for the Smarty Debugging Console and display the data
- *
- * @param Smarty_Internal_Template|Smarty $obj object to debug
- * @param bool $full
- *
- * @throws \Exception
- * @throws \SmartyException
- */
- public function display_debug($obj, $full = false)
- {
- if (!$full) {
- $this->offset++;
- $savedIndex = $this->index;
- $this->index = 9999;
- }
- $smarty = $obj->_getSmartyObj();
- // create fresh instance of smarty for displaying the debug console
- // to avoid problems if the application did overload the Smarty class
- $debObj = new Smarty();
- // copy the working dirs from application
- $debObj->setCompileDir($smarty->getCompileDir());
- // init properties by hand as user may have edited the original Smarty class
- $debObj->setPluginsDir(is_dir(dirname(__FILE__) . '/../plugins') ? dirname(__FILE__) .
- '/../plugins' : $smarty->getPluginsDir());
- $debObj->force_compile = false;
- $debObj->compile_check = Smarty::COMPILECHECK_ON;
- $debObj->left_delimiter = '{';
- $debObj->right_delimiter = '}';
- $debObj->security_policy = null;
- $debObj->debugging = false;
- $debObj->debugging_ctrl = 'NONE';
- $debObj->error_reporting = E_ALL & ~E_NOTICE;
- $debObj->debug_tpl =
- isset($smarty->debug_tpl) ? $smarty->debug_tpl : 'file:' . dirname(__FILE__) . '/../debug.tpl';
- $debObj->registered_plugins = array();
- $debObj->registered_resources = array();
- $debObj->registered_filters = array();
- $debObj->autoload_filters = array();
- $debObj->default_modifiers = array();
- $debObj->escape_html = true;
- $debObj->caching = Smarty::CACHING_OFF;
- $debObj->compile_id = null;
- $debObj->cache_id = null;
- // prepare information of assigned variables
- $ptr = $this->get_debug_vars($obj);
- $_assigned_vars = $ptr->tpl_vars;
- ksort($_assigned_vars);
- $_config_vars = $ptr->config_vars;
- ksort($_config_vars);
- $debugging = $smarty->debugging;
- $_template = new Smarty_Internal_Template($debObj->debug_tpl, $debObj);
- if ($obj->_isTplObj()) {
- $_template->assign('template_name', $obj->source->type . ':' . $obj->source->name);
- }
- if ($obj->_objType === 1 || $full) {
- $_template->assign('template_data', $this->template_data[ $this->index ]);
- } else {
- $_template->assign('template_data', null);
- }
- $_template->assign('assigned_vars', $_assigned_vars);
- $_template->assign('config_vars', $_config_vars);
- $_template->assign('execution_time', microtime(true) - $smarty->start_time);
- $_template->assign('display_mode', $debugging === 2 || !$full);
- $_template->assign('offset', $this->offset * 50);
- echo $_template->fetch();
- if (isset($full)) {
- $this->index--;
- }
- if (!$full) {
- $this->index = $savedIndex;
- }
- }
-
- /**
- * Recursively gets variables from all template/data scopes
- *
- * @param Smarty_Internal_Template|Smarty_Data $obj object to debug
- *
- * @return StdClass
- */
- public function get_debug_vars($obj)
- {
- $config_vars = array();
- foreach ($obj->config_vars as $key => $var) {
- $config_vars[ $key ][ 'value' ] = $var;
- if ($obj->_isTplObj()) {
- $config_vars[ $key ][ 'scope' ] = $obj->source->type . ':' . $obj->source->name;
- } elseif ($obj->_isDataObj()) {
- $tpl_vars[ $key ][ 'scope' ] = $obj->dataObjectName;
- } else {
- $config_vars[ $key ][ 'scope' ] = 'Smarty object';
- }
- }
- $tpl_vars = array();
- foreach ($obj->tpl_vars as $key => $var) {
- foreach ($var as $varkey => $varvalue) {
- if ($varkey === 'value') {
- $tpl_vars[ $key ][ $varkey ] = $varvalue;
- } else {
- if ($varkey === 'nocache') {
- if ($varvalue === true) {
- $tpl_vars[ $key ][ $varkey ] = $varvalue;
- }
- } else {
- if ($varkey !== 'scope' || $varvalue !== 0) {
- $tpl_vars[ $key ][ 'attributes' ][ $varkey ] = $varvalue;
- }
- }
- }
- }
- if ($obj->_isTplObj()) {
- $tpl_vars[ $key ][ 'scope' ] = $obj->source->type . ':' . $obj->source->name;
- } elseif ($obj->_isDataObj()) {
- $tpl_vars[ $key ][ 'scope' ] = $obj->dataObjectName;
- } else {
- $tpl_vars[ $key ][ 'scope' ] = 'Smarty object';
- }
- }
- if (isset($obj->parent)) {
- $parent = $this->get_debug_vars($obj->parent);
- foreach ($parent->tpl_vars as $name => $pvar) {
- if (isset($tpl_vars[ $name ]) && $tpl_vars[ $name ][ 'value' ] === $pvar[ 'value' ]) {
- $tpl_vars[ $name ][ 'scope' ] = $pvar[ 'scope' ];
- }
- }
- $tpl_vars = array_merge($parent->tpl_vars, $tpl_vars);
- foreach ($parent->config_vars as $name => $pvar) {
- if (isset($config_vars[ $name ]) && $config_vars[ $name ][ 'value' ] === $pvar[ 'value' ]) {
- $config_vars[ $name ][ 'scope' ] = $pvar[ 'scope' ];
- }
- }
- $config_vars = array_merge($parent->config_vars, $config_vars);
- } else {
- foreach (Smarty::$global_tpl_vars as $key => $var) {
- if (!array_key_exists($key, $tpl_vars)) {
- foreach ($var as $varkey => $varvalue) {
- if ($varkey === 'value') {
- $tpl_vars[ $key ][ $varkey ] = $varvalue;
- } else {
- if ($varkey === 'nocache') {
- if ($varvalue === true) {
- $tpl_vars[ $key ][ $varkey ] = $varvalue;
- }
- } else {
- if ($varkey !== 'scope' || $varvalue !== 0) {
- $tpl_vars[ $key ][ 'attributes' ][ $varkey ] = $varvalue;
- }
- }
- }
- }
- $tpl_vars[ $key ][ 'scope' ] = 'Global';
- }
- }
- }
- return (object)array('tpl_vars' => $tpl_vars, 'config_vars' => $config_vars);
- }
-
- /**
- * Return key into $template_data for template
- *
- * @param \Smarty_Internal_Template $template template object
- *
- * @return string key into $template_data
- */
- private function get_key(Smarty_Internal_Template $template)
- {
- static $_is_stringy = array('string' => true, 'eval' => true);
- // calculate Uid if not already done
- if ($template->source->uid === '') {
- $template->source->filepath;
- }
- $key = $template->source->uid;
- if (isset($this->template_data[ $this->index ][ $key ])) {
- return $key;
- } else {
- if (isset($_is_stringy[ $template->source->type ])) {
- $this->template_data[ $this->index ][ $key ][ 'name' ] =
- '\'' . substr($template->source->name, 0, 25) . '...\'';
- } else {
- $this->template_data[ $this->index ][ $key ][ 'name' ] = $template->source->filepath;
- }
- $this->template_data[ $this->index ][ $key ][ 'compile_time' ] = 0;
- $this->template_data[ $this->index ][ $key ][ 'render_time' ] = 0;
- $this->template_data[ $this->index ][ $key ][ 'cache_time' ] = 0;
- $this->template_data[ $this->index ][ $key ][ 'total_time' ] = 0;
- return $key;
- }
- }
-
- /**
- * Ignore template
- *
- * @param \Smarty_Internal_Template $template
- */
- public function ignore(Smarty_Internal_Template $template)
- {
- // calculate Uid if not already done
- if ($template->source->uid === '') {
- $template->source->filepath;
- }
- $this->ignore_uid[ $template->source->uid ] = true;
- }
-
- /**
- * handle 'URL' debugging mode
- *
- * @param Smarty $smarty
- */
- public function debugUrl(Smarty $smarty)
- {
- if (isset($_SERVER[ 'QUERY_STRING' ])) {
- $_query_string = $_SERVER[ 'QUERY_STRING' ];
- } else {
- $_query_string = '';
- }
- if (false !== strpos($_query_string, $smarty->smarty_debug_id)) {
- if (false !== strpos($_query_string, $smarty->smarty_debug_id . '=on')) {
- // enable debugging for this browser session
- setcookie('SMARTY_DEBUG', true);
- $smarty->debugging = true;
- } elseif (false !== strpos($_query_string, $smarty->smarty_debug_id . '=off')) {
- // disable debugging for this browser session
- setcookie('SMARTY_DEBUG', false);
- $smarty->debugging = false;
- } else {
- // enable debugging for this page
- $smarty->debugging = true;
- }
- } else {
- if (isset($_COOKIE[ 'SMARTY_DEBUG' ])) {
- $smarty->debugging = true;
- }
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_errorhandler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_errorhandler.php
deleted file mode 100755
index 0ba0065..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_errorhandler.php
+++ /dev/null
@@ -1,113 +0,0 @@
- $smarty_dir, 'length' => strlen($smarty_dir),);
- }
- }
- // walk the muted directories and test against $errfile
- foreach (self::$mutedDirectories as $key => &$dir) {
- if (!$dir) {
- // resolve directory and length for speedy comparisons
- $file = realpath($key);
- if ($file === false) {
- // this directory does not exist, remove and skip it
- unset(self::$mutedDirectories[ $key ]);
- continue;
- }
- $dir = array('file' => $file, 'length' => strlen($file),);
- }
- if (!strncmp($errfile, $dir[ 'file' ], $dir[ 'length' ])) {
- $_is_muted_directory = true;
- break;
- }
- }
- // pass to next error handler if this error did not occur inside SMARTY_DIR
- // or the error was within smarty but masked to be ignored
- if (!$_is_muted_directory || ($errno && $errno & error_reporting())) {
- if (self::$previousErrorHandler) {
- return call_user_func(
- self::$previousErrorHandler,
- $errno,
- $errstr,
- $errfile,
- $errline,
- $errcontext
- );
- } else {
- return false;
- }
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_extension_handler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_extension_handler.php
deleted file mode 100755
index b076155..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_extension_handler.php
+++ /dev/null
@@ -1,197 +0,0 @@
- 0, 'DefaultModifiers' => 0, 'ConfigVars' => 0,
- 'DebugTemplate' => 0, 'RegisteredObject' => 0, 'StreamVariable' => 0,
- 'TemplateVars' => 0, 'Literals' => 'Literals',
- );//
-
- private $resolvedProperties = array();
-
- /**
- * Call external Method
- *
- * @param \Smarty_Internal_Data $data
- * @param string $name external method names
- * @param array $args argument array
- *
- * @return mixed
- */
- public function _callExternalMethod(Smarty_Internal_Data $data, $name, $args)
- {
- /* @var Smarty $data ->smarty */
- $smarty = isset($data->smarty) ? $data->smarty : $data;
- if (!isset($smarty->ext->$name)) {
- if (preg_match('/^((set|get)|(.*?))([A-Z].*)$/', $name, $match)) {
- $basename = $this->upperCase($match[ 4 ]);
- if (!isset($smarty->ext->$basename) && isset($this->_property_info[ $basename ])
- && is_string($this->_property_info[ $basename ])
- ) {
- $class = 'Smarty_Internal_Method_' . $this->_property_info[ $basename ];
- if (class_exists($class)) {
- $classObj = new $class();
- $methodes = get_class_methods($classObj);
- foreach ($methodes as $method) {
- $smarty->ext->$method = $classObj;
- }
- }
- }
- if (!empty($match[ 2 ]) && !isset($smarty->ext->$name)) {
- $class = 'Smarty_Internal_Method_' . $this->upperCase($name);
- if (!class_exists($class)) {
- $objType = $data->_objType;
- $propertyType = false;
- if (!isset($this->resolvedProperties[ $match[ 0 ] ][ $objType ])) {
- $property = isset($this->resolvedProperties[ 'property' ][ $basename ]) ?
- $this->resolvedProperties[ 'property' ][ $basename ] :
- $property = $this->resolvedProperties[ 'property' ][ $basename ] = strtolower(
- join(
- '_',
- preg_split(
- '/([A-Z][^A-Z]*)/',
- $basename,
- -1,
- PREG_SPLIT_NO_EMPTY |
- PREG_SPLIT_DELIM_CAPTURE
- )
- )
- );
- if ($property !== false) {
- if (property_exists($data, $property)) {
- $propertyType = $this->resolvedProperties[ $match[ 0 ] ][ $objType ] = 1;
- } elseif (property_exists($smarty, $property)) {
- $propertyType = $this->resolvedProperties[ $match[ 0 ] ][ $objType ] = 2;
- } else {
- $this->resolvedProperties[ 'property' ][ $basename ] = $property = false;
- }
- }
- } else {
- $propertyType = $this->resolvedProperties[ $match[ 0 ] ][ $objType ];
- $property = $this->resolvedProperties[ 'property' ][ $basename ];
- }
- if ($propertyType) {
- $obj = $propertyType === 1 ? $data : $smarty;
- if ($match[ 2 ] === 'get') {
- return $obj->$property;
- } elseif ($match[ 2 ] === 'set') {
- return $obj->$property = $args[ 0 ];
- }
- }
- }
- }
- }
- }
- $callback = array($smarty->ext->$name, $name);
- array_unshift($args, $data);
- if (isset($callback) && $callback[ 0 ]->objMap | $data->_objType) {
- return call_user_func_array($callback, $args);
- }
- return call_user_func_array(array(new Smarty_Internal_Undefined(), $name), $args);
- }
-
- /**
- * Make first character of name parts upper case
- *
- * @param string $name
- *
- * @return string
- */
- public function upperCase($name)
- {
- $_name = explode('_', $name);
- $_name = array_map('ucfirst', $_name);
- return implode('_', $_name);
- }
-
- /**
- * get extension object
- *
- * @param string $property_name property name
- *
- * @return mixed|Smarty_Template_Cached
- */
- public function __get($property_name)
- {
- // object properties of runtime template extensions will start with '_'
- if ($property_name[ 0 ] === '_') {
- $class = 'Smarty_Internal_Runtime' . $this->upperCase($property_name);
- } else {
- $class = 'Smarty_Internal_Method_' . $this->upperCase($property_name);
- }
- if (!class_exists($class)) {
- return $this->$property_name = new Smarty_Internal_Undefined($class);
- }
- return $this->$property_name = new $class();
- }
-
- /**
- * set extension property
- *
- * @param string $property_name property name
- * @param mixed $value value
- *
- */
- public function __set($property_name, $value)
- {
- $this->$property_name = $value;
- }
-
- /**
- * Call error handler for undefined method
- *
- * @param string $name unknown method-name
- * @param array $args argument array
- *
- * @return mixed
- */
- public function __call($name, $args)
- {
- return call_user_func_array(array(new Smarty_Internal_Undefined(), $name), array($this));
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_addautoloadfilters.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_addautoloadfilters.php
deleted file mode 100755
index a05f55a..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_addautoloadfilters.php
+++ /dev/null
@@ -1,53 +0,0 @@
-_getSmartyObj();
- if ($type !== null) {
- $this->_checkFilterType($type);
- if (!empty($smarty->autoload_filters[ $type ])) {
- $smarty->autoload_filters[ $type ] = array_merge($smarty->autoload_filters[ $type ], (array)$filters);
- } else {
- $smarty->autoload_filters[ $type ] = (array)$filters;
- }
- } else {
- foreach ((array)$filters as $type => $value) {
- $this->_checkFilterType($type);
- if (!empty($smarty->autoload_filters[ $type ])) {
- $smarty->autoload_filters[ $type ] =
- array_merge($smarty->autoload_filters[ $type ], (array)$value);
- } else {
- $smarty->autoload_filters[ $type ] = (array)$value;
- }
- }
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php
deleted file mode 100755
index c3feb3d..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php
+++ /dev/null
@@ -1,42 +0,0 @@
-_getSmartyObj();
- if (is_array($modifiers)) {
- $smarty->default_modifiers = array_merge($smarty->default_modifiers, $modifiers);
- } else {
- $smarty->default_modifiers[] = $modifiers;
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_append.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_append.php
deleted file mode 100755
index 881375e..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_append.php
+++ /dev/null
@@ -1,74 +0,0 @@
- $_val) {
- if ($_key !== '') {
- $this->append($data, $_key, $_val, $merge, $nocache);
- }
- }
- } else {
- if ($tpl_var !== '' && isset($value)) {
- if (!isset($data->tpl_vars[ $tpl_var ])) {
- $tpl_var_inst = $data->ext->getTemplateVars->_getVariable($data, $tpl_var, null, true, false);
- if ($tpl_var_inst instanceof Smarty_Undefined_Variable) {
- $data->tpl_vars[ $tpl_var ] = new Smarty_Variable(null, $nocache);
- } else {
- $data->tpl_vars[ $tpl_var ] = clone $tpl_var_inst;
- }
- }
- if (!(is_array($data->tpl_vars[ $tpl_var ]->value)
- || $data->tpl_vars[ $tpl_var ]->value instanceof ArrayAccess)
- ) {
- settype($data->tpl_vars[ $tpl_var ]->value, 'array');
- }
- if ($merge && is_array($value)) {
- foreach ($value as $_mkey => $_mval) {
- $data->tpl_vars[ $tpl_var ]->value[ $_mkey ] = $_mval;
- }
- } else {
- $data->tpl_vars[ $tpl_var ]->value[] = $value;
- }
- }
- if ($data->_isTplObj() && $data->scope) {
- $data->ext->_updateScope->_updateScope($data, $tpl_var);
- }
- }
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_appendbyref.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_appendbyref.php
deleted file mode 100755
index c959044..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_appendbyref.php
+++ /dev/null
@@ -1,49 +0,0 @@
-tpl_vars[ $tpl_var ])) {
- $data->tpl_vars[ $tpl_var ] = new Smarty_Variable();
- }
- if (!is_array($data->tpl_vars[ $tpl_var ]->value)) {
- settype($data->tpl_vars[ $tpl_var ]->value, 'array');
- }
- if ($merge && is_array($value)) {
- foreach ($value as $_key => $_val) {
- $data->tpl_vars[ $tpl_var ]->value[ $_key ] = &$value[ $_key ];
- }
- } else {
- $data->tpl_vars[ $tpl_var ]->value[] = &$value;
- }
- if ($data->_isTplObj() && $data->scope) {
- $data->ext->_updateScope->_updateScope($data, $tpl_var);
- }
- }
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignbyref.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignbyref.php
deleted file mode 100755
index fa705bb..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignbyref.php
+++ /dev/null
@@ -1,36 +0,0 @@
-tpl_vars[ $tpl_var ] = new Smarty_Variable(null, $nocache);
- $data->tpl_vars[ $tpl_var ]->value = &$value;
- if ($data->_isTplObj() && $data->scope) {
- $data->ext->_updateScope->_updateScope($data, $tpl_var);
- }
- }
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignglobal.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignglobal.php
deleted file mode 100755
index 08cfa46..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignglobal.php
+++ /dev/null
@@ -1,44 +0,0 @@
-_isTplObj()) {
- $ptr->tpl_vars[ $varName ] = clone Smarty::$global_tpl_vars[ $varName ];
- $ptr = $ptr->parent;
- }
- }
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallassign.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallassign.php
deleted file mode 100755
index 29ff2ff..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallassign.php
+++ /dev/null
@@ -1,36 +0,0 @@
-tpl_vars = array();
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallcache.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallcache.php
deleted file mode 100755
index 30d55f7..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallcache.php
+++ /dev/null
@@ -1,41 +0,0 @@
-_clearTemplateCache();
- // load cache resource and call clearAll
- $_cache_resource = Smarty_CacheResource::load($smarty, $type);
- return $_cache_resource->clearAll($smarty, $exp_time);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearassign.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearassign.php
deleted file mode 100755
index 22bfa2d..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearassign.php
+++ /dev/null
@@ -1,43 +0,0 @@
-tpl_vars[ $curr_var ]);
- }
- } else {
- unset($data->tpl_vars[ $tpl_var ]);
- }
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcache.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcache.php
deleted file mode 100755
index a5dd4e2..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcache.php
+++ /dev/null
@@ -1,50 +0,0 @@
-_clearTemplateCache();
- // load cache resource and call clear
- $_cache_resource = Smarty_CacheResource::load($smarty, $type);
- return $_cache_resource->clear($smarty, $template_name, $cache_id, $compile_id, $exp_time);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php
deleted file mode 100755
index bf49298..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php
+++ /dev/null
@@ -1,131 +0,0 @@
-_clearTemplateCache();
- $_compile_dir = $smarty->getCompileDir();
- if ($_compile_dir === '/') { //We should never want to delete this!
- return 0;
- }
- $_compile_id = isset($compile_id) ? preg_replace('![^\w]+!', '_', $compile_id) : null;
- $_dir_sep = $smarty->use_sub_dirs ? DIRECTORY_SEPARATOR : '^';
- if (isset($resource_name)) {
- $_save_stat = $smarty->caching;
- $smarty->caching = Smarty::CACHING_OFF;
- /* @var Smarty_Internal_Template $tpl */
- $tpl = $smarty->createTemplate($resource_name);
- $smarty->caching = $_save_stat;
- if (!$tpl->source->handler->uncompiled && !$tpl->source->handler->recompiled && $tpl->source->exists) {
- $_resource_part_1 = basename(str_replace('^', DIRECTORY_SEPARATOR, $tpl->compiled->filepath));
- $_resource_part_1_length = strlen($_resource_part_1);
- } else {
- return 0;
- }
- $_resource_part_2 = str_replace('.php', '.cache.php', $_resource_part_1);
- $_resource_part_2_length = strlen($_resource_part_2);
- }
- $_dir = $_compile_dir;
- if ($smarty->use_sub_dirs && isset($_compile_id)) {
- $_dir .= $_compile_id . $_dir_sep;
- }
- if (isset($_compile_id)) {
- $_compile_id_part = $_compile_dir . $_compile_id . $_dir_sep;
- $_compile_id_part_length = strlen($_compile_id_part);
- }
- $_count = 0;
- try {
- $_compileDirs = new RecursiveDirectoryIterator($_dir);
- // NOTE: UnexpectedValueException thrown for PHP >= 5.3
- } catch (Exception $e) {
- return 0;
- }
- $_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST);
- foreach ($_compile as $_file) {
- if (substr(basename($_file->getPathname()), 0, 1) === '.') {
- continue;
- }
- $_filepath = (string)$_file;
- if ($_file->isDir()) {
- if (!$_compile->isDot()) {
- // delete folder if empty
- @rmdir($_file->getPathname());
- }
- } else {
- // delete only php files
- if (substr($_filepath, -4) !== '.php') {
- continue;
- }
- $unlink = false;
- if ((!isset($_compile_id) ||
- (isset($_filepath[ $_compile_id_part_length ]) &&
- $a = !strncmp($_filepath, $_compile_id_part, $_compile_id_part_length)))
- && (!isset($resource_name) || (isset($_filepath[ $_resource_part_1_length ])
- && substr_compare(
- $_filepath,
- $_resource_part_1,
- -$_resource_part_1_length,
- $_resource_part_1_length
- ) === 0) || (isset($_filepath[ $_resource_part_2_length ])
- && substr_compare(
- $_filepath,
- $_resource_part_2,
- -$_resource_part_2_length,
- $_resource_part_2_length
- ) === 0))
- ) {
- if (isset($exp_time)) {
- if (is_file($_filepath) && time() - filemtime($_filepath) >= $exp_time) {
- $unlink = true;
- }
- } else {
- $unlink = true;
- }
- }
- if ($unlink && is_file($_filepath) && @unlink($_filepath)) {
- $_count++;
- if (function_exists('opcache_invalidate')
- && (!function_exists('ini_get') || strlen(ini_get('opcache.restrict_api')) < 1)
- ) {
- opcache_invalidate($_filepath, true);
- } elseif (function_exists('apc_delete_file')) {
- apc_delete_file($_filepath);
- }
- }
- }
- }
- return $_count;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearconfig.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearconfig.php
deleted file mode 100755
index 15bf492..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearconfig.php
+++ /dev/null
@@ -1,41 +0,0 @@
-config_vars[ $name ]);
- } else {
- $data->config_vars = array();
- }
- return $data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compileallconfig.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compileallconfig.php
deleted file mode 100755
index 3934ca0..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compileallconfig.php
+++ /dev/null
@@ -1,36 +0,0 @@
-compileAll($smarty, $extension, $force_compile, $time_limit, $max_errors, true);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compilealltemplates.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compilealltemplates.php
deleted file mode 100755
index 5c046da..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compilealltemplates.php
+++ /dev/null
@@ -1,130 +0,0 @@
-compileAll($smarty, $extension, $force_compile, $time_limit, $max_errors);
- }
-
- /**
- * Compile all template or config files
- *
- * @param \Smarty $smarty
- * @param string $extension template file name extension
- * @param bool $force_compile force all to recompile
- * @param int $time_limit set maximum execution time
- * @param int $max_errors set maximum allowed errors
- * @param bool $isConfig flag true if called for config files
- *
- * @return int number of template files compiled
- */
- protected function compileAll(
- Smarty $smarty,
- $extension,
- $force_compile,
- $time_limit,
- $max_errors,
- $isConfig = false
- ) {
- // switch off time limit
- if (function_exists('set_time_limit')) {
- @set_time_limit($time_limit);
- }
- $_count = 0;
- $_error_count = 0;
- $sourceDir = $isConfig ? $smarty->getConfigDir() : $smarty->getTemplateDir();
- // loop over array of source directories
- foreach ($sourceDir as $_dir) {
- $_dir_1 = new RecursiveDirectoryIterator(
- $_dir,
- defined('FilesystemIterator::FOLLOW_SYMLINKS') ?
- FilesystemIterator::FOLLOW_SYMLINKS : 0
- );
- $_dir_2 = new RecursiveIteratorIterator($_dir_1);
- foreach ($_dir_2 as $_fileinfo) {
- $_file = $_fileinfo->getFilename();
- if (substr(basename($_fileinfo->getPathname()), 0, 1) === '.' || strpos($_file, '.svn') !== false) {
- continue;
- }
- if (substr_compare($_file, $extension, -strlen($extension)) !== 0) {
- continue;
- }
- if ($_fileinfo->getPath() !== substr($_dir, 0, -1)) {
- $_file = substr($_fileinfo->getPath(), strlen($_dir)) . DIRECTORY_SEPARATOR . $_file;
- }
- echo "\n ", $_dir, '---', $_file;
- flush();
- $_start_time = microtime(true);
- $_smarty = clone $smarty;
- //
- $_smarty->_cache = array();
- $_smarty->ext = new Smarty_Internal_Extension_Handler();
- $_smarty->ext->objType = $_smarty->_objType;
- $_smarty->force_compile = $force_compile;
- try {
- /* @var Smarty_Internal_Template $_tpl */
- $_tpl = new $smarty->template_class($_file, $_smarty);
- $_tpl->caching = Smarty::CACHING_OFF;
- $_tpl->source =
- $isConfig ? Smarty_Template_Config::load($_tpl) : Smarty_Template_Source::load($_tpl);
- if ($_tpl->mustCompile()) {
- $_tpl->compileTemplateSource();
- $_count++;
- echo ' compiled in ', microtime(true) - $_start_time, ' seconds';
- flush();
- } else {
- echo ' is up to date';
- flush();
- }
- } catch (Exception $e) {
- echo "\n ------>Error: ", $e->getMessage(), " \n";
- $_error_count++;
- }
- // free memory
- unset($_tpl);
- $_smarty->_clearTemplateCache();
- if ($max_errors !== null && $_error_count === $max_errors) {
- echo "\n too many errors\n";
- exit(1);
- }
- }
- }
- echo "\n ";
- return $_count;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_configload.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_configload.php
deleted file mode 100755
index 2e62548..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_configload.php
+++ /dev/null
@@ -1,182 +0,0 @@
-_loadConfigFile($data, $config_file, $sections, null);
- return $data;
- }
-
- /**
- * load a config file, optionally load just selected sections
- *
- * @api Smarty::configLoad()
- * @link http://www.smarty.net/docs/en/api.config.load.tpl
- *
- * @param \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template $data
- * @param string $config_file filename
- * @param mixed $sections array of section names, single
- * section or null
- * @param int $scope scope into which config variables
- * shall be loaded
- *
- * @throws \Exception
- */
- public function _loadConfigFile(Smarty_Internal_Data $data, $config_file, $sections = null, $scope = 0)
- {
- /* @var \Smarty $smarty */
- $smarty = $data->_getSmartyObj();
- /* @var \Smarty_Internal_Template $confObj */
- $confObj = new Smarty_Internal_Template($config_file, $smarty, $data, null, null, null, null, true);
- $confObj->caching = Smarty::CACHING_OFF;
- $confObj->source->config_sections = $sections;
- $confObj->source->scope = $scope;
- $confObj->compiled = Smarty_Template_Compiled::load($confObj);
- $confObj->compiled->render($confObj);
- if ($data->_isTplObj()) {
- $data->compiled->file_dependency[ $confObj->source->uid ] =
- array($confObj->source->filepath, $confObj->source->getTimeStamp(), $confObj->source->type);
- }
- }
-
- /**
- * load config variables into template object
- *
- * @param \Smarty_Internal_Template $tpl
- * @param array $new_config_vars
- */
- public function _loadConfigVars(Smarty_Internal_Template $tpl, $new_config_vars)
- {
- $this->_assignConfigVars($tpl->parent->config_vars, $tpl, $new_config_vars);
- $tagScope = $tpl->source->scope;
- if ($tagScope >= 0) {
- if ($tagScope === Smarty::SCOPE_LOCAL) {
- $this->_updateVarStack($tpl, $new_config_vars);
- $tagScope = 0;
- if (!$tpl->scope) {
- return;
- }
- }
- if ($tpl->parent->_isTplObj() && ($tagScope || $tpl->parent->scope)) {
- $mergedScope = $tagScope | $tpl->scope;
- if ($mergedScope) {
- // update scopes
- /* @var \Smarty_Internal_Template|\Smarty|\Smarty_Internal_Data $ptr */
- foreach ($tpl->smarty->ext->_updateScope->_getAffectedScopes($tpl->parent, $mergedScope) as $ptr) {
- $this->_assignConfigVars($ptr->config_vars, $tpl, $new_config_vars);
- if ($tagScope && $ptr->_isTplObj() && isset($tpl->_cache[ 'varStack' ])) {
- $this->_updateVarStack($tpl, $new_config_vars);
- }
- }
- }
- }
- }
- }
-
- /**
- * Assign all config variables in given scope
- *
- * @param array $config_vars config variables in scope
- * @param \Smarty_Internal_Template $tpl
- * @param array $new_config_vars loaded config variables
- */
- public function _assignConfigVars(&$config_vars, Smarty_Internal_Template $tpl, $new_config_vars)
- {
- // copy global config vars
- foreach ($new_config_vars[ 'vars' ] as $variable => $value) {
- if ($tpl->smarty->config_overwrite || !isset($config_vars[ $variable ])) {
- $config_vars[ $variable ] = $value;
- } else {
- $config_vars[ $variable ] = array_merge((array)$config_vars[ $variable ], (array)$value);
- }
- }
- // scan sections
- $sections = $tpl->source->config_sections;
- if (!empty($sections)) {
- foreach ((array)$sections as $tpl_section) {
- if (isset($new_config_vars[ 'sections' ][ $tpl_section ])) {
- foreach ($new_config_vars[ 'sections' ][ $tpl_section ][ 'vars' ] as $variable => $value) {
- if ($tpl->smarty->config_overwrite || !isset($config_vars[ $variable ])) {
- $config_vars[ $variable ] = $value;
- } else {
- $config_vars[ $variable ] = array_merge((array)$config_vars[ $variable ], (array)$value);
- }
- }
- }
- }
- }
- }
-
- /**
- * Update config variables in template local variable stack
- *
- * @param \Smarty_Internal_Template $tpl
- * @param array $config_vars
- */
- public function _updateVarStack(Smarty_Internal_Template $tpl, $config_vars)
- {
- $i = 0;
- while (isset($tpl->_cache[ 'varStack' ][ $i ])) {
- $this->_assignConfigVars($tpl->_cache[ 'varStack' ][ $i ][ 'config' ], $tpl, $config_vars);
- $i++;
- }
- }
-
- /**
- * gets a config variable value
- *
- * @param \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template $data
- * @param string $varName the name of the config variable
- * @param bool $errorEnable
- *
- * @return null|string the value of the config variable
- */
- public function _getConfigVariable(Smarty_Internal_Data $data, $varName, $errorEnable = true)
- {
- $_ptr = $data;
- while ($_ptr !== null) {
- if (isset($_ptr->config_vars[ $varName ])) {
- // found it, return it
- return $_ptr->config_vars[ $varName ];
- }
- // not found, try at parent
- $_ptr = $_ptr->parent;
- }
- if ($data->smarty->error_unassigned && $errorEnable) {
- // force a notice
- $x = $$varName;
- }
- return null;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_createdata.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_createdata.php
deleted file mode 100755
index f950975..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_createdata.php
+++ /dev/null
@@ -1,44 +0,0 @@
-_getSmartyObj();
- $dataObj = new Smarty_Data($parent, $smarty, $name);
- if ($smarty->debugging) {
- Smarty_Internal_Debug::register_data($dataObj);
- }
- return $dataObj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getautoloadfilters.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getautoloadfilters.php
deleted file mode 100755
index 4145db1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getautoloadfilters.php
+++ /dev/null
@@ -1,37 +0,0 @@
- array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type
- * was specified
- * @throws \SmartyException
- */
- public function getAutoloadFilters(Smarty_Internal_TemplateBase $obj, $type = null)
- {
- $smarty = $obj->_getSmartyObj();
- if ($type !== null) {
- $this->_checkFilterType($type);
- return isset($smarty->autoload_filters[ $type ]) ? $smarty->autoload_filters[ $type ] : array();
- }
- return $smarty->autoload_filters;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvariable.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvariable.php
deleted file mode 100755
index b548151..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvariable.php
+++ /dev/null
@@ -1,34 +0,0 @@
-ext->configLoad->_getConfigVariable($data, $varName, $errorEnable);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvars.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvars.php
deleted file mode 100755
index 1d11e44..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvars.php
+++ /dev/null
@@ -1,58 +0,0 @@
-config_vars[ $varname ])) {
- return $_ptr->config_vars[ $varname ];
- }
- } else {
- $var_array = array_merge($_ptr->config_vars, $var_array);
- }
- // not found, try at parent
- if ($search_parents) {
- $_ptr = $_ptr->parent;
- } else {
- $_ptr = null;
- }
- }
- if (isset($varname)) {
- return '';
- } else {
- return $var_array;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdebugtemplate.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdebugtemplate.php
deleted file mode 100755
index 77d908c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdebugtemplate.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_getSmartyObj();
- return $smarty->debug_tpl;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php
deleted file mode 100755
index 57da85c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_getSmartyObj();
- return $smarty->default_modifiers;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getglobal.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getglobal.php
deleted file mode 100755
index 2be11d7..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getglobal.php
+++ /dev/null
@@ -1,47 +0,0 @@
-value;
- } else {
- return '';
- }
- } else {
- $_result = array();
- foreach (Smarty::$global_tpl_vars as $key => $var) {
- $_result[ $key ] = $var->value;
- }
- return $_result;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getregisteredobject.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getregisteredobject.php
deleted file mode 100755
index df6ede1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getregisteredobject.php
+++ /dev/null
@@ -1,44 +0,0 @@
-_getSmartyObj();
- if (!isset($smarty->registered_objects[ $object_name ])) {
- throw new SmartyException("'$object_name' is not a registered object");
- }
- if (!is_object($smarty->registered_objects[ $object_name ][ 0 ])) {
- throw new SmartyException("registered '$object_name' is not an object");
- }
- return $smarty->registered_objects[ $object_name ][ 0 ];
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getstreamvariable.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getstreamvariable.php
deleted file mode 100755
index 8db39c5..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getstreamvariable.php
+++ /dev/null
@@ -1,50 +0,0 @@
-smarty) ? $data->smarty : $data;
- if ($smarty->error_unassigned) {
- throw new SmartyException('Undefined stream variable "' . $variable . '"');
- } else {
- return null;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettags.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettags.php
deleted file mode 100755
index c07ae07..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettags.php
+++ /dev/null
@@ -1,63 +0,0 @@
-_getSmartyObj();
- if ($obj->_isTplObj() && !isset($template)) {
- $tpl = clone $obj;
- } elseif (isset($template) && $template->_isTplObj()) {
- $tpl = clone $template;
- } elseif (isset($template) && is_string($template)) {
- /* @var Smarty_Internal_Template $tpl */
- $tpl = new $smarty->template_class($template, $smarty);
- // checks if template exists
- if (!$tpl->source->exists) {
- throw new SmartyException("Unable to load template {$tpl->source->type} '{$tpl->source->name}'");
- }
- }
- if (isset($tpl)) {
- $tpl->smarty = clone $tpl->smarty;
- $tpl->smarty->_cache[ 'get_used_tags' ] = true;
- $tpl->_cache[ 'used_tags' ] = array();
- $tpl->smarty->merge_compiled_includes = false;
- $tpl->smarty->disableSecurity();
- $tpl->caching = Smarty::CACHING_OFF;
- $tpl->loadCompiler();
- $tpl->compiler->compileTemplate($tpl);
- return $tpl->_cache[ 'used_tags' ];
- }
- throw new SmartyException('Missing template specification');
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettemplatevars.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettemplatevars.php
deleted file mode 100755
index 9ef7d46..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettemplatevars.php
+++ /dev/null
@@ -1,119 +0,0 @@
-_getVariable($data, $varName, $_ptr, $searchParents, false);
- if (is_object($_var)) {
- return $_var->value;
- } else {
- return null;
- }
- } else {
- $_result = array();
- if ($_ptr === null) {
- $_ptr = $data;
- }
- while ($_ptr !== null) {
- foreach ($_ptr->tpl_vars as $key => $var) {
- if (!array_key_exists($key, $_result)) {
- $_result[ $key ] = $var->value;
- }
- }
- // not found, try at parent
- if ($searchParents && isset($_ptr->parent)) {
- $_ptr = $_ptr->parent;
- } else {
- $_ptr = null;
- }
- }
- if ($searchParents && isset(Smarty::$global_tpl_vars)) {
- foreach (Smarty::$global_tpl_vars as $key => $var) {
- if (!array_key_exists($key, $_result)) {
- $_result[ $key ] = $var->value;
- }
- }
- }
- return $_result;
- }
- }
-
- /**
- * gets the object of a Smarty variable
- *
- * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data
- * @param string $varName the name of the Smarty variable
- * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $_ptr optional pointer to data object
- * @param bool $searchParents search also in parent data
- * @param bool $errorEnable
- *
- * @return \Smarty_Variable
- */
- public function _getVariable(
- Smarty_Internal_Data $data,
- $varName,
- Smarty_Internal_Data $_ptr = null,
- $searchParents = true,
- $errorEnable = true
- ) {
- if ($_ptr === null) {
- $_ptr = $data;
- }
- while ($_ptr !== null) {
- if (isset($_ptr->tpl_vars[ $varName ])) {
- // found it, return it
- return $_ptr->tpl_vars[ $varName ];
- }
- // not found, try at parent
- if ($searchParents && isset($_ptr->parent)) {
- $_ptr = $_ptr->parent;
- } else {
- $_ptr = null;
- }
- }
- if (isset(Smarty::$global_tpl_vars[ $varName ])) {
- // found it, return it
- return Smarty::$global_tpl_vars[ $varName ];
- }
- if ($errorEnable && $data->_getSmartyObj()->error_unassigned) {
- // force a notice
- $x = $$varName;
- }
- return new Smarty_Undefined_Variable;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_literals.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_literals.php
deleted file mode 100755
index bfa3f58..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_literals.php
+++ /dev/null
@@ -1,100 +0,0 @@
-_getSmartyObj();
- return (array)$smarty->literals;
- }
-
- /**
- * Add literals
- *
- * @api Smarty::addLiterals()
- *
- * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
- * @param array|string $literals literal or list of literals
- * to addto add
- *
- * @return \Smarty|\Smarty_Internal_Template
- * @throws \SmartyException
- */
- public function addLiterals(Smarty_Internal_TemplateBase $obj, $literals = null)
- {
- if (isset($literals)) {
- $this->set($obj->_getSmartyObj(), (array)$literals);
- }
- return $obj;
- }
-
- /**
- * Set literals
- *
- * @api Smarty::setLiterals()
- *
- * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
- * @param array|string $literals literal or list of literals
- * to setto set
- *
- * @return \Smarty|\Smarty_Internal_Template
- * @throws \SmartyException
- */
- public function setLiterals(Smarty_Internal_TemplateBase $obj, $literals = null)
- {
- $smarty = $obj->_getSmartyObj();
- $smarty->literals = array();
- if (!empty($literals)) {
- $this->set($smarty, (array)$literals);
- }
- return $obj;
- }
-
- /**
- * common setter for literals for easier handling of duplicates the
- * Smarty::$literals array gets filled with identical key values
- *
- * @param \Smarty $smarty
- * @param array $literals
- *
- * @throws \SmartyException
- */
- private function set(Smarty $smarty, $literals)
- {
- $literals = array_combine($literals, $literals);
- $error = isset($literals[ $smarty->left_delimiter ]) ? array($smarty->left_delimiter) : array();
- $error = isset($literals[ $smarty->right_delimiter ]) ? $error[] = $smarty->right_delimiter : $error;
- if (!empty($error)) {
- throw new SmartyException(
- 'User defined literal(s) "' . $error .
- '" may not be identical with left or right delimiter'
- );
- }
- $smarty->literals = array_merge((array)$smarty->literals, (array)$literals);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadfilter.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadfilter.php
deleted file mode 100755
index 66d80d4..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadfilter.php
+++ /dev/null
@@ -1,77 +0,0 @@
- true, 'post' => true, 'output' => true, 'variable' => true);
-
- /**
- * load a filter of specified type and name
- *
- * @api Smarty::loadFilter()
- *
- * @link http://www.smarty.net/docs/en/api.load.filter.tpl
- *
- * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
- * @param string $type filter type
- * @param string $name filter name
- *
- * @return bool
- * @throws SmartyException if filter could not be loaded
- */
- public function loadFilter(Smarty_Internal_TemplateBase $obj, $type, $name)
- {
- $smarty = $obj->_getSmartyObj();
- $this->_checkFilterType($type);
- $_plugin = "smarty_{$type}filter_{$name}";
- $_filter_name = $_plugin;
- if (is_callable($_plugin)) {
- $smarty->registered_filters[ $type ][ $_filter_name ] = $_plugin;
- return true;
- }
- if ($smarty->loadPlugin($_plugin)) {
- if (class_exists($_plugin, false)) {
- $_plugin = array($_plugin, 'execute');
- }
- if (is_callable($_plugin)) {
- $smarty->registered_filters[ $type ][ $_filter_name ] = $_plugin;
- return true;
- }
- }
- throw new SmartyException("{$type}filter '{$name}' not found or callable");
- }
-
- /**
- * Check if filter type is valid
- *
- * @param string $type
- *
- * @throws \SmartyException
- */
- public function _checkFilterType($type)
- {
- if (!isset($this->filterTypes[ $type ])) {
- throw new SmartyException("Illegal filter type '{$type}'");
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadplugin.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadplugin.php
deleted file mode 100755
index 3bd659c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadplugin.php
+++ /dev/null
@@ -1,111 +0,0 @@
-loadPlugin() method
- *
- * @package Smarty
- * @subpackage PluginsInternal
- * @author Uwe Tews
- */
-class Smarty_Internal_Method_LoadPlugin
-{
- /**
- * Cache of searched plugin files
- *
- * @var array
- */
- public $plugin_files = array();
-
- /**
- * Takes unknown classes and loads plugin files for them
- * class name format: Smarty_PluginType_PluginName
- * plugin filename format: plugintype.pluginname.php
- *
- * @param \Smarty $smarty
- * @param string $plugin_name class plugin name to load
- * @param bool $check check if already loaded
- *
- * @return bool|string
- * @throws \SmartyException
- */
- public function loadPlugin(Smarty $smarty, $plugin_name, $check)
- {
- // if function or class exists, exit silently (already loaded)
- if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false))) {
- return true;
- }
- if (!preg_match('#^smarty_((internal)|([^_]+))_(.+)$#i', $plugin_name, $match)) {
- throw new SmartyException("plugin {$plugin_name} is not a valid name format");
- }
- if (!empty($match[ 2 ])) {
- $file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php';
- if (isset($this->plugin_files[ $file ])) {
- if ($this->plugin_files[ $file ] !== false) {
- return $this->plugin_files[ $file ];
- } else {
- return false;
- }
- } else {
- if (is_file($file)) {
- $this->plugin_files[ $file ] = $file;
- include_once $file;
- return $file;
- } else {
- $this->plugin_files[ $file ] = false;
- return false;
- }
- }
- }
- // plugin filename is expected to be: [type].[name].php
- $_plugin_filename = "{$match[1]}.{$match[4]}.php";
- $_lower_filename = strtolower($_plugin_filename);
- if (isset($this->plugin_files)) {
- if (isset($this->plugin_files[ 'plugins_dir' ][ $_lower_filename ])) {
- if (!$smarty->use_include_path || $this->plugin_files[ 'plugins_dir' ][ $_lower_filename ] !== false) {
- return $this->plugin_files[ 'plugins_dir' ][ $_lower_filename ];
- }
- }
- if (!$smarty->use_include_path || $smarty->ext->_getIncludePath->isNewIncludePath($smarty)) {
- unset($this->plugin_files[ 'include_path' ]);
- } else {
- if (isset($this->plugin_files[ 'include_path' ][ $_lower_filename ])) {
- return $this->plugin_files[ 'include_path' ][ $_lower_filename ];
- }
- }
- }
- $_file_names = array($_plugin_filename);
- if ($_lower_filename !== $_plugin_filename) {
- $_file_names[] = $_lower_filename;
- }
- $_p_dirs = $smarty->getPluginsDir();
- if (!isset($this->plugin_files[ 'plugins_dir' ][ $_lower_filename ])) {
- // loop through plugin dirs and find the plugin
- foreach ($_p_dirs as $_plugin_dir) {
- foreach ($_file_names as $name) {
- $file = $_plugin_dir . $name;
- if (is_file($file)) {
- $this->plugin_files[ 'plugins_dir' ][ $_lower_filename ] = $file;
- include_once $file;
- return $file;
- }
- $this->plugin_files[ 'plugins_dir' ][ $_lower_filename ] = false;
- }
- }
- }
- if ($smarty->use_include_path) {
- foreach ($_file_names as $_file_name) {
- // try PHP include_path
- $file = $smarty->ext->_getIncludePath->getIncludePath($_p_dirs, $_file_name, $smarty);
- $this->plugin_files[ 'include_path' ][ $_lower_filename ] = $file;
- if ($file !== false) {
- include_once $file;
- return $file;
- }
- }
- }
- // no plugin loaded
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_mustcompile.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_mustcompile.php
deleted file mode 100755
index 3931883..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_mustcompile.php
+++ /dev/null
@@ -1,50 +0,0 @@
-source->exists) {
- if ($_template->_isSubTpl()) {
- $parent_resource = " in '$_template->parent->template_resource}'";
- } else {
- $parent_resource = '';
- }
- throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}");
- }
- if ($_template->mustCompile === null) {
- $_template->mustCompile = (!$_template->source->handler->uncompiled &&
- ($_template->smarty->force_compile || $_template->source->handler->recompiled ||
- !$_template->compiled->exists || ($_template->compile_check &&
- $_template->compiled->getTimeStamp() <
- $_template->source->getTimeStamp())));
- }
- return $_template->mustCompile;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registercacheresource.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registercacheresource.php
deleted file mode 100755
index 6483656..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registercacheresource.php
+++ /dev/null
@@ -1,42 +0,0 @@
-_getSmartyObj();
- $smarty->registered_cache_resources[ $name ] = $resource_handler;
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerclass.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerclass.php
deleted file mode 100755
index 8d18547..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerclass.php
+++ /dev/null
@@ -1,46 +0,0 @@
-_getSmartyObj();
- // test if exists
- if (!class_exists($class_impl)) {
- throw new SmartyException("Undefined class '$class_impl' in register template class");
- }
- // register the class
- $smarty->registered_classes[ $class_name ] = $class_impl;
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php
deleted file mode 100755
index b340f17..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php
+++ /dev/null
@@ -1,42 +0,0 @@
-_getSmartyObj();
- if (is_callable($callback)) {
- $smarty->default_config_handler_func = $callback;
- } else {
- throw new SmartyException('Default config handler not callable');
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php
deleted file mode 100755
index a9fb78d..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php
+++ /dev/null
@@ -1,43 +0,0 @@
-_getSmartyObj();
- if (is_callable($callback)) {
- $smarty->default_plugin_handler_func = $callback;
- } else {
- throw new SmartyException("Default plugin handler '$callback' not callable");
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php
deleted file mode 100755
index cbc133c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php
+++ /dev/null
@@ -1,88 +0,0 @@
-_getSmartyObj();
- if (is_callable($callback)) {
- $smarty->default_template_handler_func = $callback;
- } else {
- throw new SmartyException('Default template handler not callable');
- }
- return $obj;
- }
-
- /**
- * get default content from template or config resource handler
- *
- * @param Smarty_Template_Source $source
- *
- * @throws \SmartyException
- */
- public static function _getDefaultTemplate(Smarty_Template_Source $source)
- {
- if ($source->isConfig) {
- $default_handler = $source->smarty->default_config_handler_func;
- } else {
- $default_handler = $source->smarty->default_template_handler_func;
- }
- $_content = $_timestamp = null;
- $_return = call_user_func_array(
- $default_handler,
- array($source->type, $source->name, &$_content, &$_timestamp, $source->smarty)
- );
- if (is_string($_return)) {
- $source->exists = is_file($_return);
- if ($source->exists) {
- $source->timestamp = filemtime($_return);
- } else {
- throw new SmartyException(
- 'Default handler: Unable to load ' .
- ($source->isConfig ? 'config' : 'template') .
- " default file '{$_return}' for '{$source->type}:{$source->name}'"
- );
- }
- $source->name = $source->filepath = $_return;
- $source->uid = sha1($source->filepath);
- } elseif ($_return === true) {
- $source->content = $_content;
- $source->exists = true;
- $source->uid = $source->name = sha1($_content);
- $source->handler = Smarty_Resource::load($source->smarty, 'eval');
- } else {
- $source->exists = false;
- throw new SmartyException(
- 'Default handler: No ' . ($source->isConfig ? 'config' : 'template') .
- " default content for '{$source->type}:{$source->name}'"
- );
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerfilter.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerfilter.php
deleted file mode 100755
index c0f9fff..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerfilter.php
+++ /dev/null
@@ -1,87 +0,0 @@
- true, 'post' => true, 'output' => true, 'variable' => true);
-
- /**
- * Registers a filter function
- *
- * @api Smarty::registerFilter()
- *
- * @link http://www.smarty.net/docs/en/api.register.filter.tpl
- *
- * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
- * @param string $type filter type
- * @param callback $callback
- * @param string|null $name optional filter name
- *
- * @return \Smarty|\Smarty_Internal_Template
- * @throws \SmartyException
- */
- public function registerFilter(Smarty_Internal_TemplateBase $obj, $type, $callback, $name = null)
- {
- $smarty = $obj->_getSmartyObj();
- $this->_checkFilterType($type);
- $name = isset($name) ? $name : $this->_getFilterName($callback);
- if (!is_callable($callback)) {
- throw new SmartyException("{$type}filter '{$name}' not callable");
- }
- $smarty->registered_filters[ $type ][ $name ] = $callback;
- return $obj;
- }
-
- /**
- * Return internal filter name
- *
- * @param callback $function_name
- *
- * @return string internal filter name
- */
- public function _getFilterName($function_name)
- {
- if (is_array($function_name)) {
- $_class_name = (is_object($function_name[ 0 ]) ? get_class($function_name[ 0 ]) : $function_name[ 0 ]);
- return $_class_name . '_' . $function_name[ 1 ];
- } elseif (is_string($function_name)) {
- return $function_name;
- } else {
- return 'closure';
- }
- }
-
- /**
- * Check if filter type is valid
- *
- * @param string $type
- *
- * @throws \SmartyException
- */
- public function _checkFilterType($type)
- {
- if (!isset($this->filterTypes[ $type ])) {
- throw new SmartyException("Illegal filter type '{$type}'");
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerobject.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerobject.php
deleted file mode 100755
index 4646e4f..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerobject.php
+++ /dev/null
@@ -1,84 +0,0 @@
-_getSmartyObj();
- // test if allowed methods callable
- if (!empty($allowed_methods_properties)) {
- foreach ((array)$allowed_methods_properties as $method) {
- if (!is_callable(array($object, $method)) && !property_exists($object, $method)) {
- throw new SmartyException("Undefined method or property '$method' in registered object");
- }
- }
- }
- // test if block methods callable
- if (!empty($block_methods)) {
- foreach ((array)$block_methods as $method) {
- if (!is_callable(array($object, $method))) {
- throw new SmartyException("Undefined method '$method' in registered object");
- }
- }
- }
- // register the object
- $smarty->registered_objects[ $object_name ] =
- array($object, (array)$allowed_methods_properties, (boolean)$format, (array)$block_methods);
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerplugin.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerplugin.php
deleted file mode 100755
index f987f6d..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerplugin.php
+++ /dev/null
@@ -1,56 +0,0 @@
-_getSmartyObj();
- if (isset($smarty->registered_plugins[ $type ][ $name ])) {
- throw new SmartyException("Plugin tag '{$name}' already registered");
- } elseif (!is_callable($callback)) {
- throw new SmartyException("Plugin '{$name}' not callable");
- } else {
- $smarty->registered_plugins[ $type ][ $name ] = array($callback, (bool)$cacheable, (array)$cache_attr);
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerresource.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerresource.php
deleted file mode 100755
index 7c7d0f7..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerresource.php
+++ /dev/null
@@ -1,46 +0,0 @@
-_getSmartyObj();
- $smarty->registered_resources[ $name ] =
- $resource_handler instanceof Smarty_Resource ? $resource_handler : array($resource_handler, false);
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setautoloadfilters.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setautoloadfilters.php
deleted file mode 100755
index 2972f3c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setautoloadfilters.php
+++ /dev/null
@@ -1,72 +0,0 @@
- true, 'post' => true, 'output' => true, 'variable' => true);
-
- /**
- * Set autoload filters
- *
- * @api Smarty::setAutoloadFilters()
- *
- * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
- * @param array $filters filters to load automatically
- * @param string $type "pre", "output", … specify
- * the filter type to set.
- * Defaults to none treating
- * $filters' keys as the
- * appropriate types
- *
- * @return \Smarty|\Smarty_Internal_Template
- * @throws \SmartyException
- */
- public function setAutoloadFilters(Smarty_Internal_TemplateBase $obj, $filters, $type = null)
- {
- $smarty = $obj->_getSmartyObj();
- if ($type !== null) {
- $this->_checkFilterType($type);
- $smarty->autoload_filters[ $type ] = (array)$filters;
- } else {
- foreach ((array)$filters as $type => $value) {
- $this->_checkFilterType($type);
- }
- $smarty->autoload_filters = (array)$filters;
- }
- return $obj;
- }
-
- /**
- * Check if filter type is valid
- *
- * @param string $type
- *
- * @throws \SmartyException
- */
- public function _checkFilterType($type)
- {
- if (!isset($this->filterTypes[ $type ])) {
- throw new SmartyException("Illegal filter type '{$type}'");
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdebugtemplate.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdebugtemplate.php
deleted file mode 100755
index cc9d23e..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdebugtemplate.php
+++ /dev/null
@@ -1,41 +0,0 @@
-_getSmartyObj();
- if (!is_readable($tpl_name)) {
- throw new SmartyException("Unknown file '{$tpl_name}'");
- }
- $smarty->debug_tpl = $tpl_name;
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php
deleted file mode 100755
index eadc2de..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_getSmartyObj();
- $smarty->default_modifiers = (array)$modifiers;
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unloadfilter.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unloadfilter.php
deleted file mode 100755
index 55e1596..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unloadfilter.php
+++ /dev/null
@@ -1,43 +0,0 @@
-_getSmartyObj();
- $this->_checkFilterType($type);
- if (isset($smarty->registered_filters[ $type ])) {
- $_filter_name = "smarty_{$type}filter_{$name}";
- if (isset($smarty->registered_filters[ $type ][ $_filter_name ])) {
- unset($smarty->registered_filters[ $type ][ $_filter_name ]);
- if (empty($smarty->registered_filters[ $type ])) {
- unset($smarty->registered_filters[ $type ]);
- }
- }
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregistercacheresource.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregistercacheresource.php
deleted file mode 100755
index b999038..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregistercacheresource.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_getSmartyObj();
- if (isset($smarty->registered_cache_resources[ $name ])) {
- unset($smarty->registered_cache_resources[ $name ]);
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterfilter.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterfilter.php
deleted file mode 100755
index 9cb494a..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterfilter.php
+++ /dev/null
@@ -1,43 +0,0 @@
-_getSmartyObj();
- $this->_checkFilterType($type);
- if (isset($smarty->registered_filters[ $type ])) {
- $name = is_string($callback) ? $callback : $this->_getFilterName($callback);
- if (isset($smarty->registered_filters[ $type ][ $name ])) {
- unset($smarty->registered_filters[ $type ][ $name ]);
- if (empty($smarty->registered_filters[ $type ])) {
- unset($smarty->registered_filters[ $type ]);
- }
- }
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterobject.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterobject.php
deleted file mode 100755
index 1e592b3..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterobject.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_getSmartyObj();
- if (isset($smarty->registered_objects[ $object_name ])) {
- unset($smarty->registered_objects[ $object_name ]);
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterplugin.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterplugin.php
deleted file mode 100755
index f39e316..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterplugin.php
+++ /dev/null
@@ -1,41 +0,0 @@
-_getSmartyObj();
- if (isset($smarty->registered_plugins[ $type ][ $name ])) {
- unset($smarty->registered_plugins[ $type ][ $name ]);
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterresource.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterresource.php
deleted file mode 100755
index a79db42..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterresource.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_getSmartyObj();
- if (isset($smarty->registered_resources[ $type ])) {
- unset($smarty->registered_resources[ $type ]);
- }
- return $obj;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_nocache_insert.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_nocache_insert.php
deleted file mode 100755
index 88694dc..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_nocache_insert.php
+++ /dev/null
@@ -1,51 +0,0 @@
-assign('{$_assign}' , {$_function} (" . var_export($_attr, true) .
- ',\$_smarty_tpl), true);?>';
- } else {
- $_output .= "echo {$_function}(" . var_export($_attr, true) . ',$_smarty_tpl);?>';
- }
- $_tpl = $_template;
- while ($_tpl->_isSubTpl()) {
- $_tpl = $_tpl->parent;
- }
- return "/*%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/{$_output}/*/%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/";
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree.php
deleted file mode 100755
index 9f76785..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree.php
+++ /dev/null
@@ -1,50 +0,0 @@
-data = null;
- $this->subtrees = null;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_code.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_code.php
deleted file mode 100755
index 7bd0bc4..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_code.php
+++ /dev/null
@@ -1,42 +0,0 @@
-data = $data;
- }
-
- /**
- * Return buffer content in parentheses
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string content
- */
- public function to_smarty_php(Smarty_Internal_Templateparser $parser)
- {
- return sprintf('(%s)', $this->data);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dq.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dq.php
deleted file mode 100755
index 8655f58..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dq.php
+++ /dev/null
@@ -1,95 +0,0 @@
-subtrees[] = $subtree;
- if ($subtree instanceof Smarty_Internal_ParseTree_Tag) {
- $parser->block_nesting_level = count($parser->compiler->_tag_stack);
- }
- }
-
- /**
- * Append buffer to subtree
- *
- * @param \Smarty_Internal_Templateparser $parser
- * @param Smarty_Internal_ParseTree $subtree parse tree buffer
- */
- public function append_subtree(Smarty_Internal_Templateparser $parser, Smarty_Internal_ParseTree $subtree)
- {
- $last_subtree = count($this->subtrees) - 1;
- if ($last_subtree >= 0 && $this->subtrees[ $last_subtree ] instanceof Smarty_Internal_ParseTree_Tag
- && $this->subtrees[ $last_subtree ]->saved_block_nesting < $parser->block_nesting_level
- ) {
- if ($subtree instanceof Smarty_Internal_ParseTree_Code) {
- $this->subtrees[ $last_subtree ]->data =
- $parser->compiler->appendCode(
- $this->subtrees[ $last_subtree ]->data,
- 'data . ';?>'
- );
- } elseif ($subtree instanceof Smarty_Internal_ParseTree_DqContent) {
- $this->subtrees[ $last_subtree ]->data =
- $parser->compiler->appendCode(
- $this->subtrees[ $last_subtree ]->data,
- 'data . '";?>'
- );
- } else {
- $this->subtrees[ $last_subtree ]->data =
- $parser->compiler->appendCode($this->subtrees[ $last_subtree ]->data, $subtree->data);
- }
- } else {
- $this->subtrees[] = $subtree;
- }
- if ($subtree instanceof Smarty_Internal_ParseTree_Tag) {
- $parser->block_nesting_level = count($parser->compiler->_tag_stack);
- }
- }
-
- /**
- * Merge subtree buffer content together
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string compiled template code
- */
- public function to_smarty_php(Smarty_Internal_Templateparser $parser)
- {
- $code = '';
- foreach ($this->subtrees as $subtree) {
- if ($code !== '') {
- $code .= '.';
- }
- if ($subtree instanceof Smarty_Internal_ParseTree_Tag) {
- $more_php = $subtree->assign_to_var($parser);
- } else {
- $more_php = $subtree->to_smarty_php($parser);
- }
- $code .= $more_php;
- if (!$subtree instanceof Smarty_Internal_ParseTree_DqContent) {
- $parser->compiler->has_variable_string = true;
- }
- }
- return $code;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dqcontent.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dqcontent.php
deleted file mode 100755
index a8ca389..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dqcontent.php
+++ /dev/null
@@ -1,42 +0,0 @@
-data = $data;
- }
-
- /**
- * Return content as double quoted string
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string doubled quoted string
- */
- public function to_smarty_php(Smarty_Internal_Templateparser $parser)
- {
- return '"' . $this->data . '"';
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_tag.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_tag.php
deleted file mode 100755
index e6c7556..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_tag.php
+++ /dev/null
@@ -1,67 +0,0 @@
-data = $data;
- $this->saved_block_nesting = $parser->block_nesting_level;
- }
-
- /**
- * Return buffer content
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string content
- */
- public function to_smarty_php(Smarty_Internal_Templateparser $parser)
- {
- return $this->data;
- }
-
- /**
- * Return complied code that loads the evaluated output of buffer content into a temporary variable
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string template code
- */
- public function assign_to_var(Smarty_Internal_Templateparser $parser)
- {
- $var = $parser->compiler->getNewPrefixVariable();
- $tmp = $parser->compiler->appendCode('', $this->data);
- $tmp = $parser->compiler->appendCode($tmp, "");
- $parser->compiler->prefix_code[] = sprintf('%s', $tmp);
- return $var;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_template.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_template.php
deleted file mode 100755
index 8e716bd..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_template.php
+++ /dev/null
@@ -1,129 +0,0 @@
-subtrees)) {
- $this->subtrees = array_merge($this->subtrees, $subtree->subtrees);
- } else {
- if ($subtree->data !== '') {
- $this->subtrees[] = $subtree;
- }
- }
- }
-
- /**
- * Append array to subtree
- *
- * @param \Smarty_Internal_Templateparser $parser
- * @param \Smarty_Internal_ParseTree[] $array
- */
- public function append_array(Smarty_Internal_Templateparser $parser, $array = array())
- {
- if (!empty($array)) {
- $this->subtrees = array_merge($this->subtrees, (array)$array);
- }
- }
-
- /**
- * Prepend array to subtree
- *
- * @param \Smarty_Internal_Templateparser $parser
- * @param \Smarty_Internal_ParseTree[] $array
- */
- public function prepend_array(Smarty_Internal_Templateparser $parser, $array = array())
- {
- if (!empty($array)) {
- $this->subtrees = array_merge((array)$array, $this->subtrees);
- }
- }
-
- /**
- * Sanitize and merge subtree buffers together
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string template code content
- */
- public function to_smarty_php(Smarty_Internal_Templateparser $parser)
- {
- $code = '';
- for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key++) {
- if ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Text) {
- $subtree = $this->subtrees[ $key ]->to_smarty_php($parser);
- while ($key + 1 < $cnt && ($this->subtrees[ $key + 1 ] instanceof Smarty_Internal_ParseTree_Text ||
- $this->subtrees[ $key + 1 ]->data === '')) {
- $key++;
- if ($this->subtrees[ $key ]->data === '') {
- continue;
- }
- $subtree .= $this->subtrees[ $key ]->to_smarty_php($parser);
- }
- if ($subtree === '') {
- continue;
- }
- $code .= preg_replace(
- '/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/',
- "\n",
- $subtree
- );
- continue;
- }
- if ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Tag) {
- $subtree = $this->subtrees[ $key ]->to_smarty_php($parser);
- while ($key + 1 < $cnt && ($this->subtrees[ $key + 1 ] instanceof Smarty_Internal_ParseTree_Tag ||
- $this->subtrees[ $key + 1 ]->data === '')) {
- $key++;
- if ($this->subtrees[ $key ]->data === '') {
- continue;
- }
- $subtree = $parser->compiler->appendCode($subtree, $this->subtrees[ $key ]->to_smarty_php($parser));
- }
- if ($subtree === '') {
- continue;
- }
- $code .= $subtree;
- continue;
- }
- $code .= $this->subtrees[ $key ]->to_smarty_php($parser);
- }
- return $code;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_text.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_text.php
deleted file mode 100755
index b3100fa..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_text.php
+++ /dev/null
@@ -1,40 +0,0 @@
-data = $data;
- }
-
- /**
- * Return buffer content
- *
- * @param \Smarty_Internal_Templateparser $parser
- *
- * @return string text
- */
- public function to_smarty_php(Smarty_Internal_Templateparser $parser)
- {
- return $this->data;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_eval.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_eval.php
deleted file mode 100755
index 3b552a5..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_eval.php
+++ /dev/null
@@ -1,94 +0,0 @@
-uid = $source->filepath = sha1($source->name);
- $source->timestamp = $source->exists = true;
- }
-
- /**
- * Load template's source from $resource_name into current template object
- *
- * @uses decode() to decode base64 and urlencoded template_resources
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- */
- public function getContent(Smarty_Template_Source $source)
- {
- return $this->decode($source->name);
- }
-
- /**
- * decode base64 and urlencode
- *
- * @param string $string template_resource to decode
- *
- * @return string decoded template_resource
- */
- protected function decode($string)
- {
- // decode if specified
- if (($pos = strpos($string, ':')) !== false) {
- if (!strncmp($string, 'base64', 6)) {
- return base64_decode(substr($string, 7));
- } elseif (!strncmp($string, 'urlencode', 9)) {
- return urldecode(substr($string, 10));
- }
- }
- return $string;
- }
-
- /**
- * modify resource_name according to resource handlers specifications
- *
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
- * @param boolean $isConfig flag for config resource
- *
- * @return string unique resource name
- */
- public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false)
- {
- return get_class($this) . '#' . $this->decode($resource_name);
- }
-
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return '';
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_extends.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_extends.php
deleted file mode 100755
index 8094693..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_extends.php
+++ /dev/null
@@ -1,126 +0,0 @@
-name);
- $smarty = &$source->smarty;
- $exists = true;
- foreach ($components as $component) {
- /* @var \Smarty_Template_Source $_s */
- $_s = Smarty_Template_Source::load(null, $smarty, $component);
- if ($_s->type === 'php') {
- throw new SmartyException("Resource type {$_s->type} cannot be used with the extends resource type");
- }
- $sources[ $_s->uid ] = $_s;
- $uid .= $_s->filepath;
- if ($_template) {
- $exists = $exists && $_s->exists;
- }
- }
- $source->components = $sources;
- $source->filepath = $_s->filepath;
- $source->uid = sha1($uid . $source->smarty->_joined_template_dir);
- $source->exists = $exists;
- if ($_template) {
- $source->timestamp = $_s->timestamp;
- }
- }
-
- /**
- * populate Source Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Source $source source object
- */
- public function populateTimestamp(Smarty_Template_Source $source)
- {
- $source->exists = true;
- /* @var \Smarty_Template_Source $_s */
- foreach ($source->components as $_s) {
- $source->exists = $source->exists && $_s->exists;
- }
- $source->timestamp = $source->exists ? $_s->getTimeStamp() : false;
- }
-
- /**
- * Load template's source from files into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
- public function getContent(Smarty_Template_Source $source)
- {
- if (!$source->exists) {
- throw new SmartyException("Unable to load template '{$source->type}:{$source->name}'");
- }
- $_components = array_reverse($source->components);
- $_content = '';
- /* @var \Smarty_Template_Source $_s */
- foreach ($_components as $_s) {
- // read content
- $_content .= $_s->getContent();
- }
- return $_content;
- }
-
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return str_replace(':', '.', basename($source->filepath));
- }
-
- /*
- * Disable timestamp checks for extends resource.
- * The individual source components will be checked.
- *
- * @return bool
- */
- /**
- * @return bool
- */
- public function checkTimestamps()
- {
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_file.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_file.php
deleted file mode 100755
index ae20606..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_file.php
+++ /dev/null
@@ -1,180 +0,0 @@
-filepath = $this->buildFilepath($source, $_template);
- if ($source->filepath !== false) {
- if (isset($source->smarty->security_policy) && is_object($source->smarty->security_policy)) {
- $source->smarty->security_policy->isTrustedResourceDir($source->filepath, $source->isConfig);
- }
- $source->exists = true;
- $source->uid = sha1(
- $source->filepath . ($source->isConfig ? $source->smarty->_joined_config_dir :
- $source->smarty->_joined_template_dir)
- );
- $source->timestamp = filemtime($source->filepath);
- } else {
- $source->timestamp = $source->exists = false;
- }
- }
-
- /**
- * populate Source Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Source $source source object
- */
- public function populateTimestamp(Smarty_Template_Source $source)
- {
- if (!$source->exists) {
- $source->timestamp = $source->exists = is_file($source->filepath);
- }
- if ($source->exists) {
- $source->timestamp = filemtime($source->filepath);
- }
- }
-
- /**
- * Load template's source from file into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
- public function getContent(Smarty_Template_Source $source)
- {
- if ($source->exists) {
- return file_get_contents($source->filepath);
- }
- throw new SmartyException(
- 'Unable to read ' . ($source->isConfig ? 'config' : 'template') .
- " {$source->type} '{$source->name}'"
- );
- }
-
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return basename($source->filepath);
- }
-
- /**
- * build template filepath by traversing the template_dir array
- *
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string fully qualified filepath
- * @throws SmartyException
- */
- protected function buildFilepath(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
- {
- $file = $source->name;
- // absolute file ?
- if ($file[ 0 ] === '/' || $file[ 1 ] === ':') {
- $file = $source->smarty->_realpath($file, true);
- return is_file($file) ? $file : false;
- }
- // go relative to a given template?
- if ($file[ 0 ] === '.' && $_template && $_template->_isSubTpl()
- && preg_match('#^[.]{1,2}[\\\/]#', $file)
- ) {
- if ($_template->parent->source->type !== 'file' && $_template->parent->source->type !== 'extends'
- && !isset($_template->parent->_cache[ 'allow_relative_path' ])
- ) {
- throw new SmartyException("Template '{$file}' cannot be relative to template of resource type '{$_template->parent->source->type}'");
- }
- // normalize path
- $path =
- $source->smarty->_realpath(dirname($_template->parent->source->filepath) . DIRECTORY_SEPARATOR . $file);
- // files relative to a template only get one shot
- return is_file($path) ? $path : false;
- }
- // normalize DIRECTORY_SEPARATOR
- if (strpos($file, DIRECTORY_SEPARATOR === '/' ? '\\' : '/') !== false) {
- $file = str_replace(DIRECTORY_SEPARATOR === '/' ? '\\' : '/', DIRECTORY_SEPARATOR, $file);
- }
- $_directories = $source->smarty->getTemplateDir(null, $source->isConfig);
- // template_dir index?
- if ($file[ 0 ] === '[' && preg_match('#^\[([^\]]+)\](.+)$#', $file, $fileMatch)) {
- $file = $fileMatch[ 2 ];
- $_indices = explode(',', $fileMatch[ 1 ]);
- $_index_dirs = array();
- foreach ($_indices as $index) {
- $index = trim($index);
- // try string indexes
- if (isset($_directories[ $index ])) {
- $_index_dirs[] = $_directories[ $index ];
- } elseif (is_numeric($index)) {
- // try numeric index
- $index = (int)$index;
- if (isset($_directories[ $index ])) {
- $_index_dirs[] = $_directories[ $index ];
- } else {
- // try at location index
- $keys = array_keys($_directories);
- if (isset($_directories[ $keys[ $index ] ])) {
- $_index_dirs[] = $_directories[ $keys[ $index ] ];
- }
- }
- }
- }
- if (empty($_index_dirs)) {
- // index not found
- return false;
- } else {
- $_directories = $_index_dirs;
- }
- }
- // relative file name?
- foreach ($_directories as $_directory) {
- $path = $_directory . $file;
- if (is_file($path)) {
- return (strpos($path, '.' . DIRECTORY_SEPARATOR) !== false) ? $source->smarty->_realpath($path) : $path;
- }
- }
- if (!isset($_index_dirs)) {
- // Could be relative to cwd
- $path = $source->smarty->_realpath($file, true);
- if (is_file($path)) {
- return $path;
- }
- }
- // Use include path ?
- if ($source->smarty->use_include_path) {
- return $source->smarty->ext->_getIncludePath->getIncludePath($_directories, $file, $source->smarty);
- }
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_php.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_php.php
deleted file mode 100755
index 9d98ae1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_php.php
+++ /dev/null
@@ -1,116 +0,0 @@
-short_open_tag = function_exists('ini_get') ? ini_get('short_open_tag') : 1;
- }
-
- /**
- * Load template's source from file into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
- public function getContent(Smarty_Template_Source $source)
- {
- if ($source->exists) {
- return '';
- }
- throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
- }
-
- /**
- * populate compiled object with compiled filepath
- *
- * @param Smarty_Template_Compiled $compiled compiled object
- * @param Smarty_Internal_Template $_template template object (is ignored)
- */
- public function populateCompiledFilepath(Smarty_Template_Compiled $compiled, Smarty_Internal_Template $_template)
- {
- $compiled->filepath = $_template->source->filepath;
- $compiled->timestamp = $_template->source->timestamp;
- $compiled->exists = $_template->source->exists;
- $compiled->file_dependency[ $_template->source->uid ] =
- array(
- $compiled->filepath,
- $compiled->timestamp,
- $_template->source->type,
- );
- }
-
- /**
- * Render and output the template (without using the compiler)
- *
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- *
- * @return void
- * @throws SmartyException if template cannot be loaded or allow_php_templates is disabled
- */
- public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template)
- {
- if (!$source->smarty->allow_php_templates) {
- throw new SmartyException('PHP templates are disabled');
- }
- if (!$source->exists) {
- throw new SmartyException(
- "Unable to load template '{$source->type}:{$source->name}'" .
- ($_template->_isSubTpl() ? " in '{$_template->parent->template_resource}'" : '')
- );
- }
- // prepare variables
- extract($_template->getTemplateVars());
- // include PHP template with short open tags enabled
- if (function_exists('ini_set')) {
- ini_set('short_open_tag', '1');
- }
- /**
- *
- *
- * @var Smarty_Internal_Template $_smarty_template
- * used in included file
- */
- $_smarty_template = $_template;
- include $source->filepath;
- if (function_exists('ini_set')) {
- ini_set('short_open_tag', $this->short_open_tag);
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_registered.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_registered.php
deleted file mode 100755
index df52610..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_registered.php
+++ /dev/null
@@ -1,101 +0,0 @@
-filepath = $source->type . ':' . $source->name;
- $source->uid = sha1($source->filepath . $source->smarty->_joined_template_dir);
- $source->timestamp = $this->getTemplateTimestamp($source);
- $source->exists = !!$source->timestamp;
- }
-
- /**
- * populate Source Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return void
- */
- public function populateTimestamp(Smarty_Template_Source $source)
- {
- $source->timestamp = $this->getTemplateTimestamp($source);
- $source->exists = !!$source->timestamp;
- }
-
- /**
- * Get timestamp (epoch) the template source was modified
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return integer|boolean timestamp (epoch) the template was modified, false if resources has no timestamp
- */
- public function getTemplateTimestamp(Smarty_Template_Source $source)
- {
- // return timestamp
- $time_stamp = false;
- call_user_func_array(
- $source->smarty->registered_resources[ $source->type ][ 0 ][ 1 ],
- array($source->name, &$time_stamp, $source->smarty)
- );
- return is_numeric($time_stamp) ? (int)$time_stamp : $time_stamp;
- }
-
- /**
- * Load template's source by invoking the registered callback into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
- public function getContent(Smarty_Template_Source $source)
- {
- // return template string
- $content = null;
- $t = call_user_func_array(
- $source->smarty->registered_resources[ $source->type ][ 0 ][ 0 ],
- array($source->name, &$content, $source->smarty)
- );
- if (is_bool($t) && !$t) {
- throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
- }
- return $content;
- }
-
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return basename($source->name);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_stream.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_stream.php
deleted file mode 100755
index 9956bd0..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_stream.php
+++ /dev/null
@@ -1,78 +0,0 @@
-resource, '://') !== false) {
- $source->filepath = $source->resource;
- } else {
- $source->filepath = str_replace(':', '://', $source->resource);
- }
- $source->uid = false;
- $source->content = $this->getContent($source);
- $source->timestamp = $source->exists = !!$source->content;
- }
-
- /**
- * Load template's source from stream into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- */
- public function getContent(Smarty_Template_Source $source)
- {
- $t = '';
- // the availability of the stream has already been checked in Smarty_Resource::fetch()
- $fp = fopen($source->filepath, 'r+');
- if ($fp) {
- while (!feof($fp) && ($current_line = fgets($fp)) !== false) {
- $t .= $current_line;
- }
- fclose($fp);
- return $t;
- } else {
- return false;
- }
- }
-
- /**
- * modify resource_name according to resource handlers specifications
- *
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
- * @param boolean $isConfig flag for config resource
- *
- * @return string unique resource name
- */
- public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false)
- {
- return get_class($this) . '#' . $resource_name;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_string.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_string.php
deleted file mode 100755
index 3fecbb7..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_string.php
+++ /dev/null
@@ -1,108 +0,0 @@
-uid = $source->filepath = sha1($source->name . $source->smarty->_joined_template_dir);
- $source->timestamp = $source->exists = true;
- }
-
- /**
- * Load template's source from $resource_name into current template object
- *
- * @uses decode() to decode base64 and urlencoded template_resources
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- */
- public function getContent(Smarty_Template_Source $source)
- {
- return $this->decode($source->name);
- }
-
- /**
- * decode base64 and urlencode
- *
- * @param string $string template_resource to decode
- *
- * @return string decoded template_resource
- */
- protected function decode($string)
- {
- // decode if specified
- if (($pos = strpos($string, ':')) !== false) {
- if (!strncmp($string, 'base64', 6)) {
- return base64_decode(substr($string, 7));
- } elseif (!strncmp($string, 'urlencode', 9)) {
- return urldecode(substr($string, 10));
- }
- }
- return $string;
- }
-
- /**
- * modify resource_name according to resource handlers specifications
- *
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
- * @param boolean $isConfig flag for config resource
- *
- * @return string unique resource name
- */
- public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false)
- {
- return get_class($this) . '#' . $this->decode($resource_name);
- }
-
- /**
- * Determine basename for compiled filename
- * Always returns an empty string.
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return '';
- }
-
- /*
- * Disable timestamp checks for string resource.
- *
- * @return bool
- */
- /**
- * @return bool
- */
- public function checkTimestamps()
- {
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cachemodify.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cachemodify.php
deleted file mode 100755
index 6e12d2a..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cachemodify.php
+++ /dev/null
@@ -1,68 +0,0 @@
-isCached() && !$_template->compiled->has_nocache_code;
- $_last_modified_date =
- @substr($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 0, strpos($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 'GMT') + 3);
- if ($_isCached && $cached->timestamp <= strtotime($_last_modified_date)) {
- switch (PHP_SAPI) {
- case 'cgi': // php-cgi < 5.3
- case 'cgi-fcgi': // php-cgi >= 5.3
- case 'fpm-fcgi': // php-fpm >= 5.3.3
- header('Status: 304 Not Modified');
- break;
- case 'cli':
- if (/* ^phpunit */
- !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
- ) {
- $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
- }
- break;
- default:
- if (/* ^phpunit */
- !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
- ) {
- $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
- } else {
- header($_SERVER[ 'SERVER_PROTOCOL' ] . ' 304 Not Modified');
- }
- break;
- }
- } else {
- switch (PHP_SAPI) {
- case 'cli':
- if (/* ^phpunit */
- !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
- ) {
- $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] =
- 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT';
- }
- break;
- default:
- header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT');
- break;
- }
- echo $content;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php
deleted file mode 100755
index 2870964..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php
+++ /dev/null
@@ -1,139 +0,0 @@
-use_sub_dirs ? '/' : '^';
- $_compile_id_offset = $smarty->use_sub_dirs ? 3 : 0;
- $_dir = $smarty->getCacheDir();
- if ($_dir === '/') { //We should never want to delete this!
- return 0;
- }
- $_dir_length = strlen($_dir);
- if (isset($_cache_id)) {
- $_cache_id_parts = explode('|', $_cache_id);
- $_cache_id_parts_count = count($_cache_id_parts);
- if ($smarty->use_sub_dirs) {
- foreach ($_cache_id_parts as $id_part) {
- $_dir .= $id_part . '/';
- }
- }
- }
- if (isset($resource_name)) {
- $_save_stat = $smarty->caching;
- $smarty->caching = Smarty::CACHING_LIFETIME_CURRENT;
- $tpl = new $smarty->template_class($resource_name, $smarty);
- $smarty->caching = $_save_stat;
- // remove from template cache
- $tpl->source; // have the template registered before unset()
- if ($tpl->source->exists) {
- $_resourcename_parts = basename(str_replace('^', '/', $tpl->cached->filepath));
- } else {
- return 0;
- }
- }
- $_count = 0;
- $_time = time();
- if (file_exists($_dir)) {
- $_cacheDirs = new RecursiveDirectoryIterator($_dir);
- $_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST);
- foreach ($_cache as $_file) {
- if (substr(basename($_file->getPathname()), 0, 1) === '.') {
- continue;
- }
- $_filepath = (string)$_file;
- // directory ?
- if ($_file->isDir()) {
- if (!$_cache->isDot()) {
- // delete folder if empty
- @rmdir($_file->getPathname());
- }
- } else {
- // delete only php files
- if (substr($_filepath, -4) !== '.php') {
- continue;
- }
- $_parts = explode($_dir_sep, str_replace('\\', '/', substr($_filepath, $_dir_length)));
- $_parts_count = count($_parts);
- // check name
- if (isset($resource_name)) {
- if ($_parts[ $_parts_count - 1 ] !== $_resourcename_parts) {
- continue;
- }
- }
- // check compile id
- if (isset($_compile_id) && (!isset($_parts[ $_parts_count - 2 - $_compile_id_offset ])
- || $_parts[ $_parts_count - 2 - $_compile_id_offset ] !== $_compile_id)
- ) {
- continue;
- }
- // check cache id
- if (isset($_cache_id)) {
- // count of cache id parts
- $_parts_count = (isset($_compile_id)) ? $_parts_count - 2 - $_compile_id_offset :
- $_parts_count - 1 - $_compile_id_offset;
- if ($_parts_count < $_cache_id_parts_count) {
- continue;
- }
- for ($i = 0; $i < $_cache_id_parts_count; $i++) {
- if ($_parts[ $i ] !== $_cache_id_parts[ $i ]) {
- continue 2;
- }
- }
- }
- if (is_file($_filepath)) {
- // expired ?
- if (isset($exp_time)) {
- if ($exp_time < 0) {
- preg_match('#\'cache_lifetime\' =>\s*(\d*)#', file_get_contents($_filepath), $match);
- if ($_time < (filemtime($_filepath) + $match[ 1 ])) {
- continue;
- }
- } else {
- if ($_time - filemtime($_filepath) < $exp_time) {
- continue;
- }
- }
- }
- $_count += @unlink($_filepath) ? 1 : 0;
- if (function_exists('opcache_invalidate')
- && (!function_exists('ini_get') || strlen(ini_get("opcache.restrict_api")) < 1)
- ) {
- opcache_invalidate($_filepath, true);
- } elseif (function_exists('apc_delete_file')) {
- apc_delete_file($_filepath);
- }
- }
- }
- }
- }
- return $_count;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_capture.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_capture.php
deleted file mode 100755
index c9dca83..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_capture.php
+++ /dev/null
@@ -1,174 +0,0 @@
-isRegistered) {
- $this->register($_template);
- }
- $this->captureStack[] = array(
- $buffer,
- $assign,
- $append
- );
- $this->captureCount++;
- ob_start();
- }
-
- /**
- * Register callbacks in template class
- *
- * @param \Smarty_Internal_Template $_template
- */
- private function register(Smarty_Internal_Template $_template)
- {
- $_template->startRenderCallbacks[] = array(
- $this,
- 'startRender'
- );
- $_template->endRenderCallbacks[] = array(
- $this,
- 'endRender'
- );
- $this->startRender($_template);
- $this->isRegistered = true;
- }
-
- /**
- * Start render callback
- *
- * @param \Smarty_Internal_Template $_template
- */
- public function startRender(Smarty_Internal_Template $_template)
- {
- $this->countStack[] = $this->captureCount;
- $this->captureCount = 0;
- }
-
- /**
- * Close capture section
- *
- * @param \Smarty_Internal_Template $_template
- *
- * @throws \SmartyException
- */
- public function close(Smarty_Internal_Template $_template)
- {
- if ($this->captureCount) {
- list($buffer, $assign, $append) = array_pop($this->captureStack);
- $this->captureCount--;
- if (isset($assign)) {
- $_template->assign($assign, ob_get_contents());
- }
- if (isset($append)) {
- $_template->append($append, ob_get_contents());
- }
- $this->namedBuffer[ $buffer ] = ob_get_clean();
- } else {
- $this->error($_template);
- }
- }
-
- /**
- * Error exception on not matching {capture}{/capture}
- *
- * @param \Smarty_Internal_Template $_template
- *
- * @throws \SmartyException
- */
- public function error(Smarty_Internal_Template $_template)
- {
- throw new SmartyException("Not matching {capture}{/capture} in '{$_template->template_resource}'");
- }
-
- /**
- * Return content of named capture buffer by key or as array
- *
- * @param \Smarty_Internal_Template $_template
- * @param string|null $name
- *
- * @return string|string[]|null
- */
- public function getBuffer(Smarty_Internal_Template $_template, $name = null)
- {
- if (isset($name)) {
- return isset($this->namedBuffer[ $name ]) ? $this->namedBuffer[ $name ] : null;
- } else {
- return $this->namedBuffer;
- }
- }
-
- /**
- * End render callback
- *
- * @param \Smarty_Internal_Template $_template
- *
- * @throws \SmartyException
- */
- public function endRender(Smarty_Internal_Template $_template)
- {
- if ($this->captureCount) {
- $this->error($_template);
- } else {
- $this->captureCount = array_pop($this->countStack);
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_codeframe.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_codeframe.php
deleted file mode 100755
index 983ca61..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_codeframe.php
+++ /dev/null
@@ -1,100 +0,0 @@
-compiled->has_nocache_code;
- $properties[ 'file_dependency' ] = $_template->compiled->file_dependency;
- $properties[ 'includes' ] = $_template->compiled->includes;
- } else {
- $properties[ 'has_nocache_code' ] = $_template->cached->has_nocache_code;
- $properties[ 'file_dependency' ] = $_template->cached->file_dependency;
- $properties[ 'cache_lifetime' ] = $_template->cache_lifetime;
- }
- $output = "source->filepath) . "' */\n\n";
- $output .= "/* @var Smarty_Internal_Template \$_smarty_tpl */\n";
- $dec = "\$_smarty_tpl->_decodeProperties(\$_smarty_tpl, " . var_export($properties, true) . ',' .
- ($cache ? 'true' : 'false') . ')';
- $output .= "if ({$dec}) {\n";
- $output .= "function {$properties['unifunc']} (Smarty_Internal_Template \$_smarty_tpl) {\n";
- if (!$cache && !empty($compiler->tpl_function)) {
- $output .= '$_smarty_tpl->smarty->ext->_tplFunction->registerTplFunctions($_smarty_tpl, ';
- $output .= var_export($compiler->tpl_function, true);
- $output .= ");\n";
- }
- if ($cache && isset($_template->smarty->ext->_tplFunction)) {
- $output .= "\$_smarty_tpl->smarty->ext->_tplFunction->registerTplFunctions(\$_smarty_tpl, " .
- var_export($_template->smarty->ext->_tplFunction->getTplFunction($_template), true) . ");\n";
- }
- $output .= "?>";
- $output .= $content;
- $output .= "";
- $output .= $functions;
- $output .= "[\n]?<\?php\s*/', $output)) {
- $curr_split = preg_split(
- '/\s*\?>[\n]?<\?php\s*/',
- $output
- );
- preg_match_all(
- '/\s*\?>[\n]?<\?php\s*/',
- $output,
- $curr_parts
- );
- $output = '';
- foreach ($curr_split as $idx => $curr_output) {
- $output .= $curr_output;
- if (isset($curr_parts[ 0 ][ $idx ])) {
- $output .= "\n";
- }
- }
- }
- if (preg_match('/\?>\s*$/', $output)) {
- $curr_split = preg_split(
- '/\?>\s*$/',
- $output
- );
- $output = '';
- foreach ($curr_split as $idx => $curr_output) {
- $output .= $curr_output;
- }
- }
- return $output;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_filterhandler.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_filterhandler.php
deleted file mode 100755
index 9f868e1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_filterhandler.php
+++ /dev/null
@@ -1,69 +0,0 @@
-smarty->autoload_filters[ $type ])) {
- foreach ((array)$template->smarty->autoload_filters[ $type ] as $name) {
- $plugin_name = "Smarty_{$type}filter_{$name}";
- if (function_exists($plugin_name)) {
- $callback = $plugin_name;
- } elseif (class_exists($plugin_name, false) && is_callable(array($plugin_name, 'execute'))) {
- $callback = array($plugin_name, 'execute');
- } elseif ($template->smarty->loadPlugin($plugin_name, false)) {
- if (function_exists($plugin_name)) {
- // use loaded Smarty2 style plugin
- $callback = $plugin_name;
- } elseif (class_exists($plugin_name, false) && is_callable(array($plugin_name, 'execute'))) {
- // loaded class of filter plugin
- $callback = array($plugin_name, 'execute');
- } else {
- throw new SmartyException("Auto load {$type}-filter plugin method '{$plugin_name}::execute' not callable");
- }
- } else {
- // nothing found, throw exception
- throw new SmartyException("Unable to auto load {$type}-filter plugin '{$plugin_name}'");
- }
- $content = call_user_func($callback, $content, $template);
- }
- }
- // loop over registered filters of specified type
- if (!empty($template->smarty->registered_filters[ $type ])) {
- foreach ($template->smarty->registered_filters[ $type ] as $key => $name) {
- $content = call_user_func($template->smarty->registered_filters[ $type ][ $key ], $content, $template);
- }
- }
- // return filtered output
- return $content;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_foreach.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_foreach.php
deleted file mode 100755
index badead1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_foreach.php
+++ /dev/null
@@ -1,162 +0,0 @@
-count($from);
- }
- } else {
- settype($from, 'array');
- }
- }
- if (!isset($total)) {
- $total = empty($from) ? 0 : ($needTotal ? count($from) : 1);
- }
- if (isset($tpl->tpl_vars[ $item ])) {
- $saveVars[ 'item' ] = array(
- $item,
- $tpl->tpl_vars[ $item ]
- );
- }
- $tpl->tpl_vars[ $item ] = new Smarty_Variable(null, $tpl->isRenderingCache);
- if ($total === 0) {
- $from = null;
- } else {
- if ($key) {
- if (isset($tpl->tpl_vars[ $key ])) {
- $saveVars[ 'key' ] = array(
- $key,
- $tpl->tpl_vars[ $key ]
- );
- }
- $tpl->tpl_vars[ $key ] = new Smarty_Variable(null, $tpl->isRenderingCache);
- }
- }
- if ($needTotal) {
- $tpl->tpl_vars[ $item ]->total = $total;
- }
- if ($name) {
- $namedVar = "__smarty_foreach_{$name}";
- if (isset($tpl->tpl_vars[ $namedVar ])) {
- $saveVars[ 'named' ] = array(
- $namedVar,
- $tpl->tpl_vars[ $namedVar ]
- );
- }
- $namedProp = array();
- if (isset($properties[ 'total' ])) {
- $namedProp[ 'total' ] = $total;
- }
- if (isset($properties[ 'iteration' ])) {
- $namedProp[ 'iteration' ] = 0;
- }
- if (isset($properties[ 'index' ])) {
- $namedProp[ 'index' ] = -1;
- }
- if (isset($properties[ 'show' ])) {
- $namedProp[ 'show' ] = ($total > 0);
- }
- $tpl->tpl_vars[ $namedVar ] = new Smarty_Variable($namedProp);
- }
- $this->stack[] = $saveVars;
- return $from;
- }
-
- /**
- * [util function] counts an array, arrayAccess/traversable or PDOStatement object
- *
- * @param mixed $value
- *
- * @return int the count for arrays and objects that implement countable, 1 for other objects that don't, and 0
- * for empty elements
- */
- public function count($value)
- {
- if ($value instanceof IteratorAggregate) {
- // Note: getIterator() returns a Traversable, not an Iterator
- // thus rewind() and valid() methods may not be present
- return iterator_count($value->getIterator());
- } elseif ($value instanceof Iterator) {
- return $value instanceof Generator ? 1 : iterator_count($value);
- } elseif ($value instanceof Countable) {
- return count($value);
- } elseif ($value instanceof PDOStatement) {
- return $value->rowCount();
- } elseif ($value instanceof Traversable) {
- return iterator_count($value);
- }
- return count((array)$value);
- }
-
- /**
- * Restore saved variables
- *
- * will be called by {break n} or {continue n} for the required number of levels
- *
- * @param \Smarty_Internal_Template $tpl
- * @param int $levels number of levels
- */
- public function restore(Smarty_Internal_Template $tpl, $levels = 1)
- {
- while ($levels) {
- $saveVars = array_pop($this->stack);
- if (!empty($saveVars)) {
- if (isset($saveVars[ 'item' ])) {
- $item = &$saveVars[ 'item' ];
- $tpl->tpl_vars[ $item[ 0 ] ]->value = $item[ 1 ]->value;
- }
- if (isset($saveVars[ 'key' ])) {
- $tpl->tpl_vars[ $saveVars[ 'key' ][ 0 ] ] = $saveVars[ 'key' ][ 1 ];
- }
- if (isset($saveVars[ 'named' ])) {
- $tpl->tpl_vars[ $saveVars[ 'named' ][ 0 ] ] = $saveVars[ 'named' ][ 1 ];
- }
- }
- $levels--;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_getincludepath.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_getincludepath.php
deleted file mode 100755
index 5ae9830..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_getincludepath.php
+++ /dev/null
@@ -1,181 +0,0 @@
-_include_path !== $_i_path) {
- $this->_include_dirs = array();
- $this->_include_path = $_i_path;
- $_dirs = (array)explode(PATH_SEPARATOR, $_i_path);
- foreach ($_dirs as $_path) {
- if (is_dir($_path)) {
- $this->_include_dirs[] = $smarty->_realpath($_path . DIRECTORY_SEPARATOR, true);
- }
- }
- return true;
- }
- return false;
- }
-
- /**
- * return array with include path directories
- *
- * @param \Smarty $smarty
- *
- * @return array
- */
- public function getIncludePathDirs(Smarty $smarty)
- {
- $this->isNewIncludePath($smarty);
- return $this->_include_dirs;
- }
-
- /**
- * Return full file path from PHP include_path
- *
- * @param string[] $dirs
- * @param string $file
- * @param \Smarty $smarty
- *
- * @return bool|string full filepath or false
- */
- public function getIncludePath($dirs, $file, Smarty $smarty)
- {
- //if (!(isset($this->_has_stream_include) ? $this->_has_stream_include : $this->_has_stream_include = false)) {
- if (!(isset($this->_has_stream_include) ? $this->_has_stream_include :
- $this->_has_stream_include = function_exists('stream_resolve_include_path'))
- ) {
- $this->isNewIncludePath($smarty);
- }
- // try PHP include_path
- foreach ($dirs as $dir) {
- $dir_n = isset($this->number[ $dir ]) ? $this->number[ $dir ] : $this->number[ $dir ] = $this->counter++;
- if (isset($this->isFile[ $dir_n ][ $file ])) {
- if ($this->isFile[ $dir_n ][ $file ]) {
- return $this->isFile[ $dir_n ][ $file ];
- } else {
- continue;
- }
- }
- if (isset($this->_user_dirs[ $dir_n ])) {
- if (false === $this->_user_dirs[ $dir_n ]) {
- continue;
- } else {
- $dir = $this->_user_dirs[ $dir_n ];
- }
- } else {
- if ($dir[ 0 ] === '/' || $dir[ 1 ] === ':') {
- $dir = str_ireplace(getcwd(), '.', $dir);
- if ($dir[ 0 ] === '/' || $dir[ 1 ] === ':') {
- $this->_user_dirs[ $dir_n ] = false;
- continue;
- }
- }
- $dir = substr($dir, 2);
- $this->_user_dirs[ $dir_n ] = $dir;
- }
- if ($this->_has_stream_include) {
- $path = stream_resolve_include_path($dir . (isset($file) ? $file : ''));
- if ($path) {
- return $this->isFile[ $dir_n ][ $file ] = $path;
- }
- } else {
- foreach ($this->_include_dirs as $key => $_i_path) {
- $path = isset($this->isPath[ $key ][ $dir_n ]) ? $this->isPath[ $key ][ $dir_n ] :
- $this->isPath[ $key ][ $dir_n ] = is_dir($_dir_path = $_i_path . $dir) ? $_dir_path : false;
- if ($path === false) {
- continue;
- }
- if (isset($file)) {
- $_file = $this->isFile[ $dir_n ][ $file ] = (is_file($path . $file)) ? $path . $file : false;
- if ($_file) {
- return $_file;
- }
- } else {
- // no file was given return directory path
- return $path;
- }
- }
- }
- }
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_inheritance.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_inheritance.php
deleted file mode 100755
index 6392d4c..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_inheritance.php
+++ /dev/null
@@ -1,251 +0,0 @@
-state === 3 && (strpos($tpl->template_resource, 'extendsall') === false)) {
- $tpl->inheritance = new Smarty_Internal_Runtime_Inheritance();
- $tpl->inheritance->init($tpl, $initChild, $blockNames);
- return;
- }
- ++$this->tplIndex;
- $this->sources[ $this->tplIndex ] = $tpl->source;
- // start of child sub template(s)
- if ($initChild) {
- $this->state = 1;
- if (!$this->inheritanceLevel) {
- //grab any output of child templates
- ob_start();
- }
- ++$this->inheritanceLevel;
- // $tpl->startRenderCallbacks[ 'inheritance' ] = array($this, 'subTemplateStart');
- // $tpl->endRenderCallbacks[ 'inheritance' ] = array($this, 'subTemplateEnd');
- }
- // if state was waiting for parent change state to parent
- if ($this->state === 2) {
- $this->state = 3;
- }
- }
-
- /**
- * End of child template(s)
- * - if outer level is reached flush output buffer and switch to wait for parent template state
- *
- * @param \Smarty_Internal_Template $tpl
- * @param null|string $template optional name of inheritance parent template
- * @param null|string $uid uid of inline template
- * @param null|string $func function call name of inline template
- *
- * @throws \Exception
- * @throws \SmartyException
- */
- public function endChild(Smarty_Internal_Template $tpl, $template = null, $uid = null, $func = null)
- {
- --$this->inheritanceLevel;
- if (!$this->inheritanceLevel) {
- ob_end_clean();
- $this->state = 2;
- }
- if (isset($template) && (($tpl->parent->_isTplObj() && $tpl->parent->source->type !== 'extends')
- || $tpl->smarty->extends_recursion)
- ) {
- $tpl->_subTemplateRender(
- $template,
- $tpl->cache_id,
- $tpl->compile_id,
- $tpl->caching ? 9999 : 0,
- $tpl->cache_lifetime,
- array(),
- 2,
- false,
- $uid,
- $func
- );
- }
- }
-
- /**
- * Smarty_Internal_Block constructor.
- * - if outer level {block} of child template ($state === 1) save it as child root block
- * - otherwise process inheritance and render
- *
- * @param \Smarty_Internal_Template $tpl
- * @param $className
- * @param string $name
- * @param int|null $tplIndex index of outer level {block} if nested
- *
- * @throws \SmartyException
- */
- public function instanceBlock(Smarty_Internal_Template $tpl, $className, $name, $tplIndex = null)
- {
- $block = new $className($name, isset($tplIndex) ? $tplIndex : $this->tplIndex);
- if (isset($this->childRoot[ $name ])) {
- $block->child = $this->childRoot[ $name ];
- }
- if ($this->state === 1) {
- $this->childRoot[ $name ] = $block;
- return;
- }
- // make sure we got child block of child template of current block
- while ($block->child && $block->tplIndex <= $block->child->tplIndex) {
- $block->child = $block->child->child;
- }
- $this->process($tpl, $block);
- }
-
- /**
- * Goto child block or render this
- *
- * @param \Smarty_Internal_Template $tpl
- * @param \Smarty_Internal_Block $block
- * @param \Smarty_Internal_Block|null $parent
- *
- * @throws \SmartyException
- */
- public function process(
- Smarty_Internal_Template $tpl,
- Smarty_Internal_Block $block,
- Smarty_Internal_Block $parent = null
- ) {
- if ($block->hide && !isset($block->child)) {
- return;
- }
- if (isset($block->child) && $block->child->hide && !isset($block->child->child)) {
- $block->child = null;
- }
- $block->parent = $parent;
- if ($block->append && !$block->prepend && isset($parent)) {
- $this->callParent($tpl, $block, '\'{block append}\'');
- }
- if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
- $this->callBlock($block, $tpl);
- } else {
- $this->process($tpl, $block->child, $block);
- }
- if ($block->prepend && isset($parent)) {
- $this->callParent($tpl, $block, '{block prepend}');
- if ($block->append) {
- if ($block->callsChild || !isset($block->child)
- || ($block->child->hide && !isset($block->child->child))
- ) {
- $this->callBlock($block, $tpl);
- } else {
- $this->process($tpl, $block->child, $block);
- }
- }
- }
- $block->parent = null;
- }
-
- /**
- * Render child on \$smarty.block.child
- *
- * @param \Smarty_Internal_Template $tpl
- * @param \Smarty_Internal_Block $block
- *
- * @return null|string block content
- * @throws \SmartyException
- */
- public function callChild(Smarty_Internal_Template $tpl, Smarty_Internal_Block $block)
- {
- if (isset($block->child)) {
- $this->process($tpl, $block->child, $block);
- }
- }
-
- /**
- * Render parent block on \$smarty.block.parent or {block append/prepend}
- *
- * @param \Smarty_Internal_Template $tpl
- * @param \Smarty_Internal_Block $block
- * @param string $tag
- *
- * @return null|string block content
- * @throws \SmartyException
- */
- public function callParent(Smarty_Internal_Template $tpl, Smarty_Internal_Block $block, $tag)
- {
- if (isset($block->parent)) {
- $this->callBlock($block->parent, $tpl);
- } else {
- throw new SmartyException("inheritance: illegal '{$tag}' used in child template '{$tpl->inheritance->sources[$block->tplIndex]->filepath}' block '{$block->name}'");
- }
- }
-
- /**
- * render block
- *
- * @param \Smarty_Internal_Block $block
- * @param \Smarty_Internal_Template $tpl
- */
- public function callBlock(Smarty_Internal_Block $block, Smarty_Internal_Template $tpl)
- {
- $this->sourceStack[] = $tpl->source;
- $tpl->source = $this->sources[ $block->tplIndex ];
- $block->callBlock($tpl);
- $tpl->source = array_pop($this->sourceStack);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_make_nocache.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_make_nocache.php
deleted file mode 100755
index 5306914..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_make_nocache.php
+++ /dev/null
@@ -1,54 +0,0 @@
-tpl_vars[ $var ])) {
- $export =
- preg_replace('/^Smarty_Variable::__set_state[(]|[)]$/', '', var_export($tpl->tpl_vars[ $var ], true));
- if (preg_match('/(\w+)::__set_state/', $export, $match)) {
- throw new SmartyException("{make_nocache \${$var}} in template '{$tpl->source->name}': variable does contain object '{$match[1]}' not implementing method '__set_state'");
- }
- echo "/*%%SmartyNocache:{$tpl->compiled->nocache_hash}%%*/smarty->ext->_make_nocache->store(\$_smarty_tpl, '{$var}', ", '\\') .
- $export . ");?>\n/*/%%SmartyNocache:{$tpl->compiled->nocache_hash}%%*/";
- }
- }
-
- /**
- * Store variable value saved while rendering compiled template in cached template context
- *
- * @param \Smarty_Internal_Template $tpl
- * @param string $var variable name
- * @param array $properties
- */
- public function store(Smarty_Internal_Template $tpl, $var, $properties)
- {
- // do not overwrite existing nocache variables
- if (!isset($tpl->tpl_vars[ $var ]) || !$tpl->tpl_vars[ $var ]->nocache) {
- $newVar = new Smarty_Variable();
- unset($properties[ 'nocache' ]);
- foreach ($properties as $k => $v) {
- $newVar->$k = $v;
- }
- $tpl->tpl_vars[ $var ] = $newVar;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_tplfunction.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_tplfunction.php
deleted file mode 100755
index e5f8e48..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_tplfunction.php
+++ /dev/null
@@ -1,177 +0,0 @@
-tplFunctions[ $name ]) ? $tpl->tplFunctions[ $name ] :
- (isset($tpl->smarty->tplFunctions[ $name ]) ? $tpl->smarty->tplFunctions[ $name ] : null);
- if (isset($funcParam)) {
- if (!$tpl->caching || ($tpl->caching && $nocache)) {
- $function = $funcParam[ 'call_name' ];
- } else {
- if (isset($funcParam[ 'call_name_caching' ])) {
- $function = $funcParam[ 'call_name_caching' ];
- } else {
- $function = $funcParam[ 'call_name' ];
- }
- }
- if (function_exists($function)) {
- $this->saveTemplateVariables($tpl, $name);
- $function($tpl, $params);
- $this->restoreTemplateVariables($tpl, $name);
- return;
- }
- // try to load template function dynamically
- if ($this->addTplFuncToCache($tpl, $name, $function)) {
- $this->saveTemplateVariables($tpl, $name);
- $function($tpl, $params);
- $this->restoreTemplateVariables($tpl, $name);
- return;
- }
- }
- throw new SmartyException("Unable to find template function '{$name}'");
- }
-
- /**
- * Register template functions defined by template
- *
- * @param \Smarty|\Smarty_Internal_Template|\Smarty_Internal_TemplateBase $obj
- * @param array $tplFunctions source information array of
- * template functions defined
- * in template
- * @param bool $override if true replace existing
- * functions with same name
- */
- public function registerTplFunctions(Smarty_Internal_TemplateBase $obj, $tplFunctions, $override = true)
- {
- $obj->tplFunctions =
- $override ? array_merge($obj->tplFunctions, $tplFunctions) : array_merge($tplFunctions, $obj->tplFunctions);
- // make sure that the template functions are known in parent templates
- if ($obj->_isSubTpl()) {
- $obj->smarty->ext->_tplFunction->registerTplFunctions($obj->parent, $tplFunctions, false);
- } else {
- $obj->smarty->tplFunctions = $override ? array_merge($obj->smarty->tplFunctions, $tplFunctions) :
- array_merge($tplFunctions, $obj->smarty->tplFunctions);
- }
- }
-
- /**
- * Return source parameter array for single or all template functions
- *
- * @param \Smarty_Internal_Template $tpl template object
- * @param null|string $name template function name
- *
- * @return array|bool|mixed
- */
- public function getTplFunction(Smarty_Internal_Template $tpl, $name = null)
- {
- if (isset($name)) {
- return isset($tpl->tplFunctions[ $name ]) ? $tpl->tplFunctions[ $name ] :
- (isset($tpl->smarty->tplFunctions[ $name ]) ? $tpl->smarty->tplFunctions[ $name ] : false);
- } else {
- return empty($tpl->tplFunctions) ? $tpl->smarty->tplFunctions : $tpl->tplFunctions;
- }
- }
-
- /**
- * Add template function to cache file for nocache calls
- *
- * @param Smarty_Internal_Template $tpl
- * @param string $_name template function name
- * @param string $_function PHP function name
- *
- * @return bool
- */
- public function addTplFuncToCache(Smarty_Internal_Template $tpl, $_name, $_function)
- {
- $funcParam = $tpl->tplFunctions[ $_name ];
- if (is_file($funcParam[ 'compiled_filepath' ])) {
- // read compiled file
- $code = file_get_contents($funcParam[ 'compiled_filepath' ]);
- // grab template function
- if (preg_match("/\/\* {$_function} \*\/([\S\s]*?)\/\*\/ {$_function} \*\//", $code, $match)) {
- // grab source info from file dependency
- preg_match("/\s*'{$funcParam['uid']}'([\S\s]*?)\),/", $code, $match1);
- unset($code);
- // make PHP function known
- eval($match[ 0 ]);
- if (function_exists($_function)) {
- // search cache file template
- $tplPtr = $tpl;
- while (!isset($tplPtr->cached) && isset($tplPtr->parent)) {
- $tplPtr = $tplPtr->parent;
- }
- // add template function code to cache file
- if (isset($tplPtr->cached)) {
- $content = $tplPtr->cached->read($tplPtr);
- if ($content) {
- // check if we must update file dependency
- if (!preg_match("/'{$funcParam['uid']}'(.*?)'nocache_hash'/", $content, $match2)) {
- $content = preg_replace("/('file_dependency'(.*?)\()/", "\\1{$match1[0]}", $content);
- }
- $tplPtr->smarty->ext->_updateCache->write(
- $tplPtr,
- preg_replace('/\s*\?>\s*$/', "\n", $content) .
- "\n" . preg_replace(
- array(
- '/^\s*<\?php\s+/',
- '/\s*\?>\s*$/',
- ),
- "\n",
- $match[ 0 ]
- )
- );
- }
- }
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Save current template variables on stack
- *
- * @param \Smarty_Internal_Template $tpl
- * @param string $name stack name
- */
- public function saveTemplateVariables(Smarty_Internal_Template $tpl, $name)
- {
- $tpl->_cache[ 'varStack' ][] =
- array('tpl' => $tpl->tpl_vars, 'config' => $tpl->config_vars, 'name' => "_tplFunction_{$name}");
- }
-
- /**
- * Restore saved variables into template objects
- *
- * @param \Smarty_Internal_Template $tpl
- * @param string $name stack name
- */
- public function restoreTemplateVariables(Smarty_Internal_Template $tpl, $name)
- {
- if (isset($tpl->_cache[ 'varStack' ])) {
- $vars = array_pop($tpl->_cache[ 'varStack' ]);
- $tpl->tpl_vars = $vars[ 'tpl' ];
- $tpl->config_vars = $vars[ 'config' ];
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_updatecache.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_updatecache.php
deleted file mode 100755
index c1abbb3..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_updatecache.php
+++ /dev/null
@@ -1,183 +0,0 @@
-compiled)) {
- $_template->loadCompiled();
- }
- $_template->compiled->render($_template);
- if ($_template->smarty->debugging) {
- $_template->smarty->_debug->start_cache($_template);
- }
- $this->removeNoCacheHash($cached, $_template, $no_output_filter);
- $compile_check = (int)$_template->compile_check;
- $_template->compile_check = Smarty::COMPILECHECK_OFF;
- if ($_template->_isSubTpl()) {
- $_template->compiled->unifunc = $_template->parent->compiled->unifunc;
- }
- if (!$_template->cached->processed) {
- $_template->cached->process($_template, true);
- }
- $_template->compile_check = $compile_check;
- $cached->getRenderedTemplateCode($_template);
- if ($_template->smarty->debugging) {
- $_template->smarty->_debug->end_cache($_template);
- }
- }
-
- /**
- * Sanitize content and write it to cache resource
- *
- * @param \Smarty_Template_Cached $cached
- * @param Smarty_Internal_Template $_template
- * @param bool $no_output_filter
- *
- * @throws \SmartyException
- */
- public function removeNoCacheHash(
- Smarty_Template_Cached $cached,
- Smarty_Internal_Template $_template,
- $no_output_filter
- ) {
- $php_pattern = '/(<%|%>|<\?php|<\?|\?>|]*>)|(]*>)|(]*>.*? ]*>)#is',
- $text,
- $matches,
- PREG_OFFSET_CAPTURE | PREG_SET_ORDER
- )
- ) {
- foreach ($matches as $match) {
- $store[] = $match[ 0 ][ 0 ];
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = '@!@SMARTY:' . $_store . ':SMARTY@!@';
- $text = substr_replace($text, $replace, $match[ 0 ][ 1 ] - $_offset, $_length);
- $_offset += $_length - strlen($replace);
- $_store++;
- }
- }
- $expressions = array(// replace multiple spaces between tags by a single space
- '#(:SMARTY@!@|>)[\040\011]+(?=@!@SMARTY:|<)#s' => '\1 \2',
- // remove newline between tags
- '#(:SMARTY@!@|>)[\040\011]*[\n]\s*(?=@!@SMARTY:|<)#s' => '\1\2',
- // remove multiple spaces between attributes (but not in attribute values!)
- '#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5',
- '#>[\040\011]+$#Ss' => '> ',
- '#>[\040\011]*[\n]\s*$#Ss' => '>',
- $this->stripRegEx => '',
- );
- $text = preg_replace(array_keys($expressions), array_values($expressions), $text);
- $_offset = 0;
- if (preg_match_all(
- '#@!@SMARTY:([0-9]+):SMARTY@!@#is',
- $text,
- $matches,
- PREG_OFFSET_CAPTURE | PREG_SET_ORDER
- )
- ) {
- foreach ($matches as $match) {
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = $store[ $match[ 1 ][ 0 ] ];
- $text = substr_replace($text, $replace, $match[ 0 ][ 1 ] + $_offset, $_length);
- $_offset += strlen($replace) - $_length;
- $_store++;
- }
- }
- } else {
- $text = preg_replace($this->stripRegEx, '', $text);
- }
- }
- return new Smarty_Internal_ParseTree_Text($text);
- }
- return null;
- }
-
- /**
- * lazy loads internal compile plugin for tag and calls the compile method
- * compile objects cached for reuse.
- * class name format: Smarty_Internal_Compile_TagName
- * plugin filename format: Smarty_Internal_TagName.php
- *
- * @param string $tag tag name
- * @param array $args list of tag attributes
- * @param mixed $param1 optional parameter
- * @param mixed $param2 optional parameter
- * @param mixed $param3 optional parameter
- *
- * @return bool|string compiled code or false
- * @throws \SmartyCompilerException
- */
- public function callTagCompiler($tag, $args, $param1 = null, $param2 = null, $param3 = null)
- {
- /* @var Smarty_Internal_CompileBase $tagCompiler */
- $tagCompiler = $this->getTagCompiler($tag);
- // compile this tag
- return $tagCompiler === false ? false : $tagCompiler->compile($args, $this, $param1, $param2, $param3);
- }
-
- /**
- * lazy loads internal compile plugin for tag compile objects cached for reuse.
- *
- * class name format: Smarty_Internal_Compile_TagName
- * plugin filename format: Smarty_Internal_TagName.php
- *
- * @param string $tag tag name
- *
- * @return bool|\Smarty_Internal_CompileBase tag compiler object or false if not found
- */
- public function getTagCompiler($tag)
- {
- // re-use object if already exists
- if (!isset(self::$_tag_objects[ $tag ])) {
- // lazy load internal compiler plugin
- $_tag = explode('_', $tag);
- $_tag = array_map('ucfirst', $_tag);
- $class_name = 'Smarty_Internal_Compile_' . implode('_', $_tag);
- if (class_exists($class_name)
- && (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this))
- ) {
- self::$_tag_objects[ $tag ] = new $class_name;
- } else {
- self::$_tag_objects[ $tag ] = false;
- }
- }
- return self::$_tag_objects[ $tag ];
- }
-
- /**
- * Check for plugins and return function name
- *
- * @param $plugin_name
- * @param string $plugin_type type of plugin
- *
- * @return string call name of function
- * @throws \SmartyException
- */
- public function getPlugin($plugin_name, $plugin_type)
- {
- $function = null;
- if ($this->caching && ($this->nocache || $this->tag_nocache)) {
- if (isset($this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ])) {
- $function =
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ][ 'function' ];
- } elseif (isset($this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ])) {
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ] =
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ];
- $function =
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ][ 'function' ];
- }
- } else {
- if (isset($this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ])) {
- $function =
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ][ 'function' ];
- } elseif (isset($this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ])) {
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ] =
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ];
- $function =
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ][ 'function' ];
- }
- }
- if (isset($function)) {
- if ($plugin_type === 'modifier') {
- $this->modifier_plugins[ $plugin_name ] = true;
- }
- return $function;
- }
- // loop through plugin dirs and find the plugin
- $function = 'smarty_' . $plugin_type . '_' . $plugin_name;
- $file = $this->smarty->loadPlugin($function, false);
- if (is_string($file)) {
- if ($this->caching && ($this->nocache || $this->tag_nocache)) {
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ][ 'file' ] =
- $file;
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ $plugin_type ][ 'function' ] =
- $function;
- } else {
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ][ 'file' ] =
- $file;
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ $plugin_type ][ 'function' ] =
- $function;
- }
- if ($plugin_type === 'modifier') {
- $this->modifier_plugins[ $plugin_name ] = true;
- }
- return $function;
- }
- if (is_callable($function)) {
- // plugin function is defined in the script
- return $function;
- }
- return false;
- }
-
- /**
- * Check for plugins by default plugin handler
- *
- * @param string $tag name of tag
- * @param string $plugin_type type of plugin
- *
- * @return bool true if found
- * @throws \SmartyCompilerException
- */
- public function getPluginFromDefaultHandler($tag, $plugin_type)
- {
- $callback = null;
- $script = null;
- $cacheable = true;
- $result = call_user_func_array(
- $this->smarty->default_plugin_handler_func,
- array(
- $tag,
- $plugin_type,
- $this->template,
- &$callback,
- &$script,
- &$cacheable,
- )
- );
- if ($result) {
- $this->tag_nocache = $this->tag_nocache || !$cacheable;
- if ($script !== null) {
- if (is_file($script)) {
- if ($this->caching && ($this->nocache || $this->tag_nocache)) {
- $this->required_plugins[ 'nocache' ][ $tag ][ $plugin_type ][ 'file' ] =
- $script;
- $this->required_plugins[ 'nocache' ][ $tag ][ $plugin_type ][ 'function' ] =
- $callback;
- } else {
- $this->required_plugins[ 'compiled' ][ $tag ][ $plugin_type ][ 'file' ] =
- $script;
- $this->required_plugins[ 'compiled' ][ $tag ][ $plugin_type ][ 'function' ] =
- $callback;
- }
- include_once $script;
- } else {
- $this->trigger_template_error("Default plugin handler: Returned script file '{$script}' for '{$tag}' not found");
- }
- }
- if (is_callable($callback)) {
- $this->default_handler_plugins[ $plugin_type ][ $tag ] = array(
- $callback,
- true,
- array()
- );
- return true;
- } else {
- $this->trigger_template_error("Default plugin handler: Returned callback for '{$tag}' not callable");
- }
- }
- return false;
- }
-
- /**
- * Append code segments and remove unneeded ?> \s?$/D', $left) && preg_match('/^<\?php\s+/', $right)) {
- $left = preg_replace('/\s*\?>\s?$/D', "\n", $left);
- $left .= preg_replace('/^<\?php\s+/', '', $right);
- } else {
- $left .= $right;
- }
- return $left;
- }
-
- /**
- * Inject inline code for nocache template sections
- * This method gets the content of each template element from the parser.
- * If the content is compiled code and it should be not cached the code is injected
- * into the rendered output.
- *
- * @param string $content content of template element
- * @param boolean $is_code true if content is compiled code
- *
- * @return string content
- */
- public function processNocacheCode($content, $is_code)
- {
- // If the template is not evaluated and we have a nocache section and or a nocache tag
- if ($is_code && !empty($content)) {
- // generate replacement code
- if ((!($this->template->source->handler->recompiled) || $this->forceNocache) && $this->caching
- && !$this->suppressNocacheProcessing && ($this->nocache || $this->tag_nocache)
- ) {
- $this->template->compiled->has_nocache_code = true;
- $_output = addcslashes($content, '\'\\');
- $_output = str_replace('^#^', '\'', $_output);
- $_output =
- "nocache_hash}%%*/{$_output}/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>\n";
- // make sure we include modifier plugins for nocache code
- foreach ($this->modifier_plugins as $plugin_name => $dummy) {
- if (isset($this->required_plugins[ 'compiled' ][ $plugin_name ][ 'modifier' ])) {
- $this->required_plugins[ 'nocache' ][ $plugin_name ][ 'modifier' ] =
- $this->required_plugins[ 'compiled' ][ $plugin_name ][ 'modifier' ];
- }
- }
- } else {
- $_output = $content;
- }
- } else {
- $_output = $content;
- }
- $this->modifier_plugins = array();
- $this->suppressNocacheProcessing = false;
- $this->tag_nocache = false;
- return $_output;
- }
-
- /**
- * Get Id
- *
- * @param string $input
- *
- * @return bool|string
- */
- public function getId($input)
- {
- if (preg_match('~^([\'"]*)([0-9]*[a-zA-Z_]\w*)\1$~', $input, $match)) {
- return $match[ 2 ];
- }
- return false;
- }
-
- /**
- * Get variable name from string
- *
- * @param string $input
- *
- * @return bool|string
- */
- public function getVariableName($input)
- {
- if (preg_match('~^[$]_smarty_tpl->tpl_vars\[[\'"]*([0-9]*[a-zA-Z_]\w*)[\'"]*\]->value$~', $input, $match)) {
- return $match[ 1 ];
- }
- return false;
- }
-
- /**
- * Set nocache flag in variable or create new variable
- *
- * @param string $varName
- */
- public function setNocacheInVariable($varName)
- {
- // create nocache var to make it know for further compiling
- if ($_var = $this->getId($varName)) {
- if (isset($this->template->tpl_vars[ $_var ])) {
- $this->template->tpl_vars[ $_var ] = clone $this->template->tpl_vars[ $_var ];
- $this->template->tpl_vars[ $_var ]->nocache = true;
- } else {
- $this->template->tpl_vars[ $_var ] = new Smarty_Variable(null, true);
- }
- }
- }
-
- /**
- * @param array $_attr tag attributes
- * @param array $validScopes
- *
- * @return int|string
- * @throws \SmartyCompilerException
- */
- public function convertScope($_attr, $validScopes)
- {
- $_scope = 0;
- if (isset($_attr[ 'scope' ])) {
- $_scopeName = trim($_attr[ 'scope' ], '\'"');
- if (is_numeric($_scopeName) && in_array($_scopeName, $validScopes)) {
- $_scope = $_scopeName;
- } elseif (is_string($_scopeName)) {
- $_scopeName = trim($_scopeName, '\'"');
- $_scope = isset($validScopes[ $_scopeName ]) ? $validScopes[ $_scopeName ] : false;
- } else {
- $_scope = false;
- }
- if ($_scope === false) {
- $err = var_export($_scopeName, true);
- $this->trigger_template_error("illegal value '{$err}' for \"scope\" attribute", null, true);
- }
- }
- return $_scope;
- }
-
- /**
- * Generate nocache code string
- *
- * @param string $code PHP code
- *
- * @return string
- */
- public function makeNocacheCode($code)
- {
- return "echo '/*%%SmartyNocache:{$this->nocache_hash}%%*//*/%%SmartyNocache:{$this->nocache_hash}%%*/';\n";
- }
-
- /**
- * display compiler error messages without dying
- * If parameter $args is empty it is a parser detected syntax error.
- * In this case the parser is called to obtain information about expected tokens.
- * If parameter $args contains a string this is used as error message
- *
- * @param string $args individual error message or null
- * @param string $line line-number
- * @param null|bool $tagline if true the line number of last tag
- *
- * @throws \SmartyCompilerException when an unexpected token is found
- */
- public function trigger_template_error($args = null, $line = null, $tagline = null)
- {
- $lex = $this->parser->lex;
- if ($tagline === true) {
- // get line number of Tag
- $line = $lex->taglineno;
- } elseif (!isset($line)) {
- // get template source line which has error
- $line = $lex->line;
- } else {
- $line = (int)$line;
- }
- if (in_array(
- $this->template->source->type,
- array(
- 'eval',
- 'string'
- )
- )
- ) {
- $templateName = $this->template->source->type . ':' . trim(
- preg_replace(
- '![\t\r\n]+!',
- ' ',
- strlen($lex->data) > 40 ?
- substr($lex->data, 0, 40) .
- '...' : $lex->data
- )
- );
- } else {
- $templateName = $this->template->source->type . ':' . $this->template->source->filepath;
- }
- // $line += $this->trace_line_offset;
- $match = preg_split("/\n/", $lex->data);
- $error_text =
- 'Syntax error in template "' . (empty($this->trace_filepath) ? $templateName : $this->trace_filepath) .
- '" on line ' . ($line + $this->trace_line_offset) . ' "' .
- trim(preg_replace('![\t\r\n]+!', ' ', $match[ $line - 1 ])) . '" ';
- if (isset($args)) {
- // individual error message
- $error_text .= $args;
- } else {
- $expect = array();
- // expected token from parser
- $error_text .= ' - Unexpected "' . $lex->value . '"';
- if (count($this->parser->yy_get_expected_tokens($this->parser->yymajor)) <= 4) {
- foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
- $exp_token = $this->parser->yyTokenName[ $token ];
- if (isset($lex->smarty_token_names[ $exp_token ])) {
- // token type from lexer
- $expect[] = '"' . $lex->smarty_token_names[ $exp_token ] . '"';
- } else {
- // otherwise internal token name
- $expect[] = $this->parser->yyTokenName[ $token ];
- }
- }
- $error_text .= ', expected one of: ' . implode(' , ', $expect);
- }
- }
- if ($this->smarty->_parserdebug) {
- $this->parser->errorRunDown();
- echo ob_get_clean();
- flush();
- }
- $e = new SmartyCompilerException($error_text);
- $e->line = $line;
- $e->source = trim(preg_replace('![\t\r\n]+!', ' ', $match[ $line - 1 ]));
- $e->desc = $args;
- $e->template = $this->template->source->filepath;
- throw $e;
- }
-
- /**
- * Return var_export() value with all white spaces removed
- *
- * @param mixed $value
- *
- * @return string
- */
- public function getVarExport($value)
- {
- return preg_replace('/\s/', '', var_export($value, true));
- }
-
- /**
- * enter double quoted string
- * - save tag stack count
- */
- public function enterDoubleQuote()
- {
- array_push($this->_tag_stack_count, $this->getTagStackCount());
- }
-
- /**
- * Return tag stack count
- *
- * @return int
- */
- public function getTagStackCount()
- {
- return count($this->_tag_stack);
- }
-
- /**
- * @param $lexerPreg
- *
- * @return mixed
- */
- public function replaceDelimiter($lexerPreg)
- {
- return str_replace(
- array('SMARTYldel', 'SMARTYliteral', 'SMARTYrdel', 'SMARTYautoliteral', 'SMARTYal'),
- array(
- $this->ldelPreg, $this->literalPreg, $this->rdelPreg,
- $this->smarty->getAutoLiteral() ? '{1,}' : '{9}',
- $this->smarty->getAutoLiteral() ? '' : '\\s*'
- ),
- $lexerPreg
- );
- }
-
- /**
- * Build lexer regular expressions for left and right delimiter and user defined literals
- */
- public function initDelimiterPreg()
- {
- $ldel = $this->smarty->getLeftDelimiter();
- $this->ldelLength = strlen($ldel);
- $this->ldelPreg = '';
- foreach (str_split($ldel, 1) as $chr) {
- $this->ldelPreg .= '[' . preg_quote($chr,'/') . ']';
- }
- $rdel = $this->smarty->getRightDelimiter();
- $this->rdelLength = strlen($rdel);
- $this->rdelPreg = '';
- foreach (str_split($rdel, 1) as $chr) {
- $this->rdelPreg .= '[' . preg_quote($chr,'/') . ']';
- }
- $literals = $this->smarty->getLiterals();
- if (!empty($literals)) {
- foreach ($literals as $key => $literal) {
- $literalPreg = '';
- foreach (str_split($literal, 1) as $chr) {
- $literalPreg .= '[' . preg_quote($chr,'/') . ']';
- }
- $literals[ $key ] = $literalPreg;
- }
- $this->literalPreg = '|' . implode('|', $literals);
- } else {
- $this->literalPreg = '';
- }
- }
-
- /**
- * leave double quoted string
- * - throw exception if block in string was not closed
- *
- * @throws \SmartyCompilerException
- */
- public function leaveDoubleQuote()
- {
- if (array_pop($this->_tag_stack_count) !== $this->getTagStackCount()) {
- $tag = $this->getOpenBlockTag();
- $this->trigger_template_error(
- "unclosed '{{$tag}}' in doubled quoted string",
- null,
- true
- );
- }
- }
-
- /**
- * Get left delimiter preg
- *
- * @return string
- */
- public function getLdelPreg()
- {
- return $this->ldelPreg;
- }
-
- /**
- * Get right delimiter preg
- *
- * @return string
- */
- public function getRdelPreg()
- {
- return $this->rdelPreg;
- }
-
- /**
- * Get length of left delimiter
- *
- * @return int
- */
- public function getLdelLength()
- {
- return $this->ldelLength;
- }
-
- /**
- * Get length of right delimiter
- *
- * @return int
- */
- public function getRdelLength()
- {
- return $this->rdelLength;
- }
-
- /**
- * Get name of current open block tag
- *
- * @return string|boolean
- */
- public function getOpenBlockTag()
- {
- $tagCount = $this->getTagStackCount();
- if ($tagCount) {
- return $this->_tag_stack[ $tagCount - 1 ][ 0 ];
- } else {
- return false;
- }
- }
-
- /**
- * Check if $value contains variable elements
- *
- * @param mixed $value
- *
- * @return bool|int
- */
- public function isVariable($value)
- {
- if (is_string($value)) {
- return preg_match('/[$(]/', $value);
- }
- if (is_bool($value) || is_numeric($value)) {
- return false;
- }
- if (is_array($value)) {
- foreach ($value as $k => $v) {
- if ($this->isVariable($k) || $this->isVariable($v)) {
- return true;
- }
- }
- return false;
- }
- return false;
- }
-
- /**
- * Get new prefix variable name
- *
- * @return string
- */
- public function getNewPrefixVariable()
- {
- ++self::$prefixVariableNumber;
- return $this->getPrefixVariable();
- }
-
- /**
- * Get current prefix variable name
- *
- * @return string
- */
- public function getPrefixVariable()
- {
- return '$_prefixVariable' . self::$prefixVariableNumber;
- }
-
- /**
- * append code to prefix buffer
- *
- * @param string $code
- */
- public function appendPrefixCode($code)
- {
- $this->prefix_code[] = $code;
- }
-
- /**
- * get prefix code string
- *
- * @return string
- */
- public function getPrefixCode()
- {
- $code = '';
- $prefixArray = array_merge($this->prefix_code, array_pop($this->prefixCodeStack));
- $this->prefixCodeStack[] = array();
- foreach ($prefixArray as $c) {
- $code = $this->appendCode($code, $c);
- }
- $this->prefix_code = array();
- return $code;
- }
-
- /**
- * Save current required plugins
- *
- * @param bool $init if true init required plugins
- */
- public function saveRequiredPlugins($init = false)
- {
- $this->required_plugins_stack[] = $this->required_plugins;
- if ($init) {
- $this->required_plugins = array('compiled' => array(), 'nocache' => array());
- }
- }
-
- /**
- * Restore required plugins
- */
- public function restoreRequiredPlugins()
- {
- $this->required_plugins = array_pop($this->required_plugins_stack);
- }
-
- /**
- * Compile code to call Smarty_Internal_Template::_checkPlugins()
- * for required plugins
- *
- * @return string
- */
- public function compileRequiredPlugins()
- {
- $code = $this->compileCheckPlugins($this->required_plugins[ 'compiled' ]);
- if ($this->caching && !empty($this->required_plugins[ 'nocache' ])) {
- $code .= $this->makeNocacheCode($this->compileCheckPlugins($this->required_plugins[ 'nocache' ]));
- }
- return $code;
- }
-
- /**
- * Compile code to call Smarty_Internal_Template::_checkPlugins
- * - checks if plugin is callable require otherwise
- *
- * @param $requiredPlugins
- *
- * @return string
- */
- public function compileCheckPlugins($requiredPlugins)
- {
- if (!empty($requiredPlugins)) {
- $plugins = array();
- foreach ($requiredPlugins as $plugin) {
- foreach ($plugin as $data) {
- $plugins[] = $data;
- }
- }
- return '$_smarty_tpl->_checkPlugins(' . $this->getVarExport($plugins) . ');' . "\n";
- } else {
- return '';
- }
- }
-
- /**
- * method to compile a Smarty template
- *
- * @param mixed $_content template source
- * @param bool $isTemplateSource
- *
- * @return bool true if compiling succeeded, false if it failed
- */
- abstract protected function doCompile($_content, $isTemplateSource = false);
-
- /**
- * Compile Tag
- *
- * @param string $tag tag name
- * @param array $args array with tag attributes
- * @param array $parameter array with compilation parameter
- *
- * @throws SmartyCompilerException
- * @throws SmartyException
- * @return string compiled code
- */
- private function compileTag2($tag, $args, $parameter)
- {
- $plugin_type = '';
- // $args contains the attributes parsed and compiled by the lexer/parser
- // assume that tag does compile into code, but creates no HTML output
- $this->has_code = true;
- // log tag/attributes
- if (isset($this->smarty->_cache[ 'get_used_tags' ])) {
- $this->template->_cache[ 'used_tags' ][] = array(
- $tag,
- $args
- );
- }
- // check nocache option flag
- foreach ($args as $arg) {
- if (!is_array($arg)) {
- if ($arg === "'nocache'" || $arg === 'nocache') {
- $this->tag_nocache = true;
- }
- } else {
- foreach ($arg as $k => $v) {
- if (($k === "'nocache'" || $k === 'nocache') && (trim($v, "'\" ") === 'true')) {
- $this->tag_nocache = true;
- }
- }
- }
- }
- // compile the smarty tag (required compile classes to compile the tag are auto loaded)
- if (($_output = $this->callTagCompiler($tag, $args, $parameter)) === false) {
- if (isset($this->parent_compiler->tpl_function[ $tag ])
- || (isset($this->template->smarty->ext->_tplFunction)
- && $this->template->smarty->ext->_tplFunction->getTplFunction($this->template, $tag) !== false)
- ) {
- // template defined by {template} tag
- $args[ '_attr' ][ 'name' ] = "'{$tag}'";
- $_output = $this->callTagCompiler('call', $args, $parameter);
- }
- }
- if ($_output !== false) {
- if ($_output !== true) {
- // did we get compiled code
- if ($this->has_code) {
- // return compiled code
- return $_output;
- }
- }
- // tag did not produce compiled code
- return null;
- } else {
- // map_named attributes
- if (isset($args[ '_attr' ])) {
- foreach ($args[ '_attr' ] as $key => $attribute) {
- if (is_array($attribute)) {
- $args = array_merge($args, $attribute);
- }
- }
- }
- // not an internal compiler tag
- if (strlen($tag) < 6 || substr($tag, -5) !== 'close') {
- // check if tag is a registered object
- if (isset($this->smarty->registered_objects[ $tag ]) && isset($parameter[ 'object_method' ])) {
- $method = $parameter[ 'object_method' ];
- if (!in_array($method, $this->smarty->registered_objects[ $tag ][ 3 ])
- && (empty($this->smarty->registered_objects[ $tag ][ 1 ])
- || in_array($method, $this->smarty->registered_objects[ $tag ][ 1 ]))
- ) {
- return $this->callTagCompiler('private_object_function', $args, $parameter, $tag, $method);
- } elseif (in_array($method, $this->smarty->registered_objects[ $tag ][ 3 ])) {
- return $this->callTagCompiler(
- 'private_object_block_function',
- $args,
- $parameter,
- $tag,
- $method
- );
- } else {
- // throw exception
- $this->trigger_template_error(
- 'not allowed method "' . $method . '" in registered object "' .
- $tag . '"',
- null,
- true
- );
- }
- }
- // check if tag is registered
- foreach (array(
- Smarty::PLUGIN_COMPILER,
- Smarty::PLUGIN_FUNCTION,
- Smarty::PLUGIN_BLOCK,
- ) as $plugin_type) {
- if (isset($this->smarty->registered_plugins[ $plugin_type ][ $tag ])) {
- // if compiler function plugin call it now
- if ($plugin_type === Smarty::PLUGIN_COMPILER) {
- $new_args = array();
- foreach ($args as $key => $mixed) {
- if (is_array($mixed)) {
- $new_args = array_merge($new_args, $mixed);
- } else {
- $new_args[ $key ] = $mixed;
- }
- }
- if (!$this->smarty->registered_plugins[ $plugin_type ][ $tag ][ 1 ]) {
- $this->tag_nocache = true;
- }
- return call_user_func_array(
- $this->smarty->registered_plugins[ $plugin_type ][ $tag ][ 0 ],
- array(
- $new_args,
- $this
- )
- );
- }
- // compile registered function or block function
- if ($plugin_type === Smarty::PLUGIN_FUNCTION || $plugin_type === Smarty::PLUGIN_BLOCK) {
- return $this->callTagCompiler(
- 'private_registered_' . $plugin_type,
- $args,
- $parameter,
- $tag
- );
- }
- }
- }
- // check plugins from plugins folder
- foreach ($this->plugin_search_order as $plugin_type) {
- if ($plugin_type === Smarty::PLUGIN_COMPILER
- && $this->smarty->loadPlugin('smarty_compiler_' . $tag)
- && (!isset($this->smarty->security_policy)
- || $this->smarty->security_policy->isTrustedTag($tag, $this))
- ) {
- $plugin = 'smarty_compiler_' . $tag;
- if (is_callable($plugin)) {
- // convert arguments format for old compiler plugins
- $new_args = array();
- foreach ($args as $key => $mixed) {
- if (is_array($mixed)) {
- $new_args = array_merge($new_args, $mixed);
- } else {
- $new_args[ $key ] = $mixed;
- }
- }
- return $plugin($new_args, $this->smarty);
- }
- if (class_exists($plugin, false)) {
- $plugin_object = new $plugin;
- if (method_exists($plugin_object, 'compile')) {
- return $plugin_object->compile($args, $this);
- }
- }
- throw new SmartyException("Plugin '{$tag}' not callable");
- } else {
- if ($function = $this->getPlugin($tag, $plugin_type)) {
- if (!isset($this->smarty->security_policy)
- || $this->smarty->security_policy->isTrustedTag($tag, $this)
- ) {
- return $this->callTagCompiler(
- 'private_' . $plugin_type . '_plugin',
- $args,
- $parameter,
- $tag,
- $function
- );
- }
- }
- }
- }
- if (is_callable($this->smarty->default_plugin_handler_func)) {
- $found = false;
- // look for already resolved tags
- foreach ($this->plugin_search_order as $plugin_type) {
- if (isset($this->default_handler_plugins[ $plugin_type ][ $tag ])) {
- $found = true;
- break;
- }
- }
- if (!$found) {
- // call default handler
- foreach ($this->plugin_search_order as $plugin_type) {
- if ($this->getPluginFromDefaultHandler($tag, $plugin_type)) {
- $found = true;
- break;
- }
- }
- }
- if ($found) {
- // if compiler function plugin call it now
- if ($plugin_type === Smarty::PLUGIN_COMPILER) {
- $new_args = array();
- foreach ($args as $key => $mixed) {
- if (is_array($mixed)) {
- $new_args = array_merge($new_args, $mixed);
- } else {
- $new_args[ $key ] = $mixed;
- }
- }
- return call_user_func_array(
- $this->default_handler_plugins[ $plugin_type ][ $tag ][ 0 ],
- array(
- $new_args,
- $this
- )
- );
- } else {
- return $this->callTagCompiler(
- 'private_registered_' . $plugin_type,
- $args,
- $parameter,
- $tag
- );
- }
- }
- }
- } else {
- // compile closing tag of block function
- $base_tag = substr($tag, 0, -5);
- // check if closing tag is a registered object
- if (isset($this->smarty->registered_objects[ $base_tag ]) && isset($parameter[ 'object_method' ])) {
- $method = $parameter[ 'object_method' ];
- if (in_array($method, $this->smarty->registered_objects[ $base_tag ][ 3 ])) {
- return $this->callTagCompiler(
- 'private_object_block_function',
- $args,
- $parameter,
- $tag,
- $method
- );
- } else {
- // throw exception
- $this->trigger_template_error(
- 'not allowed closing tag method "' . $method .
- '" in registered object "' . $base_tag . '"',
- null,
- true
- );
- }
- }
- // registered block tag ?
- if (isset($this->smarty->registered_plugins[ Smarty::PLUGIN_BLOCK ][ $base_tag ])
- || isset($this->default_handler_plugins[ Smarty::PLUGIN_BLOCK ][ $base_tag ])
- ) {
- return $this->callTagCompiler('private_registered_block', $args, $parameter, $tag);
- }
- // registered function tag ?
- if (isset($this->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ $tag ])) {
- return $this->callTagCompiler('private_registered_function', $args, $parameter, $tag);
- }
- // block plugin?
- if ($function = $this->getPlugin($base_tag, Smarty::PLUGIN_BLOCK)) {
- return $this->callTagCompiler('private_block_plugin', $args, $parameter, $tag, $function);
- }
- // function plugin?
- if ($function = $this->getPlugin($tag, Smarty::PLUGIN_FUNCTION)) {
- if (!isset($this->smarty->security_policy)
- || $this->smarty->security_policy->isTrustedTag($tag, $this)
- ) {
- return $this->callTagCompiler('private_function_plugin', $args, $parameter, $tag, $function);
- }
- }
- // registered compiler plugin ?
- if (isset($this->smarty->registered_plugins[ Smarty::PLUGIN_COMPILER ][ $tag ])) {
- // if compiler function plugin call it now
- $args = array();
- if (!$this->smarty->registered_plugins[ Smarty::PLUGIN_COMPILER ][ $tag ][ 1 ]) {
- $this->tag_nocache = true;
- }
- return call_user_func_array(
- $this->smarty->registered_plugins[ Smarty::PLUGIN_COMPILER ][ $tag ][ 0 ],
- array(
- $args,
- $this
- )
- );
- }
- if ($this->smarty->loadPlugin('smarty_compiler_' . $tag)) {
- $plugin = 'smarty_compiler_' . $tag;
- if (is_callable($plugin)) {
- return $plugin($args, $this->smarty);
- }
- if (class_exists($plugin, false)) {
- $plugin_object = new $plugin;
- if (method_exists($plugin_object, 'compile')) {
- return $plugin_object->compile($args, $this);
- }
- }
- throw new SmartyException("Plugin '{$tag}' not callable");
- }
- }
- $this->trigger_template_error("unknown tag '{$tag}'", null, true);
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_templatelexer.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_templatelexer.php
deleted file mode 100755
index c6c49ef..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_templatelexer.php
+++ /dev/null
@@ -1,1060 +0,0 @@
-
- */
-class Smarty_Internal_Templatelexer
-{
- const TEXT = 1;
- const TAG = 2;
- const TAGBODY = 3;
- const LITERAL = 4;
- const DOUBLEQUOTEDSTRING = 5;
-
- /**
- * Source
- *
- * @var string
- */
- public $data;
-
- /**
- * Source length
- *
- * @var int
- */
- public $dataLength = null;
-
- /**
- * byte counter
- *
- * @var int
- */
- public $counter;
-
- /**
- * token number
- *
- * @var int
- */
- public $token;
-
- /**
- * token value
- *
- * @var string
- */
- public $value;
-
- /**
- * current line
- *
- * @var int
- */
- public $line;
-
- /**
- * tag start line
- *
- * @var
- */
- public $taglineno;
-
- /**
- * php code type
- *
- * @var string
- */
- public $phpType = '';
-
- /**
- * state number
- *
- * @var int
- */
- public $state = 1;
-
- /**
- * Smarty object
- *
- * @var Smarty
- */
- public $smarty = null;
-
- /**
- * compiler object
- *
- * @var Smarty_Internal_TemplateCompilerBase
- */
- public $compiler = null;
-
- /**
- * trace file
- *
- * @var resource
- */
- public $yyTraceFILE;
-
- /**
- * trace prompt
- *
- * @var string
- */
- public $yyTracePrompt;
-
- /**
- * XML flag true while processing xml
- *
- * @var bool
- */
- public $is_xml = false;
-
- /**
- * state names
- *
- * @var array
- */
- public $state_name = array(1 => 'TEXT', 2 => 'TAG', 3 => 'TAGBODY', 4 => 'LITERAL', 5 => 'DOUBLEQUOTEDSTRING',);
-
- /**
- * token names
- *
- * @var array
- */
- public $smarty_token_names = array( // Text for parser error messages
- 'NOT' => '(!,not)',
- 'OPENP' => '(',
- 'CLOSEP' => ')',
- 'OPENB' => '[',
- 'CLOSEB' => ']',
- 'PTR' => '->',
- 'APTR' => '=>',
- 'EQUAL' => '=',
- 'NUMBER' => 'number',
- 'UNIMATH' => '+" , "-',
- 'MATH' => '*" , "/" , "%',
- 'INCDEC' => '++" , "--',
- 'SPACE' => ' ',
- 'DOLLAR' => '$',
- 'SEMICOLON' => ';',
- 'COLON' => ':',
- 'DOUBLECOLON' => '::',
- 'AT' => '@',
- 'HATCH' => '#',
- 'QUOTE' => '"',
- 'BACKTICK' => '`',
- 'VERT' => '"|" modifier',
- 'DOT' => '.',
- 'COMMA' => '","',
- 'QMARK' => '"?"',
- 'ID' => 'id, name',
- 'TEXT' => 'text',
- 'LDELSLASH' => '{/..} closing tag',
- 'LDEL' => '{...} Smarty tag',
- 'COMMENT' => 'comment',
- 'AS' => 'as',
- 'TO' => 'to',
- 'PHP' => '" '"<", "==" ... logical operator',
- 'TLOGOP' => '"lt", "eq" ... logical operator; "is div by" ... if condition',
- 'SCOND' => '"is even" ... if condition',
- );
-
- /**
- * literal tag nesting level
- *
- * @var int
- */
- private $literal_cnt = 0;
-
- /**
- * preg token pattern for state TEXT
- *
- * @var string
- */
- private $yy_global_pattern1 = null;
-
- /**
- * preg token pattern for state TAG
- *
- * @var string
- */
- private $yy_global_pattern2 = null;
-
- /**
- * preg token pattern for state TAGBODY
- *
- * @var string
- */
- private $yy_global_pattern3 = null;
-
- /**
- * preg token pattern for state LITERAL
- *
- * @var string
- */
- private $yy_global_pattern4 = null;
-
- /**
- * preg token pattern for state DOUBLEQUOTEDSTRING
- *
- * @var null
- */
- private $yy_global_pattern5 = null;
-
- private $_yy_state = 1;
-
- private $_yy_stack = array();
-
- /**
- * constructor
- *
- * @param string $source template source
- * @param Smarty_Internal_TemplateCompilerBase $compiler
- */
- public function __construct($source, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $this->data = $source;
- $this->dataLength = strlen($this->data);
- $this->counter = 0;
- if (preg_match('/^\xEF\xBB\xBF/i', $this->data, $match)) {
- $this->counter += strlen($match[ 0 ]);
- }
- $this->line = 1;
- $this->smarty = $compiler->template->smarty;
- $this->compiler = $compiler;
- $this->compiler->initDelimiterPreg();
- $this->smarty_token_names[ 'LDEL' ] = $this->smarty->getLeftDelimiter();
- $this->smarty_token_names[ 'RDEL' ] = $this->smarty->getRightDelimiter();
- }
-
- /**
- * open lexer/parser trace file
- *
- */
- public function PrintTrace()
- {
- $this->yyTraceFILE = fopen('php://output', 'w');
- $this->yyTracePrompt = ' ';
- }
-
- /**
- * replace placeholders with runtime preg code
- *
- * @param string $preg
- *
- * @return string
- */
- public function replace($preg)
- {
- return $this->compiler->replaceDelimiter($preg);
- }
-
- /**
- * check if current value is an autoliteral left delimiter
- *
- * @return bool
- */
- public function isAutoLiteral()
- {
- return $this->smarty->getAutoLiteral() && isset($this->value[ $this->compiler->getLdelLength() ]) ?
- strpos(" \n\t\r", $this->value[ $this->compiler->getLdelLength() ]) !== false : false;
- } // end function
-
- public function yylex()
- {
- return $this->{'yylex' . $this->_yy_state}();
- }
-
- public function yypushstate($state)
- {
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state);
- }
- array_push($this->_yy_stack, $this->_yy_state);
- $this->_yy_state = $state;
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state);
- }
- }
-
- public function yypopstate()
- {
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state);
- }
- $this->_yy_state = array_pop($this->_yy_stack);
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state);
- }
- }
-
- public function yybegin($state)
- {
- $this->_yy_state = $state;
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt,
- isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : $this->_yy_state);
- }
- }
-
- public function yylex1()
- {
- if (!isset($this->yy_global_pattern1)) {
- $this->yy_global_pattern1 =
- $this->replace("/\G([{][}])|\G((SMARTYldel)SMARTYal[*])|\G((SMARTYldel)SMARTYalphp([ ].*?)?SMARTYrdel|(SMARTYldel)SMARTYal[\/]phpSMARTYrdel)|\G((SMARTYldel)SMARTYautoliteral\\s+SMARTYliteral)|\G((SMARTYldel)SMARTYalliteral\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[\/]literal\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal)|\G([<][?]((php\\s+|=)|\\s+)|[<][%]|[<][?]xml\\s+|[<]script\\s+language\\s*=\\s*[\"']?\\s*php\\s*[\"']?\\s*[>]|[?][>]|[%][>])|\G((.*?)(?=((SMARTYldel)SMARTYal|[<][?]((php\\s+|=)|\\s+)|[<][%]|[<][?]xml\\s+|[<]script\\s+language\\s*=\\s*[\"']?\\s*php\\s*[\"']?\\s*[>]|[?][>]|[%][>]SMARTYliteral))|[\s\S]+)/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern1, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state TEXT');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r1_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r1_1()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yy_r1_2()
- {
- preg_match("/[*]{$this->compiler->getRdelPreg()}[\n]?/", $this->data, $match, PREG_OFFSET_CAPTURE,
- $this->counter);
- if (isset($match[ 0 ][ 1 ])) {
- $to = $match[ 0 ][ 1 ] + strlen($match[ 0 ][ 0 ]);
- } else {
- $this->compiler->trigger_template_error("missing or misspelled comment closing tag '{$this->smarty->getRightDelimiter()}'");
- }
- $this->value = substr($this->data, $this->counter, $to - $this->counter);
- return false;
- }
-
- public function yy_r1_4()
- {
- $this->compiler->getTagCompiler('private_php')->parsePhp($this);
- }
-
- public function yy_r1_8()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yy_r1_10()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
- $this->yypushstate(self::LITERAL);
- }
-
- public function yy_r1_12()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
- $this->yypushstate(self::LITERAL);
- } // end function
-
- public function yy_r1_14()
- {
- $this->yypushstate(self::TAG);
- return true;
- }
-
- public function yy_r1_16()
- {
- $this->compiler->getTagCompiler('private_php')->parsePhp($this);
- }
-
- public function yy_r1_19()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yylex2()
- {
- if (!isset($this->yy_global_pattern2)) {
- $this->yy_global_pattern2 =
- $this->replace("/\G((SMARTYldel)SMARTYal(if|elseif|else if|while)\\s+)|\G((SMARTYldel)SMARTYalfor\\s+)|\G((SMARTYldel)SMARTYalforeach(?![^\s]))|\G((SMARTYldel)SMARTYalsetfilter\\s+)|\G((SMARTYldel)SMARTYalmake_nocache\\s+)|\G((SMARTYldel)SMARTYal[0-9]*[a-zA-Z_]\\w*(\\s+nocache)?\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[$]smarty\\.block\\.(child|parent)\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[\/][0-9]*[a-zA-Z_]\\w*\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[$][0-9]*[a-zA-Z_]\\w*(\\s+nocache)?\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[\/])|\G((SMARTYldel)SMARTYal)/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern2, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state TAG');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r2_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r2_1()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_4()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_6()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_8()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_10()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDELMAKENOCACHE;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_12()
- {
- $this->yypopstate();
- $this->token = Smarty_Internal_Templateparser::TP_SIMPLETAG;
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_15()
- {
- $this->yypopstate();
- $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILDPARENT;
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_18()
- {
- $this->yypopstate();
- $this->token = Smarty_Internal_Templateparser::TP_CLOSETAG;
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_20()
- {
- if ($this->_yy_stack[ count($this->_yy_stack) - 1 ] === self::TEXT) {
- $this->yypopstate();
- $this->token = Smarty_Internal_Templateparser::TP_SIMPELOUTPUT;
- $this->taglineno = $this->line;
- } else {
- $this->value = $this->smarty->getLeftDelimiter();
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
- } // end function
-
- public function yy_r2_23()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r2_25()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yybegin(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yylex3()
- {
- if (!isset($this->yy_global_pattern3)) {
- $this->yy_global_pattern3 =
- $this->replace("/\G(\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal)|\G([\"])|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G([$][0-9]*[a-zA-Z_]\\w*)|\G([$])|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*([!=][=]{1,2}|[<][=>]?|[>][=]?|[&|]{2})\\s*)|\G(\\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor)\\s+)|\G(\\s+is\\s+(not\\s+)?(odd|even|div)\\s+by\\s+)|\G(\\s+is\\s+(not\\s+)?(odd|even))|\G([!]\\s*|not\\s+)|\G([(](int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)[)]\\s*)|\G(\\s*[(]\\s*)|\G(\\s*[)])|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*[-][>]\\s*)|\G(\\s*[=][>]\\s*)|\G(\\s*[=]\\s*)|\G(([+]|[-]){2})|\G(\\s*([+]|[-])\\s*)|\G(\\s*([*]{1,2}|[%\/^&]|[<>]{2})\\s*)|\G([@])|\G([#])|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*[=]\\s*)|\G(([0-9]*[a-zA-Z_]\\w*)?(\\\\[0-9]*[a-zA-Z_]\\w*)+)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G([`])|\G([|][@]?)|\G([.])|\G(\\s*[,]\\s*)|\G(\\s*[;]\\s*)|\G([:]{2})|\G(\\s*[:]\\s*)|\G(\\s*[?]\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+)|\G([\S\s])/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern3, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state TAGBODY');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r3_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r3_1()
- {
- $this->token = Smarty_Internal_Templateparser::TP_RDEL;
- $this->yypopstate();
- }
-
- public function yy_r3_2()
- {
- $this->yypushstate(self::TAG);
- return true;
- }
-
- public function yy_r3_4()
- {
- $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
- $this->yypushstate(self::DOUBLEQUOTEDSTRING);
- $this->compiler->enterDoubleQuote();
- }
-
- public function yy_r3_5()
- {
- $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING;
- }
-
- public function yy_r3_6()
- {
- $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
- }
-
- public function yy_r3_7()
- {
- $this->token = Smarty_Internal_Templateparser::TP_DOLLAR;
- }
-
- public function yy_r3_8()
- {
- $this->token = Smarty_Internal_Templateparser::TP_ISIN;
- }
-
- public function yy_r3_9()
- {
- $this->token = Smarty_Internal_Templateparser::TP_AS;
- }
-
- public function yy_r3_10()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TO;
- }
-
- public function yy_r3_11()
- {
- $this->token = Smarty_Internal_Templateparser::TP_STEP;
- }
-
- public function yy_r3_12()
- {
- $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF;
- }
-
- public function yy_r3_13()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LOGOP;
- }
-
- public function yy_r3_15()
- {
- $this->token = Smarty_Internal_Templateparser::TP_SLOGOP;
- }
-
- public function yy_r3_17()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TLOGOP;
- }
-
- public function yy_r3_20()
- {
- $this->token = Smarty_Internal_Templateparser::TP_SINGLECOND;
- }
-
- public function yy_r3_23()
- {
- $this->token = Smarty_Internal_Templateparser::TP_NOT;
- }
-
- public function yy_r3_24()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TYPECAST;
- }
-
- public function yy_r3_28()
- {
- $this->token = Smarty_Internal_Templateparser::TP_OPENP;
- }
-
- public function yy_r3_29()
- {
- $this->token = Smarty_Internal_Templateparser::TP_CLOSEP;
- }
-
- public function yy_r3_30()
- {
- $this->token = Smarty_Internal_Templateparser::TP_OPENB;
- }
-
- public function yy_r3_31()
- {
- $this->token = Smarty_Internal_Templateparser::TP_CLOSEB;
- }
-
- public function yy_r3_32()
- {
- $this->token = Smarty_Internal_Templateparser::TP_PTR;
- }
-
- public function yy_r3_33()
- {
- $this->token = Smarty_Internal_Templateparser::TP_APTR;
- }
-
- public function yy_r3_34()
- {
- $this->token = Smarty_Internal_Templateparser::TP_EQUAL;
- }
-
- public function yy_r3_35()
- {
- $this->token = Smarty_Internal_Templateparser::TP_INCDEC;
- }
-
- public function yy_r3_37()
- {
- $this->token = Smarty_Internal_Templateparser::TP_UNIMATH;
- }
-
- public function yy_r3_39()
- {
- $this->token = Smarty_Internal_Templateparser::TP_MATH;
- }
-
- public function yy_r3_41()
- {
- $this->token = Smarty_Internal_Templateparser::TP_AT;
- }
-
- public function yy_r3_42()
- {
- $this->token = Smarty_Internal_Templateparser::TP_HATCH;
- }
-
- public function yy_r3_43()
- {
- // resolve conflicts with shorttag and right_delimiter starting with '='
- if (substr($this->data, $this->counter + strlen($this->value) - 1, $this->compiler->getRdelLength()) ===
- $this->smarty->getRightDelimiter()) {
- preg_match('/\s+/', $this->value, $match);
- $this->value = $match[ 0 ];
- $this->token = Smarty_Internal_Templateparser::TP_SPACE;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_ATTR;
- }
- }
-
- public function yy_r3_44()
- {
- $this->token = Smarty_Internal_Templateparser::TP_NAMESPACE;
- }
-
- public function yy_r3_47()
- {
- $this->token = Smarty_Internal_Templateparser::TP_ID;
- }
-
- public function yy_r3_48()
- {
- $this->token = Smarty_Internal_Templateparser::TP_INTEGER;
- }
-
- public function yy_r3_49()
- {
- $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
- $this->yypopstate();
- }
-
- public function yy_r3_50()
- {
- $this->token = Smarty_Internal_Templateparser::TP_VERT;
- }
-
- public function yy_r3_51()
- {
- $this->token = Smarty_Internal_Templateparser::TP_DOT;
- }
-
- public function yy_r3_52()
- {
- $this->token = Smarty_Internal_Templateparser::TP_COMMA;
- }
-
- public function yy_r3_53()
- {
- $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON;
- }
-
- public function yy_r3_54()
- {
- $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON;
- }
-
- public function yy_r3_55()
- {
- $this->token = Smarty_Internal_Templateparser::TP_COLON;
- }
-
- public function yy_r3_56()
- {
- $this->token = Smarty_Internal_Templateparser::TP_QMARK;
- }
-
- public function yy_r3_57()
- {
- $this->token = Smarty_Internal_Templateparser::TP_HEX;
- }
-
- public function yy_r3_58()
- {
- $this->token = Smarty_Internal_Templateparser::TP_SPACE;
- } // end function
-
- public function yy_r3_59()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yylex4()
- {
- if (!isset($this->yy_global_pattern4)) {
- $this->yy_global_pattern4 =
- $this->replace("/\G((SMARTYldel)SMARTYalliteral\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[\/]literal\\s*SMARTYrdel)|\G((.*?)(?=(SMARTYldel)SMARTYal[\/]?literalSMARTYrdel))/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern4, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state LITERAL');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r4_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r4_1()
- {
- $this->literal_cnt++;
- $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
- }
-
- public function yy_r4_3()
- {
- if ($this->literal_cnt) {
- $this->literal_cnt--;
- $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
- $this->yypopstate();
- }
- }
-
- public function yy_r4_5()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
- } // end function
-
- public function yylex5()
- {
- if (!isset($this->yy_global_pattern5)) {
- $this->yy_global_pattern5 =
- $this->replace("/\G((SMARTYldel)SMARTYautoliteral\\s+SMARTYliteral)|\G((SMARTYldel)SMARTYalliteral\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[\/]literal\\s*SMARTYrdel)|\G((SMARTYldel)SMARTYal[\/])|\G((SMARTYldel)SMARTYal[0-9]*[a-zA-Z_]\\w*)|\G((SMARTYldel)SMARTYal)|\G([\"])|\G([`][$])|\G([$][0-9]*[a-zA-Z_]\\w*)|\G([$])|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=((SMARTYldel)SMARTYal|\\$|`\\$|\"SMARTYliteral)))/isS");
- }
- if (!isset($this->dataLength)) {
- $this->dataLength = strlen($this->data);
- }
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- do {
- if (preg_match($this->yy_global_pattern5, $this->data, $yymatches, 0, $this->counter)) {
- if (!isset($yymatches[ 0 ][ 1 ])) {
- $yymatches = preg_grep("/(.|\s)+/", $yymatches);
- } else {
- $yymatches = array_filter($yymatches);
- }
- if (empty($yymatches)) {
- throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr(
- $this->data,
- $this->counter,
- 5
- ) . '... state DOUBLEQUOTEDSTRING');
- }
- next($yymatches); // skip global match
- $this->token = key($yymatches); // token number
- $this->value = current($yymatches); // token value
- $r = $this->{'yy_r5_' . $this->token}();
- if ($r === null) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- // accept this token
- return true;
- } elseif ($r === true) {
- // we have changed state
- // process this token in the new state
- return $this->yylex();
- } elseif ($r === false) {
- $this->counter += strlen($this->value);
- $this->line += substr_count($this->value, "\n");
- if ($this->counter >= $this->dataLength) {
- return false; // end of input
- }
- // skip this token
- continue;
- }
- } else {
- throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[ $this->counter ]);
- }
- break;
- } while (true);
- }
-
- public function yy_r5_1()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yy_r5_3()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yy_r5_5()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yy_r5_7()
- {
- $this->yypushstate(self::TAG);
- return true;
- }
-
- public function yy_r5_9()
- {
- $this->yypushstate(self::TAG);
- return true;
- }
-
- public function yy_r5_11()
- {
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->taglineno = $this->line;
- $this->yypushstate(self::TAGBODY);
- }
-
- public function yy_r5_13()
- {
- $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
- $this->yypopstate();
- }
-
- public function yy_r5_14()
- {
- $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
- $this->value = substr($this->value, 0, -1);
- $this->yypushstate(self::TAGBODY);
- $this->taglineno = $this->line;
- }
-
- public function yy_r5_15()
- {
- $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
- }
-
- public function yy_r5_16()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
- public function yy_r5_17()
- {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_templateparser.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_templateparser.php
deleted file mode 100755
index b008715..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_templateparser.php
+++ /dev/null
@@ -1,3539 +0,0 @@
-
- */
-class Smarty_Internal_Templateparser
-{
- // line 23 "../smarty/lexer/smarty_internal_templateparser.y"
- const ERR1 = 'Security error: Call to private object member not allowed';
- const ERR2 = 'Security error: Call to dynamic object member not allowed';
- const ERR3 = 'PHP in template not allowed. Use SmartyBC to enable it';
- const TP_VERT = 1;
- const TP_COLON = 2;
- const TP_UNIMATH = 3;
- const TP_PHP = 4;
- const TP_TEXT = 5;
- const TP_STRIPON = 6;
- const TP_STRIPOFF = 7;
- const TP_LITERALSTART = 8;
- const TP_LITERALEND = 9;
- const TP_LITERAL = 10;
- const TP_SIMPELOUTPUT = 11;
- const TP_SIMPLETAG = 12;
- const TP_SMARTYBLOCKCHILDPARENT = 13;
- const TP_LDEL = 14;
- const TP_RDEL = 15;
- const TP_DOLLARID = 16;
- const TP_EQUAL = 17;
- const TP_ID = 18;
- const TP_PTR = 19;
- const TP_LDELMAKENOCACHE = 20;
- const TP_LDELIF = 21;
- const TP_LDELFOR = 22;
- const TP_SEMICOLON = 23;
- const TP_INCDEC = 24;
- const TP_TO = 25;
- const TP_STEP = 26;
- const TP_LDELFOREACH = 27;
- const TP_SPACE = 28;
- const TP_AS = 29;
- const TP_APTR = 30;
- const TP_LDELSETFILTER = 31;
- const TP_CLOSETAG = 32;
- const TP_LDELSLASH = 33;
- const TP_ATTR = 34;
- const TP_INTEGER = 35;
- const TP_COMMA = 36;
- const TP_OPENP = 37;
- const TP_CLOSEP = 38;
- const TP_MATH = 39;
- const TP_ISIN = 40;
- const TP_QMARK = 41;
- const TP_NOT = 42;
- const TP_TYPECAST = 43;
- const TP_HEX = 44;
- const TP_DOT = 45;
- const TP_INSTANCEOF = 46;
- const TP_SINGLEQUOTESTRING = 47;
- const TP_DOUBLECOLON = 48;
- const TP_NAMESPACE = 49;
- const TP_AT = 50;
- const TP_HATCH = 51;
- const TP_OPENB = 52;
- const TP_CLOSEB = 53;
- const TP_DOLLAR = 54;
- const TP_LOGOP = 55;
- const TP_SLOGOP = 56;
- const TP_TLOGOP = 57;
- const TP_SINGLECOND = 58;
- const TP_QUOTE = 59;
- const TP_BACKTICK = 60;
- const YY_NO_ACTION = 511;
- const YY_ACCEPT_ACTION = 510;
- const YY_ERROR_ACTION = 509;
- const YY_SZ_ACTTAB = 2076;
- const YY_SHIFT_USE_DFLT = -23;
- const YY_SHIFT_MAX = 227;
- const YY_REDUCE_USE_DFLT = -68;
- const YY_REDUCE_MAX = 176;
- const YYNOCODE = 108;
- const YYSTACKDEPTH = 500;
- const YYNSTATE = 323;
- const YYNRULE = 186;
- const YYERRORSYMBOL = 61;
- const YYERRSYMDT = 'yy0';
- const YYFALLBACK = 0;
-
- public static $yy_action = array(
- 42, 266, 267, 379, 115, 202, 27, 204, 260, 235,
- 237, 1, 17, 125, 94, 182, 379, 215, 10, 79,
- 317, 168, 379, 12, 107, 425, 308, 318, 224, 298,
- 218, 129, 189, 292, 21, 203, 425, 27, 11, 39,
- 38, 299, 219, 17, 213, 385, 191, 245, 77, 3,
- 303, 315, 42, 385, 160, 385, 75, 29, 385, 95,
- 260, 235, 237, 1, 385, 126, 385, 193, 385, 215,
- 10, 79, 80, 290, 145, 226, 107, 148, 172, 150,
- 224, 298, 218, 85, 217, 315, 21, 280, 101, 280,
- 141, 39, 38, 299, 219, 20, 287, 183, 191, 232,
- 77, 3, 42, 315, 16, 176, 316, 172, 75, 275,
- 260, 235, 237, 1, 167, 128, 236, 193, 319, 215,
- 10, 79, 345, 40, 14, 257, 107, 319, 345, 5,
- 224, 298, 218, 89, 217, 315, 30, 292, 172, 203,
- 74, 39, 38, 299, 219, 132, 287, 205, 191, 74,
- 77, 3, 42, 315, 210, 194, 310, 99, 75, 345,
- 260, 235, 237, 1, 425, 126, 87, 179, 319, 215,
- 10, 79, 345, 95, 195, 425, 107, 272, 345, 176,
- 224, 298, 218, 315, 199, 115, 21, 128, 278, 209,
- 74, 39, 38, 299, 219, 94, 287, 226, 191, 129,
- 77, 3, 42, 315, 277, 309, 11, 308, 75, 13,
- 260, 235, 237, 1, 163, 127, 425, 193, 319, 215,
- 10, 79, 77, 254, 19, 315, 107, 425, 137, 34,
- 224, 298, 218, 196, 217, 33, 21, 220, 280, 159,
- 74, 39, 38, 299, 219, 196, 287, 8, 191, 162,
- 77, 3, 42, 315, 294, 222, 196, 438, 75, 378,
- 260, 235, 237, 1, 438, 126, 16, 193, 271, 215,
- 10, 79, 378, 172, 302, 315, 107, 175, 378, 267,
- 224, 298, 218, 27, 178, 252, 21, 164, 296, 17,
- 83, 39, 38, 299, 219, 196, 287, 205, 191, 170,
- 77, 3, 42, 315, 270, 18, 144, 99, 75, 346,
- 260, 235, 237, 1, 142, 126, 280, 177, 84, 215,
- 10, 79, 346, 172, 280, 4, 107, 95, 346, 321,
- 224, 298, 218, 438, 217, 131, 21, 321, 426, 24,
- 438, 39, 38, 299, 219, 196, 287, 205, 191, 426,
- 77, 3, 42, 315, 201, 9, 101, 99, 75, 381,
- 260, 235, 237, 1, 149, 124, 102, 193, 22, 215,
- 10, 79, 381, 315, 99, 231, 107, 311, 381, 425,
- 224, 298, 218, 23, 217, 319, 7, 207, 196, 17,
- 425, 39, 38, 299, 219, 307, 287, 36, 191, 154,
- 77, 3, 42, 315, 161, 296, 227, 74, 75, 280,
- 260, 235, 237, 1, 16, 91, 273, 76, 312, 215,
- 10, 79, 317, 208, 190, 12, 107, 176, 196, 318,
- 224, 298, 218, 135, 217, 321, 21, 196, 35, 95,
- 263, 39, 38, 299, 219, 157, 287, 111, 191, 88,
- 77, 3, 42, 315, 169, 280, 225, 15, 75, 285,
- 260, 235, 237, 1, 155, 126, 226, 184, 101, 215,
- 10, 79, 454, 172, 280, 454, 107, 246, 253, 454,
- 224, 298, 218, 152, 217, 111, 21, 161, 296, 265,
- 6, 39, 38, 299, 219, 269, 287, 203, 191, 119,
- 77, 3, 42, 315, 158, 262, 321, 274, 75, 97,
- 260, 235, 237, 1, 153, 128, 165, 193, 151, 215,
- 10, 79, 317, 43, 280, 12, 107, 320, 280, 318,
- 224, 298, 218, 8, 217, 171, 30, 306, 196, 36,
- 172, 39, 38, 299, 219, 264, 287, 256, 191, 128,
- 77, 288, 78, 315, 510, 90, 166, 296, 75, 41,
- 37, 223, 104, 228, 250, 251, 255, 122, 226, 289,
- 260, 235, 237, 1, 239, 233, 238, 240, 241, 215,
- 10, 79, 229, 305, 77, 304, 107, 315, 281, 300,
- 224, 298, 218, 261, 211, 203, 314, 28, 86, 108,
- 140, 181, 96, 61, 214, 247, 317, 454, 94, 12,
- 454, 297, 322, 318, 454, 29, 259, 192, 249, 248,
- 308, 313, 138, 27, 302, 143, 130, 82, 95, 17,
- 261, 211, 203, 314, 252, 86, 108, 286, 180, 96,
- 50, 136, 139, 100, 152, 94, 454, 81, 297, 322,
- 295, 321, 146, 259, 192, 249, 295, 308, 261, 295,
- 203, 295, 295, 110, 295, 295, 197, 105, 64, 295,
- 295, 295, 295, 94, 295, 295, 297, 322, 295, 295,
- 295, 259, 192, 249, 261, 308, 203, 276, 295, 110,
- 108, 295, 181, 96, 61, 187, 282, 295, 317, 94,
- 295, 12, 297, 322, 295, 318, 295, 259, 192, 249,
- 295, 308, 295, 291, 295, 295, 295, 295, 295, 260,
- 235, 237, 2, 295, 293, 295, 295, 295, 215, 10,
- 79, 295, 295, 295, 295, 107, 291, 206, 295, 224,
- 298, 218, 260, 235, 237, 2, 295, 293, 295, 295,
- 295, 215, 10, 79, 295, 295, 295, 295, 107, 295,
- 295, 295, 224, 298, 218, 295, 295, 295, 26, 261,
- 295, 203, 295, 295, 110, 295, 295, 197, 113, 60,
- 295, 295, 295, 295, 94, 156, 295, 297, 322, 167,
- 284, 26, 259, 192, 249, 280, 308, 295, 40, 14,
- 257, 295, 261, 200, 203, 295, 295, 110, 295, 295,
- 197, 105, 64, 172, 295, 295, 295, 94, 295, 295,
- 297, 322, 295, 295, 295, 259, 192, 249, 295, 308,
- 295, 295, 295, 295, 261, 295, 203, 295, 295, 98,
- 283, 295, 197, 113, 51, 295, 201, 295, 295, 94,
- 295, 295, 297, 322, 295, 295, 295, 259, 192, 249,
- 261, 308, 203, 295, 295, 110, 295, 295, 197, 113,
- 60, 295, 295, 295, 295, 94, 295, 295, 297, 322,
- 295, 295, 295, 259, 192, 249, 295, 308, 261, 295,
- 203, 295, 295, 110, 188, 295, 197, 113, 60, 196,
- 31, 43, 295, 94, 295, 295, 297, 322, 295, 295,
- 295, 259, 192, 249, 295, 308, 261, 295, 203, 295,
- 295, 98, 198, 295, 197, 113, 45, 295, 109, 295,
- 295, 94, 295, 295, 297, 322, 295, 41, 37, 259,
- 192, 249, 261, 308, 203, 295, 295, 110, 295, 295,
- 197, 113, 67, 233, 238, 240, 241, 94, 295, 295,
- 297, 322, 295, 295, 295, 259, 192, 249, 295, 308,
- 261, 295, 203, 295, 295, 110, 295, 295, 197, 113,
- 57, 196, 295, 43, 295, 94, 295, 295, 297, 322,
- 295, 295, 295, 259, 192, 249, 295, 308, 261, 295,
- 203, 295, 295, 110, 295, 295, 197, 113, 46, 295,
- 295, 295, 295, 94, 295, 295, 297, 322, 295, 41,
- 37, 259, 192, 249, 261, 308, 203, 295, 295, 110,
- 295, 295, 197, 113, 66, 233, 238, 240, 241, 94,
- 301, 295, 297, 322, 295, 295, 295, 259, 192, 249,
- 295, 308, 261, 295, 203, 295, 295, 110, 295, 295,
- 197, 113, 72, 196, 295, 43, 295, 94, 295, 295,
- 297, 322, 295, 295, 295, 259, 192, 249, 295, 308,
- 261, 295, 203, 295, 295, 110, 295, 295, 197, 113,
- 53, 295, 295, 295, 295, 94, 295, 295, 297, 322,
- 230, 41, 37, 259, 192, 249, 261, 308, 203, 295,
- 295, 110, 295, 295, 197, 113, 48, 233, 238, 240,
- 241, 94, 295, 295, 297, 322, 295, 295, 295, 259,
- 192, 249, 295, 308, 261, 295, 203, 295, 295, 110,
- 295, 295, 185, 103, 49, 196, 295, 43, 295, 94,
- 295, 295, 297, 322, 295, 295, 295, 259, 192, 249,
- 295, 308, 261, 295, 203, 295, 295, 110, 295, 295,
- 197, 113, 55, 134, 295, 295, 295, 94, 295, 295,
- 297, 322, 295, 41, 37, 259, 192, 249, 261, 308,
- 203, 295, 295, 110, 295, 295, 197, 113, 71, 233,
- 238, 240, 241, 94, 295, 295, 297, 322, 295, 295,
- 295, 259, 192, 249, 295, 308, 261, 295, 203, 295,
- 295, 110, 295, 295, 197, 113, 59, 196, 295, 43,
- 295, 94, 295, 295, 297, 322, 295, 295, 295, 259,
- 192, 249, 295, 308, 261, 295, 203, 295, 295, 110,
- 295, 295, 197, 113, 63, 295, 295, 295, 295, 94,
- 295, 295, 297, 322, 216, 41, 37, 259, 192, 249,
- 261, 308, 203, 295, 295, 110, 295, 295, 197, 113,
- 62, 233, 238, 240, 241, 94, 295, 295, 297, 322,
- 295, 295, 295, 259, 192, 249, 295, 308, 261, 295,
- 203, 295, 295, 110, 295, 295, 197, 92, 69, 196,
- 295, 43, 295, 94, 295, 295, 297, 322, 295, 295,
- 295, 259, 192, 249, 295, 308, 261, 295, 203, 295,
- 295, 110, 295, 295, 197, 113, 52, 295, 295, 295,
- 295, 94, 295, 295, 297, 322, 295, 41, 37, 259,
- 192, 249, 261, 308, 203, 295, 295, 110, 295, 295,
- 197, 113, 65, 233, 238, 240, 241, 94, 295, 295,
- 297, 322, 295, 196, 295, 259, 192, 249, 295, 308,
- 261, 295, 203, 295, 295, 110, 295, 349, 197, 113,
- 58, 221, 295, 295, 295, 94, 295, 295, 297, 322,
- 27, 295, 295, 259, 192, 249, 17, 308, 261, 425,
- 203, 295, 295, 110, 295, 295, 197, 113, 56, 295,
- 425, 295, 295, 94, 295, 295, 297, 322, 295, 295,
- 295, 259, 192, 249, 261, 308, 203, 295, 295, 110,
- 295, 295, 197, 113, 44, 295, 295, 295, 295, 94,
- 295, 295, 297, 322, 295, 295, 295, 259, 192, 249,
- 295, 308, 261, 295, 203, 295, 295, 110, 295, 295,
- 197, 93, 70, 295, 295, 295, 295, 94, 295, 295,
- 297, 322, 295, 295, 295, 259, 192, 249, 295, 308,
- 261, 295, 203, 295, 295, 110, 295, 295, 186, 113,
- 54, 295, 295, 295, 295, 94, 295, 295, 297, 322,
- 295, 295, 295, 259, 192, 249, 261, 308, 203, 295,
- 295, 110, 295, 295, 197, 113, 73, 295, 295, 295,
- 295, 94, 295, 295, 297, 322, 295, 295, 295, 259,
- 192, 249, 295, 308, 261, 295, 203, 295, 295, 110,
- 295, 295, 197, 113, 68, 295, 295, 295, 295, 94,
- 295, 295, 297, 322, 295, 295, 295, 259, 192, 249,
- 295, 308, 261, 295, 203, 295, 295, 110, 295, 295,
- 197, 93, 47, 295, 295, 295, 295, 94, 295, 295,
- 297, 322, 391, 391, 391, 259, 192, 249, 261, 308,
- 203, 295, 295, 110, 295, 295, 197, 113, 51, 295,
- 295, 295, 295, 94, 295, 295, 297, 322, 196, 295,
- 43, 259, 192, 249, 295, 308, 295, 295, 425, 295,
- 391, 391, 295, 295, 295, 261, 295, 203, 295, 425,
- 110, 295, 295, 197, 118, 27, 391, 391, 391, 391,
- 94, 17, 295, 295, 258, 295, 41, 37, 259, 192,
- 249, 261, 308, 203, 295, 196, 110, 43, 295, 197,
- 120, 295, 233, 238, 240, 241, 94, 295, 295, 295,
- 243, 295, 295, 295, 259, 192, 249, 295, 308, 295,
- 32, 295, 27, 212, 295, 295, 295, 295, 17, 295,
- 295, 295, 454, 41, 37, 454, 295, 295, 295, 454,
- 438, 295, 295, 295, 295, 295, 295, 295, 295, 233,
- 238, 240, 241, 295, 295, 261, 295, 203, 295, 295,
- 110, 295, 295, 197, 112, 295, 438, 295, 295, 438,
- 94, 454, 212, 438, 268, 295, 295, 295, 259, 192,
- 249, 454, 308, 212, 454, 295, 295, 34, 454, 438,
- 295, 295, 454, 295, 295, 454, 295, 133, 4, 454,
- 438, 167, 295, 295, 295, 295, 295, 280, 295, 295,
- 40, 14, 257, 295, 295, 438, 295, 295, 438, 261,
- 454, 203, 438, 295, 110, 172, 438, 197, 121, 438,
- 261, 454, 203, 438, 94, 110, 295, 295, 197, 117,
- 295, 295, 259, 192, 249, 94, 308, 295, 295, 295,
- 295, 295, 295, 259, 192, 249, 261, 308, 203, 295,
- 295, 110, 295, 295, 197, 116, 295, 261, 295, 203,
- 295, 94, 110, 295, 295, 197, 114, 295, 295, 259,
- 192, 249, 94, 308, 196, 295, 43, 295, 295, 295,
- 259, 192, 249, 261, 308, 203, 295, 196, 110, 43,
- 295, 197, 123, 295, 295, 295, 106, 295, 94, 295,
- 196, 174, 43, 295, 295, 295, 259, 192, 249, 196,
- 308, 43, 41, 37, 244, 295, 295, 295, 295, 295,
- 295, 295, 295, 234, 295, 41, 37, 295, 233, 238,
- 240, 241, 295, 295, 295, 295, 295, 295, 41, 37,
- 295, 233, 238, 240, 241, 295, 295, 41, 37, 295,
- 295, 295, 295, 295, 233, 238, 240, 241, 25, 196,
- 295, 43, 295, 233, 238, 240, 241, 454, 295, 295,
- 454, 295, 295, 279, 454, 438, 212, 295, 295, 295,
- 295, 295, 295, 295, 295, 454, 295, 295, 454, 295,
- 295, 295, 454, 438, 196, 295, 43, 41, 37, 295,
- 295, 438, 295, 196, 438, 43, 454, 295, 438, 295,
- 295, 295, 295, 233, 238, 240, 241, 173, 295, 438,
- 295, 295, 438, 295, 454, 295, 438, 454, 295, 295,
- 454, 295, 41, 37, 454, 438, 295, 295, 295, 295,
- 295, 41, 37, 295, 295, 295, 242, 295, 233, 238,
- 240, 241, 295, 295, 295, 295, 295, 233, 238, 240,
- 241, 438, 295, 295, 438, 295, 454, 147, 438, 295,
- 295, 167, 295, 295, 295, 295, 295, 280, 295, 295,
- 40, 14, 257, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 172,
- );
-
- public static $yy_lookahead = array(
- 3, 9, 10, 15, 71, 17, 28, 74, 11, 12,
- 13, 14, 34, 16, 81, 18, 28, 20, 21, 22,
- 11, 82, 34, 14, 27, 37, 93, 18, 31, 32,
- 33, 45, 35, 66, 37, 68, 48, 28, 52, 42,
- 43, 44, 45, 34, 47, 15, 49, 16, 51, 52,
- 53, 54, 3, 23, 77, 25, 59, 17, 28, 19,
- 11, 12, 13, 14, 34, 16, 36, 18, 38, 20,
- 21, 22, 105, 106, 94, 45, 27, 73, 101, 73,
- 31, 32, 33, 77, 35, 54, 37, 83, 48, 83,
- 94, 42, 43, 44, 45, 14, 47, 16, 49, 18,
- 51, 52, 3, 54, 36, 101, 38, 101, 59, 15,
- 11, 12, 13, 14, 77, 16, 35, 18, 24, 20,
- 21, 22, 28, 86, 87, 88, 27, 24, 34, 37,
- 31, 32, 33, 82, 35, 54, 37, 66, 101, 68,
- 46, 42, 43, 44, 45, 16, 47, 71, 49, 46,
- 51, 52, 3, 54, 78, 79, 53, 81, 59, 15,
- 11, 12, 13, 14, 37, 16, 37, 18, 24, 20,
- 21, 22, 28, 19, 65, 48, 27, 106, 34, 101,
- 31, 32, 33, 54, 35, 71, 37, 16, 74, 18,
- 46, 42, 43, 44, 45, 81, 47, 45, 49, 45,
- 51, 52, 3, 54, 90, 53, 52, 93, 59, 30,
- 11, 12, 13, 14, 82, 16, 37, 18, 24, 20,
- 21, 22, 51, 18, 14, 54, 27, 48, 73, 17,
- 31, 32, 33, 1, 35, 14, 37, 16, 83, 18,
- 46, 42, 43, 44, 45, 1, 47, 37, 49, 77,
- 51, 52, 3, 54, 60, 50, 1, 45, 59, 15,
- 11, 12, 13, 14, 52, 16, 36, 18, 38, 20,
- 21, 22, 28, 101, 102, 54, 27, 8, 34, 10,
- 31, 32, 33, 28, 35, 95, 37, 97, 98, 34,
- 94, 42, 43, 44, 45, 1, 47, 71, 49, 77,
- 51, 52, 3, 54, 78, 23, 73, 81, 59, 15,
- 11, 12, 13, 14, 73, 16, 83, 18, 36, 20,
- 21, 22, 28, 101, 83, 17, 27, 19, 34, 96,
- 31, 32, 33, 45, 35, 16, 37, 96, 37, 41,
- 52, 42, 43, 44, 45, 1, 47, 71, 49, 48,
- 51, 52, 3, 54, 78, 37, 48, 81, 59, 15,
- 11, 12, 13, 14, 71, 16, 48, 18, 17, 20,
- 21, 22, 28, 54, 81, 24, 27, 70, 34, 37,
- 31, 32, 33, 28, 35, 24, 37, 45, 1, 34,
- 48, 42, 43, 44, 45, 53, 47, 2, 49, 73,
- 51, 52, 3, 54, 97, 98, 19, 46, 59, 83,
- 11, 12, 13, 14, 36, 16, 38, 18, 98, 20,
- 21, 22, 11, 64, 65, 14, 27, 101, 1, 18,
- 31, 32, 33, 94, 35, 96, 37, 1, 17, 19,
- 92, 42, 43, 44, 45, 73, 47, 99, 49, 77,
- 51, 52, 3, 54, 16, 83, 18, 30, 59, 70,
- 11, 12, 13, 14, 73, 16, 45, 18, 48, 20,
- 21, 22, 11, 101, 83, 14, 27, 35, 92, 18,
- 31, 32, 33, 94, 35, 99, 37, 97, 98, 53,
- 36, 42, 43, 44, 45, 66, 47, 68, 49, 18,
- 51, 52, 3, 54, 94, 38, 96, 53, 59, 81,
- 11, 12, 13, 14, 73, 16, 77, 18, 73, 20,
- 21, 22, 11, 3, 83, 14, 27, 99, 83, 18,
- 31, 32, 33, 37, 35, 18, 37, 18, 1, 2,
- 101, 42, 43, 44, 45, 35, 47, 18, 49, 16,
- 51, 18, 18, 54, 62, 63, 97, 98, 59, 39,
- 40, 50, 18, 4, 5, 6, 7, 8, 45, 16,
- 11, 12, 13, 14, 18, 55, 56, 57, 58, 20,
- 21, 22, 49, 53, 51, 53, 27, 54, 18, 15,
- 31, 32, 33, 66, 67, 68, 69, 25, 71, 72,
- 51, 74, 75, 76, 18, 18, 11, 11, 81, 14,
- 14, 84, 85, 18, 18, 17, 89, 90, 91, 9,
- 93, 15, 51, 28, 102, 30, 81, 81, 19, 34,
- 66, 67, 68, 69, 95, 71, 72, 83, 74, 75,
- 76, 94, 94, 80, 94, 81, 50, 81, 84, 85,
- 107, 96, 94, 89, 90, 91, 107, 93, 66, 107,
- 68, 107, 107, 71, 107, 107, 74, 75, 76, 107,
- 107, 107, 107, 81, 107, 107, 84, 85, 107, 107,
- 107, 89, 90, 91, 66, 93, 68, 69, 107, 71,
- 72, 107, 74, 75, 76, 103, 104, 107, 11, 81,
- 107, 14, 84, 85, 107, 18, 107, 89, 90, 91,
- 107, 93, 107, 5, 107, 107, 107, 107, 107, 11,
- 12, 13, 14, 107, 16, 107, 107, 107, 20, 21,
- 22, 107, 107, 107, 107, 27, 5, 50, 107, 31,
- 32, 33, 11, 12, 13, 14, 107, 16, 107, 107,
- 107, 20, 21, 22, 107, 107, 107, 107, 27, 107,
- 107, 107, 31, 32, 33, 107, 107, 59, 60, 66,
- 107, 68, 107, 107, 71, 107, 107, 74, 75, 76,
- 107, 107, 107, 107, 81, 73, 107, 84, 85, 77,
- 59, 60, 89, 90, 91, 83, 93, 107, 86, 87,
- 88, 107, 66, 100, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 101, 107, 107, 107, 81, 107, 107,
- 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
- 107, 107, 107, 107, 66, 107, 68, 107, 107, 71,
- 104, 107, 74, 75, 76, 107, 78, 107, 107, 81,
- 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
- 66, 93, 68, 107, 107, 71, 107, 107, 74, 75,
- 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
- 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
- 68, 107, 107, 71, 100, 107, 74, 75, 76, 1,
- 2, 3, 107, 81, 107, 107, 84, 85, 107, 107,
- 107, 89, 90, 91, 107, 93, 66, 107, 68, 107,
- 107, 71, 100, 107, 74, 75, 76, 107, 78, 107,
- 107, 81, 107, 107, 84, 85, 107, 39, 40, 89,
- 90, 91, 66, 93, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 55, 56, 57, 58, 81, 107, 107,
- 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
- 66, 107, 68, 107, 107, 71, 107, 107, 74, 75,
- 76, 1, 107, 3, 107, 81, 107, 107, 84, 85,
- 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
- 68, 107, 107, 71, 107, 107, 74, 75, 76, 107,
- 107, 107, 107, 81, 107, 107, 84, 85, 107, 39,
- 40, 89, 90, 91, 66, 93, 68, 107, 107, 71,
- 107, 107, 74, 75, 76, 55, 56, 57, 58, 81,
- 60, 107, 84, 85, 107, 107, 107, 89, 90, 91,
- 107, 93, 66, 107, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 1, 107, 3, 107, 81, 107, 107,
- 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
- 66, 107, 68, 107, 107, 71, 107, 107, 74, 75,
- 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
- 38, 39, 40, 89, 90, 91, 66, 93, 68, 107,
- 107, 71, 107, 107, 74, 75, 76, 55, 56, 57,
- 58, 81, 107, 107, 84, 85, 107, 107, 107, 89,
- 90, 91, 107, 93, 66, 107, 68, 107, 107, 71,
- 107, 107, 74, 75, 76, 1, 107, 3, 107, 81,
- 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
- 107, 93, 66, 107, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 29, 107, 107, 107, 81, 107, 107,
- 84, 85, 107, 39, 40, 89, 90, 91, 66, 93,
- 68, 107, 107, 71, 107, 107, 74, 75, 76, 55,
- 56, 57, 58, 81, 107, 107, 84, 85, 107, 107,
- 107, 89, 90, 91, 107, 93, 66, 107, 68, 107,
- 107, 71, 107, 107, 74, 75, 76, 1, 107, 3,
- 107, 81, 107, 107, 84, 85, 107, 107, 107, 89,
- 90, 91, 107, 93, 66, 107, 68, 107, 107, 71,
- 107, 107, 74, 75, 76, 107, 107, 107, 107, 81,
- 107, 107, 84, 85, 38, 39, 40, 89, 90, 91,
- 66, 93, 68, 107, 107, 71, 107, 107, 74, 75,
- 76, 55, 56, 57, 58, 81, 107, 107, 84, 85,
- 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
- 68, 107, 107, 71, 107, 107, 74, 75, 76, 1,
- 107, 3, 107, 81, 107, 107, 84, 85, 107, 107,
- 107, 89, 90, 91, 107, 93, 66, 107, 68, 107,
- 107, 71, 107, 107, 74, 75, 76, 107, 107, 107,
- 107, 81, 107, 107, 84, 85, 107, 39, 40, 89,
- 90, 91, 66, 93, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 55, 56, 57, 58, 81, 107, 107,
- 84, 85, 107, 1, 107, 89, 90, 91, 107, 93,
- 66, 107, 68, 107, 107, 71, 107, 15, 74, 75,
- 76, 19, 107, 107, 107, 81, 107, 107, 84, 85,
- 28, 107, 107, 89, 90, 91, 34, 93, 66, 37,
- 68, 107, 107, 71, 107, 107, 74, 75, 76, 107,
- 48, 107, 107, 81, 107, 107, 84, 85, 107, 107,
- 107, 89, 90, 91, 66, 93, 68, 107, 107, 71,
- 107, 107, 74, 75, 76, 107, 107, 107, 107, 81,
- 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
- 107, 93, 66, 107, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
- 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
- 66, 107, 68, 107, 107, 71, 107, 107, 74, 75,
- 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
- 107, 107, 107, 89, 90, 91, 66, 93, 68, 107,
- 107, 71, 107, 107, 74, 75, 76, 107, 107, 107,
- 107, 81, 107, 107, 84, 85, 107, 107, 107, 89,
- 90, 91, 107, 93, 66, 107, 68, 107, 107, 71,
- 107, 107, 74, 75, 76, 107, 107, 107, 107, 81,
- 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
- 107, 93, 66, 107, 68, 107, 107, 71, 107, 107,
- 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
- 84, 85, 1, 2, 3, 89, 90, 91, 66, 93,
- 68, 107, 107, 71, 107, 107, 74, 75, 76, 107,
- 107, 107, 107, 81, 107, 107, 84, 85, 1, 107,
- 3, 89, 90, 91, 107, 93, 107, 107, 37, 107,
- 39, 40, 107, 107, 107, 66, 107, 68, 107, 48,
- 71, 107, 107, 74, 75, 28, 55, 56, 57, 58,
- 81, 34, 107, 107, 85, 107, 39, 40, 89, 90,
- 91, 66, 93, 68, 107, 1, 71, 3, 107, 74,
- 75, 107, 55, 56, 57, 58, 81, 107, 107, 107,
- 85, 107, 107, 107, 89, 90, 91, 107, 93, 107,
- 26, 107, 28, 2, 107, 107, 107, 107, 34, 107,
- 107, 107, 11, 39, 40, 14, 107, 107, 107, 18,
- 19, 107, 107, 107, 107, 107, 107, 107, 107, 55,
- 56, 57, 58, 107, 107, 66, 107, 68, 107, 107,
- 71, 107, 107, 74, 75, 107, 45, 107, 107, 48,
- 81, 50, 2, 52, 53, 107, 107, 107, 89, 90,
- 91, 11, 93, 2, 14, 107, 107, 17, 18, 19,
- 107, 107, 11, 107, 107, 14, 107, 73, 17, 18,
- 19, 77, 107, 107, 107, 107, 107, 83, 107, 107,
- 86, 87, 88, 107, 107, 45, 107, 107, 48, 66,
- 50, 68, 52, 107, 71, 101, 45, 74, 75, 48,
- 66, 50, 68, 52, 81, 71, 107, 107, 74, 75,
- 107, 107, 89, 90, 91, 81, 93, 107, 107, 107,
- 107, 107, 107, 89, 90, 91, 66, 93, 68, 107,
- 107, 71, 107, 107, 74, 75, 107, 66, 107, 68,
- 107, 81, 71, 107, 107, 74, 75, 107, 107, 89,
- 90, 91, 81, 93, 1, 107, 3, 107, 107, 107,
- 89, 90, 91, 66, 93, 68, 107, 1, 71, 3,
- 107, 74, 75, 107, 107, 107, 23, 107, 81, 107,
- 1, 15, 3, 107, 107, 107, 89, 90, 91, 1,
- 93, 3, 39, 40, 15, 107, 107, 107, 107, 107,
- 107, 107, 107, 15, 107, 39, 40, 107, 55, 56,
- 57, 58, 107, 107, 107, 107, 107, 107, 39, 40,
- 107, 55, 56, 57, 58, 107, 107, 39, 40, 107,
- 107, 107, 107, 107, 55, 56, 57, 58, 2, 1,
- 107, 3, 107, 55, 56, 57, 58, 11, 107, 107,
- 14, 107, 107, 15, 18, 19, 2, 107, 107, 107,
- 107, 107, 107, 107, 107, 11, 107, 107, 14, 107,
- 107, 107, 18, 19, 1, 107, 3, 39, 40, 107,
- 107, 45, 107, 1, 48, 3, 50, 107, 52, 107,
- 107, 107, 107, 55, 56, 57, 58, 15, 107, 45,
- 107, 107, 48, 107, 50, 107, 52, 11, 107, 107,
- 14, 107, 39, 40, 18, 19, 107, 107, 107, 107,
- 107, 39, 40, 107, 107, 107, 53, 107, 55, 56,
- 57, 58, 107, 107, 107, 107, 107, 55, 56, 57,
- 58, 45, 107, 107, 48, 107, 50, 73, 52, 107,
- 107, 77, 107, 107, 107, 107, 107, 83, 107, 107,
- 86, 87, 88, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 101,
- );
-
- public static $yy_shift_ofst = array(
- -23, 399, 399, 449, 49, 49, 449, 349, 49, 49,
- 349, -3, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 149, 199, 299, 49, 149, 49, 49,
- 49, 49, 49, 49, 249, 49, 99, 99, 499, 499,
- 499, 499, 499, 499, 1664, 1617, 1617, 1144, 1982, 1973,
- 1938, 1226, 1853, 1062, 980, 1879, 898, 1866, 1888, 1308,
- 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
- 1308, 1308, 520, 520, 533, 731, 1372, 171, 255, 129,
- 708, 595, 9, 154, 129, 255, 308, 129, 255, 537,
- 559, 1751, 244, 344, 511, 221, 294, 411, 40, 411,
- -22, 438, 438, 436, 387, 427, 319, 355, -22, -22,
- 420, 609, 232, 232, 232, 609, 232, 232, 232, 232,
- -23, -23, -23, -23, 1740, 1691, 1954, 1936, 1996, 81,
- 687, 461, 212, -22, 31, -14, -14, -22, 288, -14,
- 288, -14, -22, 31, -22, -14, -14, -22, -22, 351,
- -22, -22, -14, -22, -22, -22, -22, -22, -14, 210,
- 232, 609, 232, 395, 609, 232, 609, 232, 395, 92,
- 232, -23, -23, -23, -23, -23, -23, 1591, 30, -12,
- 94, 144, 342, 596, 179, 103, 194, 454, 230, 152,
- 269, 301, 318, 127, 282, -8, 205, 361, 378, 421,
- 68, 467, 556, 606, 571, 598, 587, 586, 610, 549,
- 572, 574, 570, 532, 530, 553, 298, 523, 544, 510,
- 92, 534, 529, 519, 517, 496, 442, 481,
- );
-
- public static $yy_reduce_ofst = array(
- 492, 527, 564, 592, 618, 703, 736, 768, 794, 822,
- 850, 1068, 1096, 1122, 1150, 1286, 1204, 1232, 1260, 1040,
- 1314, 1532, 1478, 1506, 1342, 1450, 1424, 1396, 1368, 1178,
- 1014, 986, 932, 904, 876, 958, 1595, 1569, 1771, 1659,
- 1760, 1734, 1723, 1797, 712, 1694, 1974, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 114, -33, 372, -67, 6, 76,
- 71, 233, 241, 190, 226, 4, 307, 276, 326, 172,
- 429, 389, -23, -23, 339, 428, -23, 410, 390, 339,
- 391, 386, 348, -23, 222, -23, 293, 155, 441, 445,
- 390, 459, -23, -23, -23, 390, -23, -23, -23, 439,
- -23, -23, 359, -23, 550, 550, 550, 550, 550, 545,
- 555, 550, 550, 554, 566, 539, 539, 554, 547, 539,
- 548, 539, 554, 546, 554, 539, 539, 554, 554, 563,
- 554, 554, 539, 554, 554, 554, 554, 554, 539, 558,
- 78, 320, 78, 522, 320, 78, 320, 78, 522, 196,
- 78, 51, -61, -20, -4, 109, 132,
- );
-
- public static $yyExpectedTokens = array(
- array(),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(
- 3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 53, 54, 59,
- ),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 52, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 54, 59,),
- array(3, 11, 12, 13, 14, 16, 18, 20, 21, 22, 27, 31, 32, 33, 35, 37, 42, 43, 44, 45, 47, 49, 51, 54, 59,),
- array(1, 3, 26, 28, 34, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 28, 34, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 28, 34, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 29, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 15, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 53, 55, 56, 57, 58,),
- array(1, 3, 15, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 38, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 23, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 38, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58, 60,),
- array(1, 3, 15, 39, 40, 55, 56, 57, 58,),
- array(1, 2, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 15, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 15, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(1, 3, 39, 40, 55, 56, 57, 58,),
- array(3, 39, 40, 55, 56, 57, 58,),
- array(3, 39, 40, 55, 56, 57, 58,),
- array(16, 18, 49, 51, 54,),
- array(5, 11, 12, 13, 14, 16, 20, 21, 22, 27, 31, 32, 33, 59, 60,),
- array(1, 15, 19, 28, 34, 37, 48,),
- array(16, 18, 51, 54,),
- array(1, 28, 34,),
- array(16, 37, 54,),
- array(5, 11, 12, 13, 14, 16, 20, 21, 22, 27, 31, 32, 33, 59, 60,),
- array(11, 14, 18, 28, 30, 34,),
- array(11, 14, 18, 28, 34,),
- array(19, 45, 52,),
- array(16, 37, 54,),
- array(1, 28, 34,),
- array(17, 19, 48,),
- array(16, 37, 54,),
- array(1, 28, 34,),
- array(1, 2,),
- array(4, 5, 6, 7, 8, 11, 12, 13, 14, 20, 21, 22, 27, 31, 32, 33,),
- array(2, 11, 14, 17, 18, 19, 45, 48, 50, 52,),
- array(1, 15, 28, 34,),
- array(1, 15, 28, 34,),
- array(11, 14, 18, 50,),
- array(14, 16, 18, 54,),
- array(1, 15, 28, 34,),
- array(11, 14, 18,),
- array(17, 19, 48,),
- array(11, 14, 18,),
- array(28, 34,),
- array(16, 18,),
- array(16, 18,),
- array(1, 53,),
- array(1, 19,),
- array(1, 30,),
- array(16, 54,),
- array(28, 34,),
- array(28, 34,),
- array(28, 34,),
- array(19, 48,),
- array(19,),
- array(1,),
- array(1,),
- array(1,),
- array(19,),
- array(1,),
- array(1,),
- array(1,),
- array(1,),
- array(),
- array(),
- array(),
- array(),
- array(2, 11, 14, 17, 18, 19, 45, 48, 50, 52,),
- array(2, 11, 14, 18, 19, 45, 48, 50, 52, 53,),
- array(2, 11, 14, 18, 19, 45, 48, 50, 52,),
- array(2, 11, 14, 18, 19, 45, 48, 50, 52,),
- array(11, 14, 18, 19, 45, 48, 50, 52,),
- array(14, 16, 18, 35, 54,),
- array(11, 14, 18, 50,),
- array(11, 14, 18,),
- array(17, 45, 52,),
- array(28, 34,),
- array(16, 54,),
- array(45, 52,),
- array(45, 52,),
- array(28, 34,),
- array(45, 52,),
- array(45, 52,),
- array(45, 52,),
- array(45, 52,),
- array(28, 34,),
- array(16, 54,),
- array(28, 34,),
- array(45, 52,),
- array(45, 52,),
- array(28, 34,),
- array(28, 34,),
- array(17, 24,),
- array(28, 34,),
- array(28, 34,),
- array(45, 52,),
- array(28, 34,),
- array(28, 34,),
- array(28, 34,),
- array(28, 34,),
- array(28, 34,),
- array(45, 52,),
- array(14, 37,),
- array(1,),
- array(19,),
- array(1,),
- array(2,),
- array(19,),
- array(1,),
- array(19,),
- array(1,),
- array(2,),
- array(37,),
- array(1,),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(1, 2, 3, 37, 39, 40, 48, 55, 56, 57, 58,),
- array(15, 23, 25, 28, 34, 36, 38, 45,),
- array(15, 17, 28, 34, 37, 48,),
- array(15, 24, 28, 34, 46,),
- array(15, 24, 28, 34, 46,),
- array(37, 45, 48, 53,),
- array(11, 14, 18, 50,),
- array(30, 37, 48,),
- array(24, 46, 53,),
- array(24, 46, 60,),
- array(36, 53,),
- array(36, 38,),
- array(45, 53,),
- array(8, 10,),
- array(37, 48,),
- array(37, 48,),
- array(37, 48,),
- array(23, 36,),
- array(9, 10,),
- array(18, 50,),
- array(24, 46,),
- array(36, 38,),
- array(17, 45,),
- array(36, 38,),
- array(38,),
- array(18,),
- array(15,),
- array(51,),
- array(17,),
- array(18,),
- array(18,),
- array(9,),
- array(51,),
- array(25,),
- array(15,),
- array(18,),
- array(53,),
- array(53,),
- array(16,),
- array(41,),
- array(45,),
- array(18,),
- array(35,),
- array(37,),
- array(18,),
- array(18,),
- array(18,),
- array(18,),
- array(37,),
- array(35,),
- array(18,),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- array(),
- );
-
- public static $yy_default = array(
- 334, 509, 509, 494, 509, 473, 509, 509, 473, 473,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 509, 509, 509, 375, 354, 375, 380, 509, 509,
- 347, 509, 509, 509, 509, 509, 509, 509, 509, 397,
- 472, 347, 471, 387, 497, 495, 382, 386, 359, 377,
- 380, 496, 402, 401, 509, 509, 413, 509, 375, 509,
- 509, 375, 375, 485, 509, 375, 428, 509, 375, 366,
- 323, 427, 389, 389, 438, 509, 389, 438, 428, 438,
- 375, 509, 509, 389, 369, 389, 509, 375, 375, 356,
- 428, 482, 405, 389, 406, 428, 396, 392, 400, 371,
- 480, 404, 332, 393, 427, 427, 427, 427, 427, 509,
- 440, 438, 454, 355, 509, 436, 434, 365, 433, 432,
- 431, 465, 364, 509, 363, 466, 463, 362, 352, 509,
- 351, 357, 435, 344, 350, 358, 361, 348, 464, 438,
- 422, 460, 367, 474, 486, 372, 483, 395, 475, 438,
- 370, 479, 479, 438, 438, 332, 479, 413, 409, 413,
- 403, 403, 413, 439, 413, 403, 403, 509, 509, 409,
- 330, 423, 509, 413, 509, 509, 509, 403, 509, 409,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 383, 509, 509, 418, 509, 509, 415, 409, 509, 509,
- 454, 509, 509, 509, 509, 484, 411, 509, 324, 426,
- 415, 360, 442, 487, 444, 336, 443, 337, 488, 376,
- 489, 490, 452, 481, 459, 454, 410, 441, 328, 419,
- 325, 326, 437, 420, 477, 327, 476, 398, 399, 414,
- 335, 421, 388, 424, 412, 451, 329, 331, 449, 333,
- 384, 469, 500, 468, 491, 505, 343, 416, 417, 506,
- 374, 391, 492, 493, 498, 341, 373, 418, 425, 353,
- 501, 508, 507, 504, 502, 499, 461, 390, 368, 408,
- 338, 503, 478, 453, 447, 446, 429, 445, 430, 448,
- 450, 342, 462, 339, 340, 455, 470, 458, 457, 407,
- 467, 456, 394,
- );
-
- public static $yyFallback = array();
-
- public static $yyRuleName = array(
- 'start ::= template',
- 'template ::= template PHP',
- 'template ::= template TEXT',
- 'template ::= template STRIPON',
- 'template ::= template STRIPOFF',
- 'template ::= template LITERALSTART literal_e2 LITERALEND',
- 'literal_e2 ::= literal_e1 LITERALSTART literal_e1 LITERALEND',
- 'literal_e2 ::= literal_e1',
- 'literal_e1 ::= literal_e1 LITERAL',
- 'literal_e1 ::=',
- 'template ::= template smartytag',
- 'template ::=',
- 'smartytag ::= SIMPELOUTPUT',
- 'smartytag ::= SIMPLETAG',
- 'smartytag ::= SMARTYBLOCKCHILDPARENT',
- 'smartytag ::= LDEL tagbody RDEL',
- 'smartytag ::= tag RDEL',
- 'tagbody ::= outattr',
- 'tagbody ::= DOLLARID eqoutattr',
- 'tagbody ::= varindexed eqoutattr',
- 'eqoutattr ::= EQUAL outattr',
- 'outattr ::= output attributes',
- 'output ::= variable',
- 'output ::= value',
- 'output ::= expr',
- 'tag ::= LDEL ID attributes',
- 'tag ::= LDEL ID',
- 'tag ::= LDEL ID modifierlist attributes',
- 'tag ::= LDEL ID PTR ID attributes',
- 'tag ::= LDEL ID PTR ID modifierlist attributes',
- 'tag ::= LDELMAKENOCACHE DOLLARID',
- 'tag ::= LDELIF expr',
- 'tag ::= LDELIF expr attributes',
- 'tag ::= LDELIF statement',
- 'tag ::= LDELIF statement attributes',
- 'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
- 'foraction ::= EQUAL expr',
- 'foraction ::= INCDEC',
- 'tag ::= LDELFOR statement TO expr attributes',
- 'tag ::= LDELFOR statement TO expr STEP expr attributes',
- 'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
- 'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
- 'tag ::= LDELFOREACH attributes',
- 'tag ::= LDELSETFILTER ID modparameters',
- 'tag ::= LDELSETFILTER ID modparameters modifierlist',
- 'smartytag ::= CLOSETAG',
- 'tag ::= LDELSLASH ID',
- 'tag ::= LDELSLASH ID modifierlist',
- 'tag ::= LDELSLASH ID PTR ID',
- 'tag ::= LDELSLASH ID PTR ID modifierlist',
- 'attributes ::= attributes attribute',
- 'attributes ::= attribute',
- 'attributes ::=',
- 'attribute ::= SPACE ID EQUAL ID',
- 'attribute ::= ATTR expr',
- 'attribute ::= ATTR value',
- 'attribute ::= SPACE ID',
- 'attribute ::= SPACE expr',
- 'attribute ::= SPACE value',
- 'attribute ::= SPACE INTEGER EQUAL expr',
- 'statements ::= statement',
- 'statements ::= statements COMMA statement',
- 'statement ::= DOLLARID EQUAL INTEGER',
- 'statement ::= DOLLARID EQUAL expr',
- 'statement ::= varindexed EQUAL expr',
- 'statement ::= OPENP statement CLOSEP',
- 'expr ::= value',
- 'expr ::= ternary',
- 'expr ::= DOLLARID COLON ID',
- 'expr ::= expr MATH value',
- 'expr ::= expr UNIMATH value',
- 'expr ::= array',
- 'expr ::= expr modifierlist',
- 'expr ::= expr tlop value',
- 'expr ::= expr lop expr',
- 'expr ::= expr scond',
- 'expr ::= expr ISIN array',
- 'expr ::= expr ISIN value',
- 'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
- 'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr',
- 'value ::= variable',
- 'value ::= UNIMATH value',
- 'value ::= NOT value',
- 'value ::= TYPECAST value',
- 'value ::= variable INCDEC',
- 'value ::= HEX',
- 'value ::= INTEGER',
- 'value ::= INTEGER DOT INTEGER',
- 'value ::= INTEGER DOT',
- 'value ::= DOT INTEGER',
- 'value ::= ID',
- 'value ::= function',
- 'value ::= OPENP expr CLOSEP',
- 'value ::= variable INSTANCEOF ns1',
- 'value ::= variable INSTANCEOF variable',
- 'value ::= SINGLEQUOTESTRING',
- 'value ::= doublequoted_with_quotes',
- 'value ::= varindexed DOUBLECOLON static_class_access',
- 'value ::= smartytag',
- 'value ::= value modifierlist',
- 'value ::= NAMESPACE',
- 'value ::= ns1 DOUBLECOLON static_class_access',
- 'ns1 ::= ID',
- 'ns1 ::= NAMESPACE',
- 'variable ::= DOLLARID',
- 'variable ::= varindexed',
- 'variable ::= varvar AT ID',
- 'variable ::= object',
- 'variable ::= HATCH ID HATCH',
- 'variable ::= HATCH ID HATCH arrayindex',
- 'variable ::= HATCH variable HATCH',
- 'variable ::= HATCH variable HATCH arrayindex',
- 'varindexed ::= DOLLARID arrayindex',
- 'varindexed ::= varvar arrayindex',
- 'arrayindex ::= arrayindex indexdef',
- 'arrayindex ::=',
- 'indexdef ::= DOT DOLLARID',
- 'indexdef ::= DOT varvar',
- 'indexdef ::= DOT varvar AT ID',
- 'indexdef ::= DOT ID',
- 'indexdef ::= DOT INTEGER',
- 'indexdef ::= DOT LDEL expr RDEL',
- 'indexdef ::= OPENB ID CLOSEB',
- 'indexdef ::= OPENB ID DOT ID CLOSEB',
- 'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
- 'indexdef ::= OPENB INTEGER CLOSEB',
- 'indexdef ::= OPENB DOLLARID CLOSEB',
- 'indexdef ::= OPENB variable CLOSEB',
- 'indexdef ::= OPENB value CLOSEB',
- 'indexdef ::= OPENB expr CLOSEB',
- 'indexdef ::= OPENB CLOSEB',
- 'varvar ::= DOLLARID',
- 'varvar ::= DOLLAR',
- 'varvar ::= varvar varvarele',
- 'varvarele ::= ID',
- 'varvarele ::= SIMPELOUTPUT',
- 'varvarele ::= LDEL expr RDEL',
- 'object ::= varindexed objectchain',
- 'objectchain ::= objectelement',
- 'objectchain ::= objectchain objectelement',
- 'objectelement ::= PTR ID arrayindex',
- 'objectelement ::= PTR varvar arrayindex',
- 'objectelement ::= PTR LDEL expr RDEL arrayindex',
- 'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
- 'objectelement ::= PTR method',
- 'function ::= ns1 OPENP params CLOSEP',
- 'method ::= ID OPENP params CLOSEP',
- 'method ::= DOLLARID OPENP params CLOSEP',
- 'params ::= params COMMA expr',
- 'params ::= expr',
- 'params ::=',
- 'modifierlist ::= modifierlist modifier modparameters',
- 'modifierlist ::= modifier modparameters',
- 'modifier ::= VERT AT ID',
- 'modifier ::= VERT ID',
- 'modparameters ::= modparameters modparameter',
- 'modparameters ::=',
- 'modparameter ::= COLON value',
- 'modparameter ::= COLON array',
- 'static_class_access ::= method',
- 'static_class_access ::= method objectchain',
- 'static_class_access ::= ID',
- 'static_class_access ::= DOLLARID arrayindex',
- 'static_class_access ::= DOLLARID arrayindex objectchain',
- 'lop ::= LOGOP',
- 'lop ::= SLOGOP',
- 'tlop ::= TLOGOP',
- 'scond ::= SINGLECOND',
- 'array ::= OPENB arrayelements CLOSEB',
- 'arrayelements ::= arrayelement',
- 'arrayelements ::= arrayelements COMMA arrayelement',
- 'arrayelements ::=',
- 'arrayelement ::= value APTR expr',
- 'arrayelement ::= ID APTR expr',
- 'arrayelement ::= expr',
- 'doublequoted_with_quotes ::= QUOTE QUOTE',
- 'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
- 'doublequoted ::= doublequoted doublequotedcontent',
- 'doublequoted ::= doublequotedcontent',
- 'doublequotedcontent ::= BACKTICK variable BACKTICK',
- 'doublequotedcontent ::= BACKTICK expr BACKTICK',
- 'doublequotedcontent ::= DOLLARID',
- 'doublequotedcontent ::= LDEL variable RDEL',
- 'doublequotedcontent ::= LDEL expr RDEL',
- 'doublequotedcontent ::= smartytag',
- 'doublequotedcontent ::= TEXT',
- );
-
- public static $yyRuleInfo = array(
- array(0 => 62, 1 => 1),
- array(0 => 63, 1 => 2),
- array(0 => 63, 1 => 2),
- array(0 => 63, 1 => 2),
- array(0 => 63, 1 => 2),
- array(0 => 63, 1 => 4),
- array(0 => 64, 1 => 4),
- array(0 => 64, 1 => 1),
- array(0 => 65, 1 => 2),
- array(0 => 65, 1 => 0),
- array(0 => 63, 1 => 2),
- array(0 => 63, 1 => 0),
- array(0 => 66, 1 => 1),
- array(0 => 66, 1 => 1),
- array(0 => 66, 1 => 1),
- array(0 => 66, 1 => 3),
- array(0 => 66, 1 => 2),
- array(0 => 67, 1 => 1),
- array(0 => 67, 1 => 2),
- array(0 => 67, 1 => 2),
- array(0 => 70, 1 => 2),
- array(0 => 69, 1 => 2),
- array(0 => 72, 1 => 1),
- array(0 => 72, 1 => 1),
- array(0 => 72, 1 => 1),
- array(0 => 68, 1 => 3),
- array(0 => 68, 1 => 2),
- array(0 => 68, 1 => 4),
- array(0 => 68, 1 => 5),
- array(0 => 68, 1 => 6),
- array(0 => 68, 1 => 2),
- array(0 => 68, 1 => 2),
- array(0 => 68, 1 => 3),
- array(0 => 68, 1 => 2),
- array(0 => 68, 1 => 3),
- array(0 => 68, 1 => 8),
- array(0 => 80, 1 => 2),
- array(0 => 80, 1 => 1),
- array(0 => 68, 1 => 5),
- array(0 => 68, 1 => 7),
- array(0 => 68, 1 => 6),
- array(0 => 68, 1 => 8),
- array(0 => 68, 1 => 2),
- array(0 => 68, 1 => 3),
- array(0 => 68, 1 => 4),
- array(0 => 66, 1 => 1),
- array(0 => 68, 1 => 2),
- array(0 => 68, 1 => 3),
- array(0 => 68, 1 => 4),
- array(0 => 68, 1 => 5),
- array(0 => 73, 1 => 2),
- array(0 => 73, 1 => 1),
- array(0 => 73, 1 => 0),
- array(0 => 83, 1 => 4),
- array(0 => 83, 1 => 2),
- array(0 => 83, 1 => 2),
- array(0 => 83, 1 => 2),
- array(0 => 83, 1 => 2),
- array(0 => 83, 1 => 2),
- array(0 => 83, 1 => 4),
- array(0 => 79, 1 => 1),
- array(0 => 79, 1 => 3),
- array(0 => 78, 1 => 3),
- array(0 => 78, 1 => 3),
- array(0 => 78, 1 => 3),
- array(0 => 78, 1 => 3),
- array(0 => 76, 1 => 1),
- array(0 => 76, 1 => 1),
- array(0 => 76, 1 => 3),
- array(0 => 76, 1 => 3),
- array(0 => 76, 1 => 3),
- array(0 => 76, 1 => 1),
- array(0 => 76, 1 => 2),
- array(0 => 76, 1 => 3),
- array(0 => 76, 1 => 3),
- array(0 => 76, 1 => 2),
- array(0 => 76, 1 => 3),
- array(0 => 76, 1 => 3),
- array(0 => 84, 1 => 7),
- array(0 => 84, 1 => 7),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 3),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 3),
- array(0 => 75, 1 => 3),
- array(0 => 75, 1 => 3),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 3),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 2),
- array(0 => 75, 1 => 1),
- array(0 => 75, 1 => 3),
- array(0 => 90, 1 => 1),
- array(0 => 90, 1 => 1),
- array(0 => 74, 1 => 1),
- array(0 => 74, 1 => 1),
- array(0 => 74, 1 => 3),
- array(0 => 74, 1 => 1),
- array(0 => 74, 1 => 3),
- array(0 => 74, 1 => 4),
- array(0 => 74, 1 => 3),
- array(0 => 74, 1 => 4),
- array(0 => 71, 1 => 2),
- array(0 => 71, 1 => 2),
- array(0 => 94, 1 => 2),
- array(0 => 94, 1 => 0),
- array(0 => 95, 1 => 2),
- array(0 => 95, 1 => 2),
- array(0 => 95, 1 => 4),
- array(0 => 95, 1 => 2),
- array(0 => 95, 1 => 2),
- array(0 => 95, 1 => 4),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 5),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 3),
- array(0 => 95, 1 => 2),
- array(0 => 81, 1 => 1),
- array(0 => 81, 1 => 1),
- array(0 => 81, 1 => 2),
- array(0 => 96, 1 => 1),
- array(0 => 96, 1 => 1),
- array(0 => 96, 1 => 3),
- array(0 => 93, 1 => 2),
- array(0 => 97, 1 => 1),
- array(0 => 97, 1 => 2),
- array(0 => 98, 1 => 3),
- array(0 => 98, 1 => 3),
- array(0 => 98, 1 => 5),
- array(0 => 98, 1 => 6),
- array(0 => 98, 1 => 2),
- array(0 => 89, 1 => 4),
- array(0 => 99, 1 => 4),
- array(0 => 99, 1 => 4),
- array(0 => 100, 1 => 3),
- array(0 => 100, 1 => 1),
- array(0 => 100, 1 => 0),
- array(0 => 77, 1 => 3),
- array(0 => 77, 1 => 2),
- array(0 => 101, 1 => 3),
- array(0 => 101, 1 => 2),
- array(0 => 82, 1 => 2),
- array(0 => 82, 1 => 0),
- array(0 => 102, 1 => 2),
- array(0 => 102, 1 => 2),
- array(0 => 92, 1 => 1),
- array(0 => 92, 1 => 2),
- array(0 => 92, 1 => 1),
- array(0 => 92, 1 => 2),
- array(0 => 92, 1 => 3),
- array(0 => 87, 1 => 1),
- array(0 => 87, 1 => 1),
- array(0 => 86, 1 => 1),
- array(0 => 88, 1 => 1),
- array(0 => 85, 1 => 3),
- array(0 => 103, 1 => 1),
- array(0 => 103, 1 => 3),
- array(0 => 103, 1 => 0),
- array(0 => 104, 1 => 3),
- array(0 => 104, 1 => 3),
- array(0 => 104, 1 => 1),
- array(0 => 91, 1 => 2),
- array(0 => 91, 1 => 3),
- array(0 => 105, 1 => 2),
- array(0 => 105, 1 => 1),
- array(0 => 106, 1 => 3),
- array(0 => 106, 1 => 3),
- array(0 => 106, 1 => 1),
- array(0 => 106, 1 => 3),
- array(0 => 106, 1 => 3),
- array(0 => 106, 1 => 1),
- array(0 => 106, 1 => 1),
- );
-
- public static $yyReduceMap = array(
- 0 => 0,
- 1 => 1,
- 2 => 2,
- 3 => 3,
- 4 => 4,
- 5 => 5,
- 6 => 6,
- 7 => 7,
- 22 => 7,
- 23 => 7,
- 24 => 7,
- 37 => 7,
- 57 => 7,
- 58 => 7,
- 66 => 7,
- 67 => 7,
- 71 => 7,
- 80 => 7,
- 85 => 7,
- 86 => 7,
- 91 => 7,
- 95 => 7,
- 96 => 7,
- 100 => 7,
- 102 => 7,
- 107 => 7,
- 169 => 7,
- 174 => 7,
- 8 => 8,
- 9 => 9,
- 10 => 10,
- 12 => 12,
- 13 => 13,
- 14 => 14,
- 15 => 15,
- 16 => 16,
- 17 => 17,
- 18 => 18,
- 19 => 19,
- 20 => 20,
- 21 => 21,
- 25 => 25,
- 26 => 26,
- 27 => 27,
- 28 => 28,
- 29 => 29,
- 30 => 30,
- 31 => 31,
- 32 => 32,
- 34 => 32,
- 33 => 33,
- 35 => 35,
- 36 => 36,
- 38 => 38,
- 39 => 39,
- 40 => 40,
- 41 => 41,
- 42 => 42,
- 43 => 43,
- 44 => 44,
- 45 => 45,
- 46 => 46,
- 47 => 47,
- 48 => 48,
- 49 => 49,
- 50 => 50,
- 51 => 51,
- 60 => 51,
- 149 => 51,
- 153 => 51,
- 157 => 51,
- 158 => 51,
- 52 => 52,
- 150 => 52,
- 156 => 52,
- 53 => 53,
- 54 => 54,
- 55 => 54,
- 56 => 56,
- 134 => 56,
- 59 => 59,
- 61 => 61,
- 62 => 62,
- 63 => 62,
- 64 => 64,
- 65 => 65,
- 68 => 68,
- 69 => 69,
- 70 => 69,
- 72 => 72,
- 99 => 72,
- 73 => 73,
- 74 => 74,
- 75 => 75,
- 76 => 76,
- 77 => 77,
- 78 => 78,
- 79 => 79,
- 81 => 81,
- 83 => 81,
- 84 => 81,
- 114 => 81,
- 82 => 82,
- 87 => 87,
- 88 => 88,
- 89 => 89,
- 90 => 90,
- 92 => 92,
- 93 => 93,
- 94 => 93,
- 97 => 97,
- 98 => 98,
- 101 => 101,
- 103 => 103,
- 104 => 104,
- 105 => 105,
- 106 => 106,
- 108 => 108,
- 109 => 109,
- 110 => 110,
- 111 => 111,
- 112 => 112,
- 113 => 113,
- 115 => 115,
- 171 => 115,
- 116 => 116,
- 117 => 117,
- 118 => 118,
- 119 => 119,
- 120 => 120,
- 121 => 121,
- 129 => 121,
- 122 => 122,
- 123 => 123,
- 124 => 124,
- 125 => 124,
- 127 => 124,
- 128 => 124,
- 126 => 126,
- 130 => 130,
- 131 => 131,
- 132 => 132,
- 175 => 132,
- 133 => 133,
- 135 => 135,
- 136 => 136,
- 137 => 137,
- 138 => 138,
- 139 => 139,
- 140 => 140,
- 141 => 141,
- 142 => 142,
- 143 => 143,
- 144 => 144,
- 145 => 145,
- 146 => 146,
- 147 => 147,
- 148 => 148,
- 151 => 151,
- 152 => 152,
- 154 => 154,
- 155 => 155,
- 159 => 159,
- 160 => 160,
- 161 => 161,
- 162 => 162,
- 163 => 163,
- 164 => 164,
- 165 => 165,
- 166 => 166,
- 167 => 167,
- 168 => 168,
- 170 => 170,
- 172 => 172,
- 173 => 173,
- 176 => 176,
- 177 => 177,
- 178 => 178,
- 179 => 179,
- 182 => 179,
- 180 => 180,
- 183 => 180,
- 181 => 181,
- 184 => 184,
- 185 => 185,
- );
-
- /**
- * result status
- *
- * @var bool
- */
- public $successful = true;
-
- /**
- * return value
- *
- * @var mixed
- */
- public $retvalue = 0;
-
- /**
- * @var
- */
- public $yymajor;
-
- /**
- * last index of array variable
- *
- * @var mixed
- */
- public $last_index;
-
- /**
- * last variable name
- *
- * @var string
- */
- public $last_variable;
-
- /**
- * root parse tree buffer
- *
- * @var Smarty_Internal_ParseTree_Template
- */
- public $root_buffer;
-
- /**
- * current parse tree object
- *
- * @var Smarty_Internal_ParseTree
- */
- public $current_buffer;
-
- /**
- * lexer object
- *
- * @var Smarty_Internal_Templatelexer
- */
- public $lex;
-
- /**
- * {strip} status
- *
- * @var bool
- */
- public $strip = false;
-
- /**
- * compiler object
- *
- * @var Smarty_Internal_TemplateCompilerBase
- */
- public $compiler = null;
-
- /**
- * smarty object
- *
- * @var Smarty
- */
- public $smarty = null;
-
- /**
- * template object
- *
- * @var Smarty_Internal_Template
- */
- public $template = null;
-
- /**
- * block nesting level
- *
- * @var int
- */
- public $block_nesting_level = 0;
-
- /**
- * security object
- *
- * @var Smarty_Security
- */
- public $security = null;
-
- /**
- * template prefix array
- *
- * @var \Smarty_Internal_ParseTree[]
- */
- public $template_prefix = array();
-
- /**
- * template prefix array
- *
- * @var \Smarty_Internal_ParseTree[]
- */
- public $template_postfix = array();
-
- public $yyTraceFILE;
-
- public $yyTracePrompt;
-
- public $yyidx;
-
- public $yyerrcnt;
-
- public $yystack = array();
-
- public $yyTokenName = array(
- '$', 'VERT', 'COLON', 'UNIMATH',
- 'PHP', 'TEXT', 'STRIPON', 'STRIPOFF',
- 'LITERALSTART', 'LITERALEND', 'LITERAL', 'SIMPELOUTPUT',
- 'SIMPLETAG', 'SMARTYBLOCKCHILDPARENT', 'LDEL', 'RDEL',
- 'DOLLARID', 'EQUAL', 'ID', 'PTR',
- 'LDELMAKENOCACHE', 'LDELIF', 'LDELFOR', 'SEMICOLON',
- 'INCDEC', 'TO', 'STEP', 'LDELFOREACH',
- 'SPACE', 'AS', 'APTR', 'LDELSETFILTER',
- 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER',
- 'COMMA', 'OPENP', 'CLOSEP', 'MATH',
- 'ISIN', 'QMARK', 'NOT', 'TYPECAST',
- 'HEX', 'DOT', 'INSTANCEOF', 'SINGLEQUOTESTRING',
- 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH',
- 'OPENB', 'CLOSEB', 'DOLLAR', 'LOGOP',
- 'SLOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE',
- 'BACKTICK', 'error', 'start', 'template',
- 'literal_e2', 'literal_e1', 'smartytag', 'tagbody',
- 'tag', 'outattr', 'eqoutattr', 'varindexed',
- 'output', 'attributes', 'variable', 'value',
- 'expr', 'modifierlist', 'statement', 'statements',
- 'foraction', 'varvar', 'modparameters', 'attribute',
- 'ternary', 'array', 'tlop', 'lop',
- 'scond', 'function', 'ns1', 'doublequoted_with_quotes',
- 'static_class_access', 'object', 'arrayindex', 'indexdef',
- 'varvarele', 'objectchain', 'objectelement', 'method',
- 'params', 'modifier', 'modparameter', 'arrayelements',
- 'arrayelement', 'doublequoted', 'doublequotedcontent',
- );
-
- /**
- * internal error flag
- *
- * @var bool
- */
- private $internalError = false; /* Index of top element in stack */
- private $_retvalue; /* Shifts left before out of the error */
- /**
- * constructor
- *
- * @param Smarty_Internal_Templatelexer $lex
- * @param Smarty_Internal_TemplateCompilerBase $compiler
- */
- public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
- {
- $this->lex = $lex;
- $this->compiler = $compiler;
- $this->template = $this->compiler->template;
- $this->smarty = $this->template->smarty;
- $this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
- $this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
- } /* The parser's stack */
- public static function yy_destructor($yymajor, $yypminor)
- {
- switch ($yymajor) {
- default:
- break; /* If no destructor action specified: do nothing */
- }
- }
-
- /**
- * insert PHP code in current buffer
- *
- * @param string $code
- */
- public function insertPhpCode($code)
- {
- $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
- }
-
- /**
- * error rundown
- *
- */
- public function errorRunDown()
- {
- while ($this->yystack !== array()) {
- $this->yy_pop_parser_stack();
- }
- if (is_resource($this->yyTraceFILE)) {
- fclose($this->yyTraceFILE);
- }
- }
-
- /**
- * merge PHP code with prefix code and return parse tree tag object
- *
- * @param string $code
- *
- * @return Smarty_Internal_ParseTree_Tag
- */
- public function mergePrefixCode($code)
- {
- $tmp = '';
- foreach ($this->compiler->prefix_code as $preCode) {
- $tmp .= $preCode;
- }
- $this->compiler->prefix_code = array();
- $tmp .= $code;
- return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
- }
-
- public function Trace($TraceFILE, $zTracePrompt)
- {
- if (!$TraceFILE) {
- $zTracePrompt = 0;
- } elseif (!$zTracePrompt) {
- $TraceFILE = 0;
- }
- $this->yyTraceFILE = $TraceFILE;
- $this->yyTracePrompt = $zTracePrompt;
- }
-
- public function PrintTrace()
- {
- $this->yyTraceFILE = fopen('php://output', 'w');
- $this->yyTracePrompt = ' ';
- }
-
- public function tokenName($tokenType)
- {
- if ($tokenType === 0) {
- return 'End of Input';
- }
- if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
- return $this->yyTokenName[ $tokenType ];
- } else {
- return 'Unknown';
- }
- }
-
- public function yy_pop_parser_stack()
- {
- if (empty($this->yystack)) {
- return;
- }
- $yytos = array_pop($this->yystack);
- if ($this->yyTraceFILE && $this->yyidx >= 0) {
- fwrite(
- $this->yyTraceFILE,
- $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] .
- "\n"
- );
- }
- $yymajor = $yytos->major;
- self::yy_destructor($yymajor, $yytos->minor);
- $this->yyidx--;
- return $yymajor;
- }
-
- public function __destruct()
- {
- while ($this->yystack !== array()) {
- $this->yy_pop_parser_stack();
- }
- if (is_resource($this->yyTraceFILE)) {
- fclose($this->yyTraceFILE);
- }
- }
-
- public function yy_get_expected_tokens($token)
- {
- static $res3 = array();
- static $res4 = array();
- $state = $this->yystack[ $this->yyidx ]->stateno;
- $expected = self::$yyExpectedTokens[ $state ];
- if (isset($res3[ $state ][ $token ])) {
- if ($res3[ $state ][ $token ]) {
- return $expected;
- }
- } else {
- if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
- return $expected;
- }
- }
- $stack = $this->yystack;
- $yyidx = $this->yyidx;
- do {
- $yyact = $this->yy_find_shift_action($token);
- if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
- // reduce action
- $done = 0;
- do {
- if ($done++ === 100) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // too much recursion prevents proper detection
- // so give up
- return array_unique($expected);
- }
- $yyruleno = $yyact - self::YYNSTATE;
- $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
- $nextstate = $this->yy_find_reduce_action(
- $this->yystack[ $this->yyidx ]->stateno,
- self::$yyRuleInfo[ $yyruleno ][ 0 ]
- );
- if (isset(self::$yyExpectedTokens[ $nextstate ])) {
- $expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
- if (isset($res4[ $nextstate ][ $token ])) {
- if ($res4[ $nextstate ][ $token ]) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return array_unique($expected);
- }
- } else {
- if ($res4[ $nextstate ][ $token ] =
- in_array($token, self::$yyExpectedTokens[ $nextstate ], true)) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return array_unique($expected);
- }
- }
- }
- if ($nextstate < self::YYNSTATE) {
- // we need to shift a non-terminal
- $this->yyidx++;
- $x = new TP_yyStackEntry;
- $x->stateno = $nextstate;
- $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
- $this->yystack[ $this->yyidx ] = $x;
- continue 2;
- } elseif ($nextstate === self::YYNSTATE + self::YYNRULE + 1) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // the last token was just ignored, we can't accept
- // by ignoring input, this is in essence ignoring a
- // syntax error!
- return array_unique($expected);
- } elseif ($nextstate === self::YY_NO_ACTION) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // input accepted, but not shifted (I guess)
- return $expected;
- } else {
- $yyact = $nextstate;
- }
- } while (true);
- }
- break;
- } while (true);
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return array_unique($expected);
- }
-
- public function yy_is_expected_token($token)
- {
- static $res = array();
- static $res2 = array();
- if ($token === 0) {
- return true; // 0 is not part of this
- }
- $state = $this->yystack[ $this->yyidx ]->stateno;
- if (isset($res[ $state ][ $token ])) {
- if ($res[ $state ][ $token ]) {
- return true;
- }
- } else {
- if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
- return true;
- }
- }
- $stack = $this->yystack;
- $yyidx = $this->yyidx;
- do {
- $yyact = $this->yy_find_shift_action($token);
- if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
- // reduce action
- $done = 0;
- do {
- if ($done++ === 100) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // too much recursion prevents proper detection
- // so give up
- return true;
- }
- $yyruleno = $yyact - self::YYNSTATE;
- $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
- $nextstate = $this->yy_find_reduce_action(
- $this->yystack[ $this->yyidx ]->stateno,
- self::$yyRuleInfo[ $yyruleno ][ 0 ]
- );
- if (isset($res2[ $nextstate ][ $token ])) {
- if ($res2[ $nextstate ][ $token ]) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return true;
- }
- } else {
- if ($res2[ $nextstate ][ $token ] =
- (isset(self::$yyExpectedTokens[ $nextstate ]) &&
- in_array($token, self::$yyExpectedTokens[ $nextstate ], true))) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return true;
- }
- }
- if ($nextstate < self::YYNSTATE) {
- // we need to shift a non-terminal
- $this->yyidx++;
- $x = new TP_yyStackEntry;
- $x->stateno = $nextstate;
- $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
- $this->yystack[ $this->yyidx ] = $x;
- continue 2;
- } elseif ($nextstate === self::YYNSTATE + self::YYNRULE + 1) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- if (!$token) {
- // end of input: this is valid
- return true;
- }
- // the last token was just ignored, we can't accept
- // by ignoring input, this is in essence ignoring a
- // syntax error!
- return false;
- } elseif ($nextstate === self::YY_NO_ACTION) {
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- // input accepted, but not shifted (I guess)
- return true;
- } else {
- $yyact = $nextstate;
- }
- } while (true);
- }
- break;
- } while (true);
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
- return true;
- }
-
- public function yy_find_shift_action($iLookAhead)
- {
- $stateno = $this->yystack[ $this->yyidx ]->stateno;
- /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
- if (!isset(self::$yy_shift_ofst[ $stateno ])) {
- // no shift actions
- return self::$yy_default[ $stateno ];
- }
- $i = self::$yy_shift_ofst[ $stateno ];
- if ($i === self::YY_SHIFT_USE_DFLT) {
- return self::$yy_default[ $stateno ];
- }
- if ($iLookAhead === self::YYNOCODE) {
- return self::YY_NO_ACTION;
- }
- $i += $iLookAhead;
- if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[ $i ] != $iLookAhead) {
- if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
- && ($iFallback = self::$yyFallback[ $iLookAhead ]) != 0) {
- if ($this->yyTraceFILE) {
- fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'FALLBACK ' .
- $this->yyTokenName[ $iLookAhead ] . ' => ' .
- $this->yyTokenName[ $iFallback ] . "\n");
- }
- return $this->yy_find_shift_action($iFallback);
- }
- return self::$yy_default[ $stateno ];
- } else {
- return self::$yy_action[ $i ];
- }
- }
-
- public function yy_find_reduce_action($stateno, $iLookAhead)
- {
- /* $stateno = $this->yystack[$this->yyidx]->stateno; */
- if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
- return self::$yy_default[ $stateno ];
- }
- $i = self::$yy_reduce_ofst[ $stateno ];
- if ($i === self::YY_REDUCE_USE_DFLT) {
- return self::$yy_default[ $stateno ];
- }
- if ($iLookAhead === self::YYNOCODE) {
- return self::YY_NO_ACTION;
- }
- $i += $iLookAhead;
- if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[ $i ] != $iLookAhead) {
- return self::$yy_default[ $stateno ];
- } else {
- return self::$yy_action[ $i ];
- }
- }
-
- // line 234 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_shift($yyNewState, $yyMajor, $yypMinor)
- {
- $this->yyidx++;
- if ($this->yyidx >= self::YYSTACKDEPTH) {
- $this->yyidx--;
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
- }
- while ($this->yyidx >= 0) {
- $this->yy_pop_parser_stack();
- }
- // line 221 "../smarty/lexer/smarty_internal_templateparser.y"
- $this->internalError = true;
- $this->compiler->trigger_template_error('Stack overflow in template parser');
- return;
- }
- $yytos = new TP_yyStackEntry;
- $yytos->stateno = $yyNewState;
- $yytos->major = $yyMajor;
- $yytos->minor = $yypMinor;
- $this->yystack[] = $yytos;
- if ($this->yyTraceFILE && $this->yyidx > 0) {
- fprintf(
- $this->yyTraceFILE,
- "%sShift %d\n",
- $this->yyTracePrompt,
- $yyNewState
- );
- fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
- for ($i = 1; $i <= $this->yyidx; $i++) {
- fprintf(
- $this->yyTraceFILE,
- " %s",
- $this->yyTokenName[ $this->yystack[ $i ]->major ]
- );
- }
- fwrite($this->yyTraceFILE, "\n");
- }
- }
-
- // line 242 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r0()
- {
- $this->root_buffer->prepend_array($this, $this->template_prefix);
- $this->root_buffer->append_array($this, $this->template_postfix);
- $this->_retvalue = $this->root_buffer->to_smarty_php($this);
- }
-
- // line 251 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r1()
- {
- $code =
- $this->compiler->compileTag('private_php',
- array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor), array('type' => $this->lex->phpType)),
- array());
- if ($this->compiler->has_code && !empty($code)) {
- $tmp = '';
- foreach ($this->compiler->prefix_code as $code) {
- $tmp .= $code;
- }
- $this->compiler->prefix_code = array();
- $this->current_buffer->append_subtree($this,
- new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true)));
- }
- }
-
- // line 255 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r2()
- {
- $this->current_buffer->append_subtree($this,
- $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 259 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r3()
- {
- $this->strip = true;
- }
-
- // line 264 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r4()
- {
- $this->strip = false;
- }
-
- // line 269 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r5()
- {
- $this->current_buffer->append_subtree($this,
- new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + -1 ]->minor));
- }
-
- // line 272 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r6()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -3 ]->minor . $this->yystack[ $this->yyidx + -1 ]->minor;
- }
-
- // line 276 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r7()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 281 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r8()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 285 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r9()
- {
- $this->_retvalue = '';
- }
-
- // line 297 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r10()
- {
- if ($this->compiler->has_code) {
- $this->current_buffer->append_subtree($this,
- $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor));
- }
- $this->compiler->has_variable_string = false;
- $this->block_nesting_level = count($this->compiler->_tag_stack);
- }
-
- // line 307 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r12()
- {
- $var =
- trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler->getLdelLength(),
- -$this->compiler->getRdelLength()), ' $');
- if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', array('nocache'),
- array('value' => $this->compiler->compileVariable('\'' . $match[ 1 ] . '\'')));
- } else {
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', array(),
- array('value' => $this->compiler->compileVariable('\'' . $var . '\'')));
- }
- }
-
- // line 328 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r13()
- {
- $tag =
- trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler->getLdelLength(),
- -$this->compiler->getRdelLength()));
- if ($tag == 'strip') {
- $this->strip = true;
- $this->_retvalue = null;;
- } else {
- if (defined($tag)) {
- if ($this->security) {
- $this->security->isTrustedConstant($tag, $this->compiler);
- }
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
- } else {
- if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
- $this->_retvalue = $this->compiler->compileTag($match[ 1 ], array('\'nocache\''));
- } else {
- $this->_retvalue = $this->compiler->compileTag($tag, array());
- }
- }
- }
- }
-
- // line 339 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r14()
- {
- $j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
- if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
- // {$smarty.block.child}
- $this->_retvalue =
- $this->compiler->compileTag('child', array(), array($this->yystack[ $this->yyidx + 0 ]->minor));
- } else {
- // {$smarty.block.parent}
- $this->_retvalue =
- $this->compiler->compileTag('parent', array(), array($this->yystack[ $this->yyidx + 0 ]->minor));
- }
- }
-
- // line 343 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r15()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor;
- }
-
- // line 347 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r16()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor;
- }
-
- // line 356 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r17()
- {
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ],
- array('value' => $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ]));
- }
-
- // line 360 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r18()
- {
- $this->_retvalue =
- $this->compiler->compileTag('assign', array_merge(array(
- array('value' => $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ]),
- array('var' => '\'' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . '\'')
- ), $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ]));
- }
-
- // line 364 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r19()
- {
- $this->_retvalue =
- $this->compiler->compileTag('assign', array_merge(array(
- array('value' => $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ]),
- array('var' => $this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ])
- ), $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ]), array(
- 'smarty_internal_index' => $this->yystack[ $this->yyidx +
- -1 ]->minor[ 'smarty_internal_index' ]
- ));
- }
-
- // line 368 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r20()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 383 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r21()
- {
- $this->_retvalue = array($this->yystack[ $this->yyidx + -1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 393 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r25()
- {
- if (defined($this->yystack[ $this->yyidx + -1 ]->minor)) {
- if ($this->security) {
- $this->security->isTrustedConstant($this->yystack[ $this->yyidx + -1 ]->minor, $this->compiler);
- }
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
- array('value' => $this->yystack[ $this->yyidx + -1 ]->minor));
- } else {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -1 ]->minor,
- $this->yystack[ $this->yyidx + 0 ]->minor);
- }
- }
-
- // line 406 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r26()
- {
- if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
- if ($this->security) {
- $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
- }
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', array(),
- array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
- } else {
- $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
- }
- }
-
- // line 418 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r27()
- {
- if (defined($this->yystack[ $this->yyidx + -2 ]->minor)) {
- if ($this->security) {
- $this->security->isTrustedConstant($this->yystack[ $this->yyidx + -2 ]->minor, $this->compiler);
- }
- $this->_retvalue =
- $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
- array(
- 'value' => $this->yystack[ $this->yyidx + -2 ]->minor,
- 'modifierlist' => $this->yystack[ $this->yyidx + -1 ]->minor
- ));
- } else {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -2 ]->minor,
- $this->yystack[ $this->yyidx + 0 ]->minor,
- array('modifierlist' => $this->yystack[ $this->yyidx + -1 ]->minor));
- }
- }
-
- // line 423 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r28()
- {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -3 ]->minor,
- $this->yystack[ $this->yyidx + 0 ]->minor,
- array('object_method' => $this->yystack[ $this->yyidx + -1 ]->minor));
- }
-
- // line 428 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r29()
- {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -4 ]->minor,
- $this->yystack[ $this->yyidx + 0 ]->minor, array(
- 'modifierlist' => $this->yystack[ $this->yyidx + -1 ]->minor,
- 'object_method' => $this->yystack[ $this->yyidx + -2 ]->minor
- ));
- }
-
- // line 433 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r30()
- {
- $this->_retvalue =
- $this->compiler->compileTag('make_nocache',
- array(array('var' => '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'')));
- }
-
- // line 438 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r31()
- {
- $tag = trim(substr($this->yystack[ $this->yyidx + -1 ]->minor, $this->compiler->getLdelLength()));
- $this->_retvalue =
- $this->compiler->compileTag(($tag === 'else if') ? 'elseif' : $tag, array(),
- array('if condition' => $this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 443 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r32()
- {
- $tag = trim(substr($this->yystack[ $this->yyidx + -2 ]->minor, $this->compiler->getLdelLength()));
- $this->_retvalue =
- $this->compiler->compileTag(($tag === 'else if') ? 'elseif' : $tag,
- $this->yystack[ $this->yyidx + 0 ]->minor,
- array('if condition' => $this->yystack[ $this->yyidx + -1 ]->minor));
- }
-
- // line 454 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r33()
- {
- $tag = trim(substr($this->yystack[ $this->yyidx + -1 ]->minor, $this->compiler->getLdelLength()));
- $this->_retvalue =
- $this->compiler->compileTag(($tag === 'else if') ? 'elseif' : $tag, array(),
- array('if condition' => $this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 458 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r35()
- {
- $this->_retvalue =
- $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor, array(
- array('start' => $this->yystack[ $this->yyidx + -6 ]->minor),
- array('ifexp' => $this->yystack[ $this->yyidx + -4 ]->minor),
- array('var' => $this->yystack[ $this->yyidx + -2 ]->minor),
- array('step' => $this->yystack[ $this->yyidx + -1 ]->minor)
- )), 1);
- }
-
- // line 466 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r36()
- {
- $this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 470 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r38()
- {
- $this->_retvalue =
- $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor, array(
- array('start' => $this->yystack[ $this->yyidx + -3 ]->minor),
- array('to' => $this->yystack[ $this->yyidx + -1 ]->minor)
- )), 0);
- }
-
- // line 475 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r39()
- {
- $this->_retvalue =
- $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor, array(
- array('start' => $this->yystack[ $this->yyidx + -5 ]->minor),
- array('to' => $this->yystack[ $this->yyidx + -3 ]->minor),
- array('step' => $this->yystack[ $this->yyidx + -1 ]->minor)
- )), 0);
- }
-
- // line 479 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r40()
- {
- $this->_retvalue =
- $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor, array(
- array('from' => $this->yystack[ $this->yyidx + -3 ]->minor),
- array('item' => $this->yystack[ $this->yyidx + -1 ]->minor)
- )));
- }
-
- // line 482 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r41()
- {
- $this->_retvalue =
- $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor, array(
- array('from' => $this->yystack[ $this->yyidx + -5 ]->minor),
- array('item' => $this->yystack[ $this->yyidx + -1 ]->minor),
- array('key' => $this->yystack[ $this->yyidx + -3 ]->minor)
- )));
- }
-
- // line 487 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r42()
- {
- $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 491 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r43()
- {
- $this->_retvalue =
- $this->compiler->compileTag('setfilter', array(), array(
- 'modifier_list' => array(
- array_merge(array($this->yystack[ $this->yyidx + -1 ]->minor),
- $this->yystack[ $this->yyidx + 0 ]->minor)
- )
- ));
- }
-
- // line 497 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r44()
- {
- $this->_retvalue =
- $this->compiler->compileTag('setfilter', array(), array(
- 'modifier_list' => array_merge(array(
- array_merge(array(
- $this->yystack[ $this->yyidx +
- -2 ]->minor
- ), $this->yystack[ $this->yyidx + -1 ]->minor)
- ), $this->yystack[ $this->yyidx + 0 ]->minor)
- ));
- }
-
- // line 506 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r45()
- {
- $tag =
- trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler->getLdelLength(),
- -$this->compiler->getRdelLength()), ' /');
- if ($tag === 'strip') {
- $this->strip = false;
- $this->_retvalue = null;
- } else {
- $this->_retvalue = $this->compiler->compileTag($tag . 'close', array());
- }
- }
-
- // line 510 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r46()
- {
- $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
- }
-
- // line 515 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r47()
- {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -1 ]->minor . 'close', array(),
- array('modifier_list' => $this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 519 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r48()
- {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -2 ]->minor . 'close', array(),
- array('object_method' => $this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 527 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r49()
- {
- $this->_retvalue =
- $this->compiler->compileTag($this->yystack[ $this->yyidx + -3 ]->minor . 'close', array(), array(
- 'object_method' => $this->yystack[ $this->yyidx + -1 ]->minor,
- 'modifier_list' => $this->yystack[ $this->yyidx + 0 ]->minor
- ));
- }
-
- // line 533 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r50()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor;
- $this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 538 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r51()
- {
- $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 543 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r52()
- {
- $this->_retvalue = array();
- }
-
- // line 554 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r53()
- {
- if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
- if ($this->security) {
- $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
- }
- $this->_retvalue =
- array($this->yystack[ $this->yyidx + -2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
- } else {
- $this->_retvalue =
- array(
- $this->yystack[ $this->yyidx + -2 ]->minor => '\'' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- '\''
- );
- }
- }
-
- // line 562 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r54()
- {
- $this->_retvalue =
- array(
- trim($this->yystack[ $this->yyidx + -1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
- 0 ]->minor
- );
- }
-
- // line 574 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r56()
- {
- $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
- }
-
- // line 587 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r59()
- {
- $this->_retvalue =
- array($this->yystack[ $this->yyidx + -2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 592 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r61()
- {
- $this->yystack[ $this->yyidx + -2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
- $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor;
- }
-
- // line 599 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r62()
- {
- $this->_retvalue =
- array(
- 'var' => '\'' . substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) . '\'',
- 'value' => $this->yystack[ $this->yyidx + 0 ]->minor
- );
- }
-
- // line 603 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r64()
- {
- $this->_retvalue =
- array(
- 'var' => $this->yystack[ $this->yyidx + -2 ]->minor,
- 'value' => $this->yystack[ $this->yyidx + 0 ]->minor
- );
- }
-
- // line 623 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r65()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor;
- }
-
- // line 628 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r68()
- {
- $this->_retvalue =
- '$_smarty_tpl->getStreamVariable(\'' .
- substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) .
- '://' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- '\')';
- }
-
- // line 642 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r69()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -2 ]->minor .
- trim($this->yystack[ $this->yyidx + -1 ]->minor) .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 648 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r72()
- {
- $this->_retvalue =
- $this->compiler->compileTag('private_modifier', array(), array(
- 'value' => $this->yystack[ $this->yyidx + -1 ]->minor,
- 'modifierlist' => $this->yystack[ $this->yyidx + 0 ]->minor
- ));
- }
-
- // line 652 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r73()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -1 ]->minor[ 'pre' ] .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- $this->yystack[ $this->yyidx + -1 ]->minor[ 'op' ] .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- ')';
- }
-
- // line 656 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r74()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -2 ]->minor .
- $this->yystack[ $this->yyidx + -1 ]->minor .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 660 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r75()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
- }
-
- // line 664 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r76()
- {
- $this->_retvalue =
- 'in_array(' .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- ',' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- ')';
- }
-
- // line 672 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r77()
- {
- $this->_retvalue =
- 'in_array(' .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- ',(array)' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- ')';
- }
-
- // line 676 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r78()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -5 ]->minor .
- ' ? ' .
- $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) . '\'') .
- ' : ' .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 686 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r79()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -5 ]->minor .
- ' ? ' .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- ' : ' .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 691 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r81()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 712 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r82()
- {
- $this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 716 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r87()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 720 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r88()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . '.';
- }
-
- // line 725 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r89()
- {
- $this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 742 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r90()
- {
- if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
- if ($this->security) {
- $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
- }
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
- } else {
- $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
- }
- }
-
- // line 746 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r92()
- {
- $this->_retvalue = '(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
- }
-
- // line 764 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r93()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -2 ]->minor .
- $this->yystack[ $this->yyidx + -1 ]->minor .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 775 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r97()
- {
- $prefixVar = $this->compiler->getNewPrefixVariable();
- if ($this->yystack[ $this->yyidx + -2 ]->minor[ 'var' ] === '\'smarty\'') {
- $this->compiler->appendPrefixCode("compiler->compileTag('private_special_variable', array(),
- $this->yystack[ $this->yyidx +
- -2 ]->minor[ 'smarty_internal_index' ]) .
- ';?>');
- } else {
- $this->compiler->appendPrefixCode("compiler->compileVariable($this->yystack[ $this->yyidx +
- -2 ]->minor[ 'var' ]) .
- $this->yystack[ $this->yyidx + -2 ]->minor[ 'smarty_internal_index' ] .
- ';?>');
- }
- $this->_retvalue =
- $prefixVar .
- '::' .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
- }
-
- // line 792 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r98()
- {
- $prefixVar = $this->compiler->getNewPrefixVariable();
- $tmp = $this->compiler->appendCode('', $this->yystack[ $this->yyidx + 0 ]->minor);
- $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, ""));
- $this->_retvalue = $prefixVar;
- }
-
- // line 811 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r101()
- {
- if (!in_array(strtolower($this->yystack[ $this->yyidx + -2 ]->minor), array('self', 'parent')) &&
- (!$this->security ||
- $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + -2 ]->minor,
- $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))) {
- if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + -2 ]->minor ])) {
- $this->_retvalue =
- $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + -2 ]->minor ] .
- '::' .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
- } else {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -2 ]->minor .
- '::' .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
- }
- } else {
- $this->compiler->trigger_template_error('static class \'' .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- '\' is undefined or not allowed by security setting');
- }
- }
-
- // line 822 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r103()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 825 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r104()
- {
- $this->_retvalue =
- $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
- }
-
- // line 838 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r105()
- {
- if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] === '\'smarty\'') {
- $smarty_var =
- $this->compiler->compileTag('private_special_variable', array(),
- $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ]);
- $this->_retvalue = $smarty_var;
- } else {
- // used for array reset,next,prev,end,current
- $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
- $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
- $this->_retvalue =
- $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
- $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
- }
- }
-
- // line 848 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r106()
- {
- $this->_retvalue =
- '$_smarty_tpl->tpl_vars[' .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- ']->' .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 852 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r108()
- {
- $this->_retvalue =
- $this->compiler->compileConfigVariable('\'' . $this->yystack[ $this->yyidx + -1 ]->minor . '\'');
- }
-
- // line 856 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r109()
- {
- $this->_retvalue =
- '(is_array($tmp = ' .
- $this->compiler->compileConfigVariable('\'' . $this->yystack[ $this->yyidx + -2 ]->minor . '\'') .
- ') ? $tmp' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- ' :null)';
- }
-
- // line 860 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r110()
- {
- $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + -1 ]->minor);
- }
-
- // line 864 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r111()
- {
- $this->_retvalue =
- '(is_array($tmp = ' .
- $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + -2 ]->minor) .
- ') ? $tmp' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- ' : null)';
- }
-
- // line 867 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r112()
- {
- $this->_retvalue =
- array(
- 'var' => '\'' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . '\'',
- 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor
- );
- }
-
- // line 880 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r113()
- {
- $this->_retvalue =
- array(
- 'var' => $this->yystack[ $this->yyidx + -1 ]->minor,
- 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor
- );
- }
-
- // line 886 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r115()
- {
- return;
- }
-
- // line 889 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r116()
- {
- $this->_retvalue =
- '[' .
- $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
- ']';
- }
-
- // line 893 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r117()
- {
- $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
- }
-
- // line 897 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r118()
- {
- $this->_retvalue =
- '[' .
- $this->compiler->compileVariable($this->yystack[ $this->yyidx + -2 ]->minor) .
- '->' .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- ']';
- }
-
- // line 901 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r119()
- {
- $this->_retvalue = '[\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\']';
- }
-
- // line 906 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r120()
- {
- $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
- }
-
- // line 911 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r121()
- {
- $this->_retvalue = '[' . $this->yystack[ $this->yyidx + -1 ]->minor . ']';
- }
-
- // line 915 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r122()
- {
- $this->_retvalue =
- '[' .
- $this->compiler->compileTag('private_special_variable', array(),
- '[\'section\'][\'' . $this->yystack[ $this->yyidx + -1 ]->minor . '\'][\'index\']') .
- ']';
- }
-
- // line 918 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r123()
- {
- $this->_retvalue =
- '[' .
- $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
- $this->yystack[ $this->yyidx +
- -3 ]->minor .
- '\'][\'' .
- $this->yystack[ $this->yyidx +
- -1 ]->minor .
- '\']') .
- ']';
- }
-
- // line 924 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r124()
- {
- $this->_retvalue = '[' . $this->yystack[ $this->yyidx + -1 ]->minor . ']';
- }
-
- // line 940 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r126()
- {
- $this->_retvalue =
- '[' .
- $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . '\'') .
- ']';
- }
-
- // line 950 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r130()
- {
- $this->_retvalue = '[]';
- }
-
- // line 954 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r131()
- {
- $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
- }
-
- // line 959 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r132()
- {
- $this->_retvalue = '\'\'';
- }
-
- // line 967 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r133()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 973 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r135()
- {
- $var =
- trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler->getLdelLength(),
- -$this->compiler->getRdelLength()), ' $');
- $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
- }
-
- // line 980 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r136()
- {
- $this->_retvalue = '(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
- }
-
- // line 989 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r137()
- {
- if ($this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ] === '\'smarty\'') {
- $this->_retvalue =
- $this->compiler->compileTag('private_special_variable', array(),
- $this->yystack[ $this->yyidx + -1 ]->minor[ 'smarty_internal_index' ]) .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- } else {
- $this->_retvalue =
- $this->compiler->compileVariable($this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ]) .
- $this->yystack[ $this->yyidx + -1 ]->minor[ 'smarty_internal_index' ] .
- $this->yystack[ $this->yyidx + 0 ]->minor;
- }
- }
-
- // line 994 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r138()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 999 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r139()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 1006 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r140()
- {
- if ($this->security && substr($this->yystack[ $this->yyidx + -1 ]->minor, 0, 1) === '_') {
- $this->compiler->trigger_template_error(self::ERR1);
- }
- $this->_retvalue =
- '->' . $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 1013 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r141()
- {
- if ($this->security) {
- $this->compiler->trigger_template_error(self::ERR2);
- }
- $this->_retvalue =
- '->{' .
- $this->compiler->compileVariable($this->yystack[ $this->yyidx + -1 ]->minor) .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- '}';
- }
-
- // line 1020 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r142()
- {
- if ($this->security) {
- $this->compiler->trigger_template_error(self::ERR2);
- }
- $this->_retvalue =
- '->{' . $this->yystack[ $this->yyidx + -2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
- }
-
- // line 1028 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r143()
- {
- if ($this->security) {
- $this->compiler->trigger_template_error(self::ERR2);
- }
- $this->_retvalue =
- '->{\'' .
- $this->yystack[ $this->yyidx + -4 ]->minor .
- '\'.' .
- $this->yystack[ $this->yyidx + -2 ]->minor .
- $this->yystack[ $this->yyidx + 0 ]->minor .
- '}';
- }
-
- // line 1036 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r144()
- {
- $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 1044 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r145()
- {
- $this->_retvalue =
- $this->compiler->compilePHPFunctionCall($this->yystack[ $this->yyidx + -3 ]->minor,
- $this->yystack[ $this->yyidx + -1 ]->minor);
- }
-
- // line 1051 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r146()
- {
- if ($this->security && substr($this->yystack[ $this->yyidx + -3 ]->minor, 0, 1) === '_') {
- $this->compiler->trigger_template_error(self::ERR1);
- }
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -3 ]->minor .
- '(' .
- implode(',', $this->yystack[ $this->yyidx + -1 ]->minor) .
- ')';
- }
-
- // line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r147()
- {
- if ($this->security) {
- $this->compiler->trigger_template_error(self::ERR2);
- }
- $prefixVar = $this->compiler->getNewPrefixVariable();
- $this->compiler->appendPrefixCode("compiler->compileVariable('\'' .
- substr($this->yystack[ $this->yyidx +
- -3 ]->minor, 1) .
- '\'') .
- ';?>');
- $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + -1 ]->minor) . ')';
- }
-
- // line 1079 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r148()
- {
- $this->_retvalue =
- array_merge($this->yystack[ $this->yyidx + -2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 1083 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r151()
- {
- $this->_retvalue =
- array_merge($this->yystack[ $this->yyidx + -2 ]->minor, array(
- array_merge($this->yystack[ $this->yyidx + -1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor)
- ));
- }
-
- // line 1091 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r152()
- {
- $this->_retvalue =
- array(array_merge($this->yystack[ $this->yyidx + -1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
- }
-
- // line 1099 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r154()
- {
- $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 1118 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r155()
- {
- $this->_retvalue =
- array_merge($this->yystack[ $this->yyidx + -1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 1123 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r159()
- {
- $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
- }
-
- // line 1128 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r160()
- {
- $this->_retvalue =
- array($this->yystack[ $this->yyidx + -1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
- }
-
- // line 1133 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r161()
- {
- $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
- }
-
- // line 1138 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r162()
- {
- $this->_retvalue =
- array($this->yystack[ $this->yyidx + -1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
- }
-
- // line 1144 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r163()
- {
- $this->_retvalue =
- array(
- $this->yystack[ $this->yyidx + -2 ]->minor,
- $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor, 'property'
- );
- }
-
- // line 1148 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r164()
- {
- $this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
- }
-
- // line 1167 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r165()
- {
- static $lops = array(
- 'eq' => ' == ',
- 'ne' => ' != ',
- 'neq' => ' != ',
- 'gt' => ' > ',
- 'ge' => ' >= ',
- 'gte' => ' >= ',
- 'lt' => ' < ',
- 'le' => ' <= ',
- 'lte' => ' <= ',
- 'mod' => ' % ',
- 'and' => ' && ',
- 'or' => ' || ',
- 'xor' => ' xor ',
- );
- $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
- $this->_retvalue = $lops[ $op ];
- }
-
- // line 1180 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r166()
- {
- static $tlops = array(
- 'isdivby' => array('op' => ' % ', 'pre' => '!('),
- 'isnotdivby' => array('op' => ' % ', 'pre' => '('),
- 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
- 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
- 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
- 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),
- );
- $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
- $this->_retvalue = $tlops[ $op ];
- }
-
- // line 1194 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r167()
- {
- static $scond = array(
- 'iseven' => '!(1 & ',
- 'isnoteven' => '(1 & ',
- 'isodd' => '(1 & ',
- 'isnotodd' => '!(1 & ',
- );
- $op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
- $this->_retvalue = $scond[ $op ];
- }
-
- // line 1202 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r168()
- {
- $this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
- }
-
- // line 1210 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r170()
- {
- $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 1214 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r172()
- {
- $this->_retvalue =
- $this->yystack[ $this->yyidx + -2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 1230 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r173()
- {
- $this->_retvalue =
- '\'' . $this->yystack[ $this->yyidx + -2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
- }
-
- // line 1236 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r176()
- {
- $this->compiler->leaveDoubleQuote();
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor->to_smarty_php($this);
- }
-
- // line 1241 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r177()
- {
- $this->yystack[ $this->yyidx + -1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
- $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor;
- }
-
- // line 1245 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r178()
- {
- $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- // line 1249 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r179()
- {
- $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + -1 ]->minor);
- }
-
- // line 1253 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r180()
- {
- $this->_retvalue =
- new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')');
- }
-
- // line 1265 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r181()
- {
- $this->_retvalue =
- new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
- substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
- '\']->value');
- }
-
- // line 1269 "../smarty/lexer/smarty_internal_templateparser.y"
- public function yy_r184()
- {
- $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- public function yy_r185()
- {
- $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
- }
-
- public function yy_reduce($yyruleno)
- {
- if ($this->yyTraceFILE && $yyruleno >= 0
- && $yyruleno < count(self::$yyRuleName)) {
- fprintf(
- $this->yyTraceFILE,
- "%sReduce (%d) [%s].\n",
- $this->yyTracePrompt,
- $yyruleno,
- self::$yyRuleName[ $yyruleno ]
- );
- }
- $this->_retvalue = $yy_lefthand_side = null;
- if (isset(self::$yyReduceMap[ $yyruleno ])) {
- // call the action
- $this->_retvalue = null;
- $this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
- $yy_lefthand_side = $this->_retvalue;
- }
- $yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
- $yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
- $this->yyidx -= $yysize;
- for ($i = $yysize; $i; $i--) {
- // pop all of the right-hand side parameters
- array_pop($this->yystack);
- }
- $yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
- if ($yyact < self::YYNSTATE) {
- if (!$this->yyTraceFILE && $yysize) {
- $this->yyidx++;
- $x = new TP_yyStackEntry;
- $x->stateno = $yyact;
- $x->major = $yygoto;
- $x->minor = $yy_lefthand_side;
- $this->yystack[ $this->yyidx ] = $x;
- } else {
- $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
- }
- } elseif ($yyact === self::YYNSTATE + self::YYNRULE + 1) {
- $this->yy_accept();
- }
- }
-
- public function yy_parse_failed()
- {
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
- }
- while ($this->yyidx >= 0) {
- $this->yy_pop_parser_stack();
- }
- }
-
- public function yy_syntax_error($yymajor, $TOKEN)
- {
- // line 214 "../smarty/lexer/smarty_internal_templateparser.y"
- $this->internalError = true;
- $this->yymajor = $yymajor;
- $this->compiler->trigger_template_error();
- }
-
- public function yy_accept()
- {
- if ($this->yyTraceFILE) {
- fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
- }
- while ($this->yyidx >= 0) {
- $this->yy_pop_parser_stack();
- }
- // line 207 "../smarty/lexer/smarty_internal_templateparser.y"
- $this->successful = !$this->internalError;
- $this->internalError = false;
- $this->retvalue = $this->_retvalue;
- }
-
- public function doParse($yymajor, $yytokenvalue)
- {
- $yyerrorhit = 0; /* True if yymajor has invoked an error */
- if ($this->yyidx === null || $this->yyidx < 0) {
- $this->yyidx = 0;
- $this->yyerrcnt = -1;
- $x = new TP_yyStackEntry;
- $x->stateno = 0;
- $x->major = 0;
- $this->yystack = array();
- $this->yystack[] = $x;
- }
- $yyendofinput = ($yymajor == 0);
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sInput %s\n",
- $this->yyTracePrompt,
- $this->yyTokenName[ $yymajor ]
- );
- }
- do {
- $yyact = $this->yy_find_shift_action($yymajor);
- if ($yymajor < self::YYERRORSYMBOL &&
- !$this->yy_is_expected_token($yymajor)) {
- // force a syntax error
- $yyact = self::YY_ERROR_ACTION;
- }
- if ($yyact < self::YYNSTATE) {
- $this->yy_shift($yyact, $yymajor, $yytokenvalue);
- $this->yyerrcnt--;
- if ($yyendofinput && $this->yyidx >= 0) {
- $yymajor = 0;
- } else {
- $yymajor = self::YYNOCODE;
- }
- } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
- $this->yy_reduce($yyact - self::YYNSTATE);
- } elseif ($yyact === self::YY_ERROR_ACTION) {
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sSyntax Error!\n",
- $this->yyTracePrompt
- );
- }
- if (self::YYERRORSYMBOL) {
- if ($this->yyerrcnt < 0) {
- $this->yy_syntax_error($yymajor, $yytokenvalue);
- }
- $yymx = $this->yystack[ $this->yyidx ]->major;
- if ($yymx === self::YYERRORSYMBOL || $yyerrorhit) {
- if ($this->yyTraceFILE) {
- fprintf(
- $this->yyTraceFILE,
- "%sDiscard input token %s\n",
- $this->yyTracePrompt,
- $this->yyTokenName[ $yymajor ]
- );
- }
- $this->yy_destructor($yymajor, $yytokenvalue);
- $yymajor = self::YYNOCODE;
- } else {
- while ($this->yyidx >= 0 &&
- $yymx !== self::YYERRORSYMBOL &&
- ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
- ) {
- $this->yy_pop_parser_stack();
- }
- if ($this->yyidx < 0 || $yymajor == 0) {
- $this->yy_destructor($yymajor, $yytokenvalue);
- $this->yy_parse_failed();
- $yymajor = self::YYNOCODE;
- } elseif ($yymx !== self::YYERRORSYMBOL) {
- $u2 = 0;
- $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
- }
- }
- $this->yyerrcnt = 3;
- $yyerrorhit = 1;
- } else {
- if ($this->yyerrcnt <= 0) {
- $this->yy_syntax_error($yymajor, $yytokenvalue);
- }
- $this->yyerrcnt = 3;
- $this->yy_destructor($yymajor, $yytokenvalue);
- if ($yyendofinput) {
- $this->yy_parse_failed();
- }
- $yymajor = self::YYNOCODE;
- }
- } else {
- $this->yy_accept();
- $yymajor = self::YYNOCODE;
- }
- } while ($yymajor !== self::YYNOCODE && $this->yyidx >= 0);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_testinstall.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_testinstall.php
deleted file mode 100755
index 504a458..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_testinstall.php
+++ /dev/null
@@ -1,609 +0,0 @@
-\n";
- echo "Smarty Installation test...\n";
- echo "Testing template directory...\n";
- }
- $_stream_resolve_include_path = function_exists('stream_resolve_include_path');
- // test if all registered template_dir are accessible
- foreach ($smarty->getTemplateDir() as $template_dir) {
- $_template_dir = $template_dir;
- $template_dir = realpath($template_dir);
- // resolve include_path or fail existence
- if (!$template_dir) {
- if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_template_dir)) {
- // try PHP include_path
- if ($_stream_resolve_include_path) {
- $template_dir = stream_resolve_include_path($_template_dir);
- } else {
- $template_dir = $smarty->ext->_getIncludePath->getIncludePath($_template_dir, null, $smarty);
- }
- if ($template_dir !== false) {
- if ($errors === null) {
- echo "$template_dir is OK.\n";
- }
- continue;
- } else {
- $status = false;
- $message =
- "FAILED: $_template_dir does not exist (and couldn't be found in include_path either)";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'template_dir' ] = $message;
- }
- continue;
- }
- } else {
- $status = false;
- $message = "FAILED: $_template_dir does not exist";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'template_dir' ] = $message;
- }
- continue;
- }
- }
- if (!is_dir($template_dir)) {
- $status = false;
- $message = "FAILED: $template_dir is not a directory";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'template_dir' ] = $message;
- }
- } elseif (!is_readable($template_dir)) {
- $status = false;
- $message = "FAILED: $template_dir is not readable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'template_dir' ] = $message;
- }
- } else {
- if ($errors === null) {
- echo "$template_dir is OK.\n";
- }
- }
- }
- if ($errors === null) {
- echo "Testing compile directory...\n";
- }
- // test if registered compile_dir is accessible
- $__compile_dir = $smarty->getCompileDir();
- $_compile_dir = realpath($__compile_dir);
- if (!$_compile_dir) {
- $status = false;
- $message = "FAILED: {$__compile_dir} does not exist";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'compile_dir' ] = $message;
- }
- } elseif (!is_dir($_compile_dir)) {
- $status = false;
- $message = "FAILED: {$_compile_dir} is not a directory";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'compile_dir' ] = $message;
- }
- } elseif (!is_readable($_compile_dir)) {
- $status = false;
- $message = "FAILED: {$_compile_dir} is not readable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'compile_dir' ] = $message;
- }
- } elseif (!is_writable($_compile_dir)) {
- $status = false;
- $message = "FAILED: {$_compile_dir} is not writable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'compile_dir' ] = $message;
- }
- } else {
- if ($errors === null) {
- echo "{$_compile_dir} is OK.\n";
- }
- }
- if ($errors === null) {
- echo "Testing plugins directory...\n";
- }
- // test if all registered plugins_dir are accessible
- // and if core plugins directory is still registered
- $_core_plugins_dir = realpath(dirname(__FILE__) . '/../plugins');
- $_core_plugins_available = false;
- foreach ($smarty->getPluginsDir() as $plugin_dir) {
- $_plugin_dir = $plugin_dir;
- $plugin_dir = realpath($plugin_dir);
- // resolve include_path or fail existence
- if (!$plugin_dir) {
- if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) {
- // try PHP include_path
- if ($_stream_resolve_include_path) {
- $plugin_dir = stream_resolve_include_path($_plugin_dir);
- } else {
- $plugin_dir = $smarty->ext->_getIncludePath->getIncludePath($_plugin_dir, null, $smarty);
- }
- if ($plugin_dir !== false) {
- if ($errors === null) {
- echo "$plugin_dir is OK.\n";
- }
- continue;
- } else {
- $status = false;
- $message = "FAILED: $_plugin_dir does not exist (and couldn't be found in include_path either)";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'plugins_dir' ] = $message;
- }
- continue;
- }
- } else {
- $status = false;
- $message = "FAILED: $_plugin_dir does not exist";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'plugins_dir' ] = $message;
- }
- continue;
- }
- }
- if (!is_dir($plugin_dir)) {
- $status = false;
- $message = "FAILED: $plugin_dir is not a directory";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'plugins_dir' ] = $message;
- }
- } elseif (!is_readable($plugin_dir)) {
- $status = false;
- $message = "FAILED: $plugin_dir is not readable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'plugins_dir' ] = $message;
- }
- } elseif ($_core_plugins_dir && $_core_plugins_dir == realpath($plugin_dir)) {
- $_core_plugins_available = true;
- if ($errors === null) {
- echo "$plugin_dir is OK.\n";
- }
- } else {
- if ($errors === null) {
- echo "$plugin_dir is OK.\n";
- }
- }
- }
- if (!$_core_plugins_available) {
- $status = false;
- $message = "WARNING: Smarty's own libs/plugins is not available";
- if ($errors === null) {
- echo $message . ".\n";
- } elseif (!isset($errors[ 'plugins_dir' ])) {
- $errors[ 'plugins_dir' ] = $message;
- }
- }
- if ($errors === null) {
- echo "Testing cache directory...\n";
- }
- // test if all registered cache_dir is accessible
- $__cache_dir = $smarty->getCacheDir();
- $_cache_dir = realpath($__cache_dir);
- if (!$_cache_dir) {
- $status = false;
- $message = "FAILED: {$__cache_dir} does not exist";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'cache_dir' ] = $message;
- }
- } elseif (!is_dir($_cache_dir)) {
- $status = false;
- $message = "FAILED: {$_cache_dir} is not a directory";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'cache_dir' ] = $message;
- }
- } elseif (!is_readable($_cache_dir)) {
- $status = false;
- $message = "FAILED: {$_cache_dir} is not readable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'cache_dir' ] = $message;
- }
- } elseif (!is_writable($_cache_dir)) {
- $status = false;
- $message = "FAILED: {$_cache_dir} is not writable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'cache_dir' ] = $message;
- }
- } else {
- if ($errors === null) {
- echo "{$_cache_dir} is OK.\n";
- }
- }
- if ($errors === null) {
- echo "Testing configs directory...\n";
- }
- // test if all registered config_dir are accessible
- foreach ($smarty->getConfigDir() as $config_dir) {
- $_config_dir = $config_dir;
- // resolve include_path or fail existence
- if (!$config_dir) {
- if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_config_dir)) {
- // try PHP include_path
- if ($_stream_resolve_include_path) {
- $config_dir = stream_resolve_include_path($_config_dir);
- } else {
- $config_dir = $smarty->ext->_getIncludePath->getIncludePath($_config_dir, null, $smarty);
- }
- if ($config_dir !== false) {
- if ($errors === null) {
- echo "$config_dir is OK.\n";
- }
- continue;
- } else {
- $status = false;
- $message = "FAILED: $_config_dir does not exist (and couldn't be found in include_path either)";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'config_dir' ] = $message;
- }
- continue;
- }
- } else {
- $status = false;
- $message = "FAILED: $_config_dir does not exist";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'config_dir' ] = $message;
- }
- continue;
- }
- }
- if (!is_dir($config_dir)) {
- $status = false;
- $message = "FAILED: $config_dir is not a directory";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'config_dir' ] = $message;
- }
- } elseif (!is_readable($config_dir)) {
- $status = false;
- $message = "FAILED: $config_dir is not readable";
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'config_dir' ] = $message;
- }
- } else {
- if ($errors === null) {
- echo "$config_dir is OK.\n";
- }
- }
- }
- if ($errors === null) {
- echo "Testing sysplugin files...\n";
- }
- // test if sysplugins are available
- $source = SMARTY_SYSPLUGINS_DIR;
- if (is_dir($source)) {
- $expectedSysplugins = array(
- 'smartycompilerexception.php' => true,
- 'smartyexception.php' => true,
- 'smarty_cacheresource.php' => true,
- 'smarty_cacheresource_custom.php' => true,
- 'smarty_cacheresource_keyvaluestore.php' => true,
- 'smarty_data.php' => true,
- 'smarty_internal_block.php' => true,
- 'smarty_internal_cacheresource_file.php' => true,
- 'smarty_internal_compilebase.php' => true,
- 'smarty_internal_compile_append.php' => true,
- 'smarty_internal_compile_assign.php' => true,
- 'smarty_internal_compile_block.php' => true,
- 'smarty_internal_compile_block_child.php' => true,
- 'smarty_internal_compile_block_parent.php' => true,
- 'smarty_internal_compile_child.php' => true,
- 'smarty_internal_compile_parent.php' => true,
- 'smarty_internal_compile_break.php' => true,
- 'smarty_internal_compile_call.php' => true,
- 'smarty_internal_compile_capture.php' => true,
- 'smarty_internal_compile_config_load.php' => true,
- 'smarty_internal_compile_continue.php' => true,
- 'smarty_internal_compile_debug.php' => true,
- 'smarty_internal_compile_eval.php' => true,
- 'smarty_internal_compile_extends.php' => true,
- 'smarty_internal_compile_for.php' => true,
- 'smarty_internal_compile_foreach.php' => true,
- 'smarty_internal_compile_function.php' => true,
- 'smarty_internal_compile_if.php' => true,
- 'smarty_internal_compile_include.php' => true,
- 'smarty_internal_compile_include_php.php' => true,
- 'smarty_internal_compile_insert.php' => true,
- 'smarty_internal_compile_ldelim.php' => true,
- 'smarty_internal_compile_make_nocache.php' => true,
- 'smarty_internal_compile_nocache.php' => true,
- 'smarty_internal_compile_private_block_plugin.php' => true,
- 'smarty_internal_compile_private_foreachsection.php' => true,
- 'smarty_internal_compile_private_function_plugin.php' => true,
- 'smarty_internal_compile_private_modifier.php' => true,
- 'smarty_internal_compile_private_object_block_function.php' => true,
- 'smarty_internal_compile_private_object_function.php' => true,
- 'smarty_internal_compile_private_php.php' => true,
- 'smarty_internal_compile_private_print_expression.php' => true,
- 'smarty_internal_compile_private_registered_block.php' => true,
- 'smarty_internal_compile_private_registered_function.php' => true,
- 'smarty_internal_compile_private_special_variable.php' => true,
- 'smarty_internal_compile_rdelim.php' => true,
- 'smarty_internal_compile_section.php' => true,
- 'smarty_internal_compile_setfilter.php' => true,
- 'smarty_internal_compile_shared_inheritance.php' => true,
- 'smarty_internal_compile_while.php' => true,
- 'smarty_internal_configfilelexer.php' => true,
- 'smarty_internal_configfileparser.php' => true,
- 'smarty_internal_config_file_compiler.php' => true,
- 'smarty_internal_data.php' => true,
- 'smarty_internal_debug.php' => true,
- 'smarty_internal_errorhandler.php' => true,
- 'smarty_internal_extension_handler.php' => true,
- 'smarty_internal_method_addautoloadfilters.php' => true,
- 'smarty_internal_method_adddefaultmodifiers.php' => true,
- 'smarty_internal_method_append.php' => true,
- 'smarty_internal_method_appendbyref.php' => true,
- 'smarty_internal_method_assignbyref.php' => true,
- 'smarty_internal_method_assignglobal.php' => true,
- 'smarty_internal_method_clearallassign.php' => true,
- 'smarty_internal_method_clearallcache.php' => true,
- 'smarty_internal_method_clearassign.php' => true,
- 'smarty_internal_method_clearcache.php' => true,
- 'smarty_internal_method_clearcompiledtemplate.php' => true,
- 'smarty_internal_method_clearconfig.php' => true,
- 'smarty_internal_method_compileallconfig.php' => true,
- 'smarty_internal_method_compilealltemplates.php' => true,
- 'smarty_internal_method_configload.php' => true,
- 'smarty_internal_method_createdata.php' => true,
- 'smarty_internal_method_getautoloadfilters.php' => true,
- 'smarty_internal_method_getconfigvariable.php' => true,
- 'smarty_internal_method_getconfigvars.php' => true,
- 'smarty_internal_method_getdebugtemplate.php' => true,
- 'smarty_internal_method_getdefaultmodifiers.php' => true,
- 'smarty_internal_method_getglobal.php' => true,
- 'smarty_internal_method_getregisteredobject.php' => true,
- 'smarty_internal_method_getstreamvariable.php' => true,
- 'smarty_internal_method_gettags.php' => true,
- 'smarty_internal_method_gettemplatevars.php' => true,
- 'smarty_internal_method_literals.php' => true,
- 'smarty_internal_method_loadfilter.php' => true,
- 'smarty_internal_method_loadplugin.php' => true,
- 'smarty_internal_method_mustcompile.php' => true,
- 'smarty_internal_method_registercacheresource.php' => true,
- 'smarty_internal_method_registerclass.php' => true,
- 'smarty_internal_method_registerdefaultconfighandler.php' => true,
- 'smarty_internal_method_registerdefaultpluginhandler.php' => true,
- 'smarty_internal_method_registerdefaulttemplatehandler.php' => true,
- 'smarty_internal_method_registerfilter.php' => true,
- 'smarty_internal_method_registerobject.php' => true,
- 'smarty_internal_method_registerplugin.php' => true,
- 'smarty_internal_method_registerresource.php' => true,
- 'smarty_internal_method_setautoloadfilters.php' => true,
- 'smarty_internal_method_setdebugtemplate.php' => true,
- 'smarty_internal_method_setdefaultmodifiers.php' => true,
- 'smarty_internal_method_unloadfilter.php' => true,
- 'smarty_internal_method_unregistercacheresource.php' => true,
- 'smarty_internal_method_unregisterfilter.php' => true,
- 'smarty_internal_method_unregisterobject.php' => true,
- 'smarty_internal_method_unregisterplugin.php' => true,
- 'smarty_internal_method_unregisterresource.php' => true,
- 'smarty_internal_nocache_insert.php' => true,
- 'smarty_internal_parsetree.php' => true,
- 'smarty_internal_parsetree_code.php' => true,
- 'smarty_internal_parsetree_dq.php' => true,
- 'smarty_internal_parsetree_dqcontent.php' => true,
- 'smarty_internal_parsetree_tag.php' => true,
- 'smarty_internal_parsetree_template.php' => true,
- 'smarty_internal_parsetree_text.php' => true,
- 'smarty_internal_resource_eval.php' => true,
- 'smarty_internal_resource_extends.php' => true,
- 'smarty_internal_resource_file.php' => true,
- 'smarty_internal_resource_php.php' => true,
- 'smarty_internal_resource_registered.php' => true,
- 'smarty_internal_resource_stream.php' => true,
- 'smarty_internal_resource_string.php' => true,
- 'smarty_internal_runtime_cachemodify.php' => true,
- 'smarty_internal_runtime_cacheresourcefile.php' => true,
- 'smarty_internal_runtime_capture.php' => true,
- 'smarty_internal_runtime_codeframe.php' => true,
- 'smarty_internal_runtime_filterhandler.php' => true,
- 'smarty_internal_runtime_foreach.php' => true,
- 'smarty_internal_runtime_getincludepath.php' => true,
- 'smarty_internal_runtime_inheritance.php' => true,
- 'smarty_internal_runtime_make_nocache.php' => true,
- 'smarty_internal_runtime_tplfunction.php' => true,
- 'smarty_internal_runtime_updatecache.php' => true,
- 'smarty_internal_runtime_updatescope.php' => true,
- 'smarty_internal_runtime_writefile.php' => true,
- 'smarty_internal_smartytemplatecompiler.php' => true,
- 'smarty_internal_template.php' => true,
- 'smarty_internal_templatebase.php' => true,
- 'smarty_internal_templatecompilerbase.php' => true,
- 'smarty_internal_templatelexer.php' => true,
- 'smarty_internal_templateparser.php' => true,
- 'smarty_internal_testinstall.php' => true,
- 'smarty_internal_undefined.php' => true,
- 'smarty_resource.php' => true,
- 'smarty_resource_custom.php' => true,
- 'smarty_resource_recompiled.php' => true,
- 'smarty_resource_uncompiled.php' => true,
- 'smarty_security.php' => true,
- 'smarty_template_cached.php' => true,
- 'smarty_template_compiled.php' => true,
- 'smarty_template_config.php' => true,
- 'smarty_template_resource_base.php' => true,
- 'smarty_template_source.php' => true,
- 'smarty_undefined_variable.php' => true,
- 'smarty_variable.php' => true,
- );
- $iterator = new DirectoryIterator($source);
- foreach ($iterator as $file) {
- if (!$file->isDot()) {
- $filename = $file->getFilename();
- if (isset($expectedSysplugins[ $filename ])) {
- unset($expectedSysplugins[ $filename ]);
- }
- }
- }
- if ($expectedSysplugins) {
- $status = false;
- $message = "FAILED: files missing from libs/sysplugins: " . join(', ', array_keys($expectedSysplugins));
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'sysplugins' ] = $message;
- }
- } elseif ($errors === null) {
- echo "... OK\n";
- }
- } else {
- $status = false;
- $message = "FAILED: " . SMARTY_SYSPLUGINS_DIR . ' is not a directory';
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'sysplugins_dir_constant' ] = $message;
- }
- }
- if ($errors === null) {
- echo "Testing plugin files...\n";
- }
- // test if core plugins are available
- $source = SMARTY_PLUGINS_DIR;
- if (is_dir($source)) {
- $expectedPlugins = array(
- 'block.textformat.php' => true,
- 'function.counter.php' => true,
- 'function.cycle.php' => true,
- 'function.fetch.php' => true,
- 'function.html_checkboxes.php' => true,
- 'function.html_image.php' => true,
- 'function.html_options.php' => true,
- 'function.html_radios.php' => true,
- 'function.html_select_date.php' => true,
- 'function.html_select_time.php' => true,
- 'function.html_table.php' => true,
- 'function.mailto.php' => true,
- 'function.math.php' => true,
- 'modifier.capitalize.php' => true,
- 'modifier.date_format.php' => true,
- 'modifier.debug_print_var.php' => true,
- 'modifier.escape.php' => true,
- 'modifier.mb_wordwrap.php' => true,
- 'modifier.regex_replace.php' => true,
- 'modifier.replace.php' => true,
- 'modifier.spacify.php' => true,
- 'modifier.truncate.php' => true,
- 'modifiercompiler.cat.php' => true,
- 'modifiercompiler.count_characters.php' => true,
- 'modifiercompiler.count_paragraphs.php' => true,
- 'modifiercompiler.count_sentences.php' => true,
- 'modifiercompiler.count_words.php' => true,
- 'modifiercompiler.default.php' => true,
- 'modifiercompiler.escape.php' => true,
- 'modifiercompiler.from_charset.php' => true,
- 'modifiercompiler.indent.php' => true,
- 'modifiercompiler.lower.php' => true,
- 'modifiercompiler.noprint.php' => true,
- 'modifiercompiler.string_format.php' => true,
- 'modifiercompiler.strip.php' => true,
- 'modifiercompiler.strip_tags.php' => true,
- 'modifiercompiler.to_charset.php' => true,
- 'modifiercompiler.unescape.php' => true,
- 'modifiercompiler.upper.php' => true,
- 'modifiercompiler.wordwrap.php' => true,
- 'outputfilter.trimwhitespace.php' => true,
- 'shared.escape_special_chars.php' => true,
- 'shared.literal_compiler_param.php' => true,
- 'shared.make_timestamp.php' => true,
- 'shared.mb_str_replace.php' => true,
- 'shared.mb_unicode.php' => true,
- 'variablefilter.htmlspecialchars.php' => true,
- );
- $iterator = new DirectoryIterator($source);
- foreach ($iterator as $file) {
- if (!$file->isDot()) {
- $filename = $file->getFilename();
- if (isset($expectedPlugins[ $filename ])) {
- unset($expectedPlugins[ $filename ]);
- }
- }
- }
- if ($expectedPlugins) {
- $status = false;
- $message = "FAILED: files missing from libs/plugins: " . join(', ', array_keys($expectedPlugins));
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'plugins' ] = $message;
- }
- } elseif ($errors === null) {
- echo "... OK\n";
- }
- } else {
- $status = false;
- $message = "FAILED: " . SMARTY_PLUGINS_DIR . ' is not a directory';
- if ($errors === null) {
- echo $message . ".\n";
- } else {
- $errors[ 'plugins_dir_constant' ] = $message;
- }
- }
- if ($errors === null) {
- echo "Tests complete.\n";
- echo "\n";
- }
- return $status;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_undefined.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_undefined.php
deleted file mode 100755
index 7df0acc..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_internal_undefined.php
+++ /dev/null
@@ -1,67 +0,0 @@
-class = $class;
- }
-
- /**
- * Wrapper for obsolete class Smarty_Internal_Runtime_ValidateCompiled
- *
- * @param \Smarty_Internal_Template $tpl
- * @param array $properties special template properties
- * @param bool $cache flag if called from cache file
- *
- * @return bool false
- */
- public function decodeProperties(Smarty_Internal_Template $tpl, $properties, $cache = false)
- {
- if ($cache) {
- $tpl->cached->valid = false;
- } else {
- $tpl->mustCompile = true;
- }
- return false;
- }
-
- /**
- * Call error handler for undefined method
- *
- * @param string $name unknown method-name
- * @param array $args argument array
- *
- * @return mixed
- * @throws SmartyException
- */
- public function __call($name, $args)
- {
- if (isset($this->class)) {
- throw new SmartyException("undefined extension class '{$this->class}'");
- } else {
- throw new SmartyException(get_class($args[ 0 ]) . "->{$name}() undefined method");
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource.php
deleted file mode 100755
index aae7e42..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource.php
+++ /dev/null
@@ -1,262 +0,0 @@
- 'smarty_internal_resource_file.php',
- 'string' => 'smarty_internal_resource_string.php',
- 'extends' => 'smarty_internal_resource_extends.php',
- 'stream' => 'smarty_internal_resource_stream.php',
- 'eval' => 'smarty_internal_resource_eval.php',
- 'php' => 'smarty_internal_resource_php.php'
- );
-
- /**
- * Source is bypassing compiler
- *
- * @var boolean
- */
- public $uncompiled = false;
-
- /**
- * Source must be recompiled on every occasion
- *
- * @var boolean
- */
- public $recompiled = false;
-
- /**
- * Flag if resource does implement populateCompiledFilepath() method
- *
- * @var bool
- */
- public $hasCompiledHandler = false;
-
- /**
- * Load Resource Handler
- *
- * @param Smarty $smarty smarty object
- * @param string $type name of the resource
- *
- * @throws SmartyException
- * @return Smarty_Resource Resource Handler
- */
- public static function load(Smarty $smarty, $type)
- {
- // try smarty's cache
- if (isset($smarty->_cache[ 'resource_handlers' ][ $type ])) {
- return $smarty->_cache[ 'resource_handlers' ][ $type ];
- }
- // try registered resource
- if (isset($smarty->registered_resources[ $type ])) {
- return $smarty->_cache[ 'resource_handlers' ][ $type ] =
- $smarty->registered_resources[ $type ] instanceof Smarty_Resource ?
- $smarty->registered_resources[ $type ] : new Smarty_Internal_Resource_Registered();
- }
- // try sysplugins dir
- if (isset(self::$sysplugins[ $type ])) {
- $_resource_class = 'Smarty_Internal_Resource_' . ucfirst($type);
- return $smarty->_cache[ 'resource_handlers' ][ $type ] = new $_resource_class();
- }
- // try plugins dir
- $_resource_class = 'Smarty_Resource_' . ucfirst($type);
- if ($smarty->loadPlugin($_resource_class)) {
- if (class_exists($_resource_class, false)) {
- return $smarty->_cache[ 'resource_handlers' ][ $type ] = new $_resource_class();
- } else {
- $smarty->registerResource(
- $type,
- array(
- "smarty_resource_{$type}_source", "smarty_resource_{$type}_timestamp",
- "smarty_resource_{$type}_secure", "smarty_resource_{$type}_trusted"
- )
- );
- // give it another try, now that the resource is registered properly
- return self::load($smarty, $type);
- }
- }
- // try streams
- $_known_stream = stream_get_wrappers();
- if (in_array($type, $_known_stream)) {
- // is known stream
- if (is_object($smarty->security_policy)) {
- $smarty->security_policy->isTrustedStream($type);
- }
- return $smarty->_cache[ 'resource_handlers' ][ $type ] = new Smarty_Internal_Resource_Stream();
- }
- // TODO: try default_(template|config)_handler
- // give up
- throw new SmartyException("Unknown resource type '{$type}'");
- }
-
- /**
- * extract resource_type and resource_name from template_resource and config_resource
- *
- * @note "C:/foo.tpl" was forced to file resource up till Smarty 3.1.3 (including).
- *
- * @param string $resource_name template_resource or config_resource to parse
- * @param string $default_resource the default resource_type defined in $smarty
- *
- * @return array with parsed resource name and type
- */
- public static function parseResourceName($resource_name, $default_resource)
- {
- if (preg_match('/^([A-Za-z0-9_\-]{2,})[:]/', $resource_name, $match)) {
- $type = $match[ 1 ];
- $name = substr($resource_name, strlen($match[ 0 ]));
- } else {
- // no resource given, use default
- // or single character before the colon is not a resource type, but part of the filepath
- $type = $default_resource;
- $name = $resource_name;
- }
- return array($name, $type);
- }
-
- /**
- * modify template_resource according to resource handlers specifications
- *
- * @param \Smarty_Internal_Template|\Smarty $obj Smarty instance
- * @param string $template_resource template_resource to extract resource handler and
- * name of
- *
- * @return string unique resource name
- * @throws \SmartyException
- */
- public static function getUniqueTemplateName($obj, $template_resource)
- {
- $smarty = $obj->_getSmartyObj();
- list($name, $type) = self::parseResourceName($template_resource, $smarty->default_resource_type);
- // TODO: optimize for Smarty's internal resource types
- $resource = Smarty_Resource::load($smarty, $type);
- // go relative to a given template?
- $_file_is_dotted = $name[ 0 ] === '.' && ($name[ 1 ] === '.' || $name[ 1 ] === '/');
- if ($obj->_isTplObj() && $_file_is_dotted
- && ($obj->source->type === 'file' || $obj->parent->source->type === 'extends')
- ) {
- $name = $smarty->_realpath(dirname($obj->parent->source->filepath) . DIRECTORY_SEPARATOR . $name);
- }
- return $resource->buildUniqueResourceName($smarty, $name);
- }
-
- /**
- * initialize Source Object for given resource
- * wrapper for backward compatibility to versions < 3.1.22
- * Either [$_template] or [$smarty, $template_resource] must be specified
- *
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty $smarty smarty object
- * @param string $template_resource resource identifier
- *
- * @return \Smarty_Template_Source Source Object
- * @throws \SmartyException
- */
- public static function source(
- Smarty_Internal_Template $_template = null,
- Smarty $smarty = null,
- $template_resource = null
- ) {
- return Smarty_Template_Source::load($_template, $smarty, $template_resource);
- }
-
- /**
- * Load template's source into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
- abstract public function getContent(Smarty_Template_Source $source);
-
- /**
- * populate Source Object with meta data from Resource
- *
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- */
- abstract public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null);
-
- /**
- * populate Source Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Source $source source object
- */
- public function populateTimestamp(Smarty_Template_Source $source)
- {
- // intentionally left blank
- }
-
- /**
- * modify resource_name according to resource handlers specifications
- *
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
- * @param boolean $isConfig flag for config resource
- *
- * @return string unique resource name
- */
- public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false)
- {
- if ($isConfig) {
- if (!isset($smarty->_joined_config_dir)) {
- $smarty->getTemplateDir(null, true);
- }
- return get_class($this) . '#' . $smarty->_joined_config_dir . '#' . $resource_name;
- } else {
- if (!isset($smarty->_joined_template_dir)) {
- $smarty->getTemplateDir();
- }
- return get_class($this) . '#' . $smarty->_joined_template_dir . '#' . $resource_name;
- }
- }
-
- /*
- * Check if resource must check time stamps when when loading complied or cached templates.
- * Resources like 'extends' which use source components my disable timestamp checks on own resource.
- *
- * @return bool
- */
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return basename(preg_replace('![^\w]+!', '_', $source->name));
- }
-
- /**
- * @return bool
- */
- public function checkTimestamps()
- {
- return true;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_custom.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_custom.php
deleted file mode 100755
index 8d66be3..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_custom.php
+++ /dev/null
@@ -1,93 +0,0 @@
-filepath = $source->type . ':' . substr(preg_replace('/[^A-Za-z0-9.]/', '', $source->name), 0, 25);
- $source->uid = sha1($source->type . ':' . $source->name);
- $mtime = $this->fetchTimestamp($source->name);
- if ($mtime !== null) {
- $source->timestamp = $mtime;
- } else {
- $this->fetch($source->name, $content, $timestamp);
- $source->timestamp = isset($timestamp) ? $timestamp : false;
- if (isset($content)) {
- $source->content = $content;
- }
- }
- $source->exists = !!$source->timestamp;
- }
-
- /**
- * Load template's source into current template object
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
- public function getContent(Smarty_Template_Source $source)
- {
- $this->fetch($source->name, $content, $timestamp);
- if (isset($content)) {
- return $content;
- }
- throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
- }
-
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- *
- * @return string resource's basename
- */
- public function getBasename(Smarty_Template_Source $source)
- {
- return basename(substr(preg_replace('/[^A-Za-z0-9.]/', '', $source->name), 0, 25));
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_recompiled.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_recompiled.php
deleted file mode 100755
index 760c4dd..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_recompiled.php
+++ /dev/null
@@ -1,94 +0,0 @@
-compiled;
- $compiled->file_dependency = array();
- $compiled->includes = array();
- $compiled->nocache_hash = null;
- $compiled->unifunc = null;
- $level = ob_get_level();
- ob_start();
- $_smarty_tpl->loadCompiler();
- // call compiler
- try {
- eval('?>' . $_smarty_tpl->compiler->compileTemplate($_smarty_tpl));
- } catch (Exception $e) {
- unset($_smarty_tpl->compiler);
- while (ob_get_level() > $level) {
- ob_end_clean();
- }
- throw $e;
- }
- // release compiler object to free memory
- unset($_smarty_tpl->compiler);
- ob_get_clean();
- $compiled->timestamp = time();
- $compiled->exists = true;
- }
-
- /**
- * populate Compiled Object with compiled filepath
- *
- * @param Smarty_Template_Compiled $compiled compiled object
- * @param Smarty_Internal_Template $_template template object
- *
- * @return void
- */
- public function populateCompiledFilepath(Smarty_Template_Compiled $compiled, Smarty_Internal_Template $_template)
- {
- $compiled->filepath = false;
- $compiled->timestamp = false;
- $compiled->exists = false;
- }
-
- /*
- * Disable timestamp checks for recompiled resource.
- *
- * @return bool
- */
- /**
- * @return bool
- */
- public function checkTimestamps()
- {
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_uncompiled.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_uncompiled.php
deleted file mode 100755
index a11e2c1..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_resource_uncompiled.php
+++ /dev/null
@@ -1,49 +0,0 @@
-filepath = $_template->source->filepath;
- $compiled->timestamp = $_template->source->timestamp;
- $compiled->exists = $_template->source->exists;
- if ($_template->smarty->merge_compiled_includes || $_template->source->handler->checkTimestamps()) {
- $compiled->file_dependency[ $_template->source->uid ] =
- array($compiled->filepath, $compiled->timestamp, $_template->source->type,);
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_security.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_security.php
deleted file mode 100755
index 441a7e2..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_security.php
+++ /dev/null
@@ -1,721 +0,0 @@
-" tags in templates.
- * possible values:
- *
- * Smarty::PHP_PASSTHRU -> echo PHP tags as they are
- * Smarty::PHP_QUOTE -> escape tags as entities
- * Smarty::PHP_REMOVE -> remove php tags
- * Smarty::PHP_ALLOW -> execute php tags
- *
- *
- * @var integer
- */
- public $php_handling = Smarty::PHP_PASSTHRU;
-
- /**
- * This is the list of template directories that are considered secure.
- * $template_dir is in this list implicitly.
- *
- * @var array
- */
- public $secure_dir = array();
-
- /**
- * This is an array of directories where trusted php scripts reside.
- * {@link $security} is disabled during their inclusion/execution.
- *
- * @var array
- */
- public $trusted_dir = array();
-
- /**
- * List of regular expressions (PCRE) that include trusted URIs
- *
- * @var array
- */
- public $trusted_uri = array();
-
- /**
- * List of trusted constants names
- *
- * @var array
- */
- public $trusted_constants = array();
-
- /**
- * This is an array of trusted static classes.
- * If empty access to all static classes is allowed.
- * If set to 'none' none is allowed.
- *
- * @var array
- */
- public $static_classes = array();
-
- /**
- * This is an nested array of trusted classes and static methods.
- * If empty access to all static classes and methods is allowed.
- * Format:
- * array (
- * 'class_1' => array('method_1', 'method_2'), // allowed methods listed
- * 'class_2' => array(), // all methods of class allowed
- * )
- * If set to null none is allowed.
- *
- * @var array
- */
- public $trusted_static_methods = array();
-
- /**
- * This is an array of trusted static properties.
- * If empty access to all static classes and properties is allowed.
- * Format:
- * array (
- * 'class_1' => array('prop_1', 'prop_2'), // allowed properties listed
- * 'class_2' => array(), // all properties of class allowed
- * )
- * If set to null none is allowed.
- *
- * @var array
- */
- public $trusted_static_properties = array();
-
- /**
- * This is an array of trusted PHP functions.
- * If empty all functions are allowed.
- * To disable all PHP functions set $php_functions = null.
- *
- * @var array
- */
- public $php_functions = array('isset', 'empty', 'count', 'sizeof', 'in_array', 'is_array', 'time',);
-
- /**
- * This is an array of trusted PHP modifiers.
- * If empty all modifiers are allowed.
- * To disable all modifier set $php_modifiers = null.
- *
- * @var array
- */
- public $php_modifiers = array('escape', 'count', 'nl2br',);
-
- /**
- * This is an array of allowed tags.
- * If empty no restriction by allowed_tags.
- *
- * @var array
- */
- public $allowed_tags = array();
-
- /**
- * This is an array of disabled tags.
- * If empty no restriction by disabled_tags.
- *
- * @var array
- */
- public $disabled_tags = array();
-
- /**
- * This is an array of allowed modifier plugins.
- * If empty no restriction by allowed_modifiers.
- *
- * @var array
- */
- public $allowed_modifiers = array();
-
- /**
- * This is an array of disabled modifier plugins.
- * If empty no restriction by disabled_modifiers.
- *
- * @var array
- */
- public $disabled_modifiers = array();
-
- /**
- * This is an array of disabled special $smarty variables.
- *
- * @var array
- */
- public $disabled_special_smarty_vars = array();
-
- /**
- * This is an array of trusted streams.
- * If empty all streams are allowed.
- * To disable all streams set $streams = null.
- *
- * @var array
- */
- public $streams = array('file');
-
- /**
- * + flag if constants can be accessed from template
- *
- * @var boolean
- */
- public $allow_constants = true;
-
- /**
- * + flag if super globals can be accessed from template
- *
- * @var boolean
- */
- public $allow_super_globals = true;
-
- /**
- * max template nesting level
- *
- * @var int
- */
- public $max_template_nesting = 0;
-
- /**
- * current template nesting level
- *
- * @var int
- */
- private $_current_template_nesting = 0;
-
- /**
- * Cache for $resource_dir lookup
- *
- * @var array
- */
- protected $_resource_dir = array();
-
- /**
- * Cache for $template_dir lookup
- *
- * @var array
- */
- protected $_template_dir = array();
-
- /**
- * Cache for $config_dir lookup
- *
- * @var array
- */
- protected $_config_dir = array();
-
- /**
- * Cache for $secure_dir lookup
- *
- * @var array
- */
- protected $_secure_dir = array();
-
- /**
- * Cache for $php_resource_dir lookup
- *
- * @var array
- */
- protected $_php_resource_dir = null;
-
- /**
- * Cache for $trusted_dir lookup
- *
- * @var array
- */
- protected $_trusted_dir = null;
-
- /**
- * Cache for include path status
- *
- * @var bool
- */
- protected $_include_path_status = false;
-
- /**
- * Cache for $_include_array lookup
- *
- * @var array
- */
- protected $_include_dir = array();
-
- /**
- * @param Smarty $smarty
- */
- public function __construct($smarty)
- {
- $this->smarty = $smarty;
- }
-
- /**
- * Check if PHP function is trusted.
- *
- * @param string $function_name
- * @param object $compiler compiler object
- *
- * @return boolean true if function is trusted
- */
- public function isTrustedPhpFunction($function_name, $compiler)
- {
- if (isset($this->php_functions)
- && (empty($this->php_functions) || in_array($function_name, $this->php_functions))
- ) {
- return true;
- }
- $compiler->trigger_template_error("PHP function '{$function_name}' not allowed by security setting");
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if static class is trusted.
- *
- * @param string $class_name
- * @param object $compiler compiler object
- *
- * @return boolean true if class is trusted
- */
- public function isTrustedStaticClass($class_name, $compiler)
- {
- if (isset($this->static_classes)
- && (empty($this->static_classes) || in_array($class_name, $this->static_classes))
- ) {
- return true;
- }
- $compiler->trigger_template_error("access to static class '{$class_name}' not allowed by security setting");
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if static class method/property is trusted.
- *
- * @param string $class_name
- * @param string $params
- * @param object $compiler compiler object
- *
- * @return boolean true if class method is trusted
- */
- public function isTrustedStaticClassAccess($class_name, $params, $compiler)
- {
- if (!isset($params[ 2 ])) {
- // fall back
- return $this->isTrustedStaticClass($class_name, $compiler);
- }
- if ($params[ 2 ] === 'method') {
- $allowed = $this->trusted_static_methods;
- $name = substr($params[ 0 ], 0, strpos($params[ 0 ], '('));
- } else {
- $allowed = $this->trusted_static_properties;
- // strip '$'
- $name = substr($params[ 0 ], 1);
- }
- if (isset($allowed)) {
- if (empty($allowed)) {
- // fall back
- return $this->isTrustedStaticClass($class_name, $compiler);
- }
- if (isset($allowed[ $class_name ])
- && (empty($allowed[ $class_name ]) || in_array($name, $allowed[ $class_name ]))
- ) {
- return true;
- }
- }
- $compiler->trigger_template_error("access to static class '{$class_name}' {$params[2]} '{$name}' not allowed by security setting");
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if PHP modifier is trusted.
- *
- * @param string $modifier_name
- * @param object $compiler compiler object
- *
- * @return boolean true if modifier is trusted
- */
- public function isTrustedPhpModifier($modifier_name, $compiler)
- {
- if (isset($this->php_modifiers)
- && (empty($this->php_modifiers) || in_array($modifier_name, $this->php_modifiers))
- ) {
- return true;
- }
- $compiler->trigger_template_error("modifier '{$modifier_name}' not allowed by security setting");
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if tag is trusted.
- *
- * @param string $tag_name
- * @param object $compiler compiler object
- *
- * @return boolean true if tag is trusted
- */
- public function isTrustedTag($tag_name, $compiler)
- {
- // check for internal always required tags
- if (in_array(
- $tag_name,
- array(
- 'assign', 'call', 'private_filter', 'private_block_plugin', 'private_function_plugin',
- 'private_object_block_function', 'private_object_function', 'private_registered_function',
- 'private_registered_block', 'private_special_variable', 'private_print_expression',
- 'private_modifier'
- )
- )
- ) {
- return true;
- }
- // check security settings
- if (empty($this->allowed_tags)) {
- if (empty($this->disabled_tags) || !in_array($tag_name, $this->disabled_tags)) {
- return true;
- } else {
- $compiler->trigger_template_error("tag '{$tag_name}' disabled by security setting", null, true);
- }
- } elseif (in_array($tag_name, $this->allowed_tags) && !in_array($tag_name, $this->disabled_tags)) {
- return true;
- } else {
- $compiler->trigger_template_error("tag '{$tag_name}' not allowed by security setting", null, true);
- }
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if special $smarty variable is trusted.
- *
- * @param string $var_name
- * @param object $compiler compiler object
- *
- * @return boolean true if tag is trusted
- */
- public function isTrustedSpecialSmartyVar($var_name, $compiler)
- {
- if (!in_array($var_name, $this->disabled_special_smarty_vars)) {
- return true;
- } else {
- $compiler->trigger_template_error(
- "special variable '\$smarty.{$var_name}' not allowed by security setting",
- null,
- true
- );
- }
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if modifier plugin is trusted.
- *
- * @param string $modifier_name
- * @param object $compiler compiler object
- *
- * @return boolean true if tag is trusted
- */
- public function isTrustedModifier($modifier_name, $compiler)
- {
- // check for internal always allowed modifier
- if (in_array($modifier_name, array('default'))) {
- return true;
- }
- // check security settings
- if (empty($this->allowed_modifiers)) {
- if (empty($this->disabled_modifiers) || !in_array($modifier_name, $this->disabled_modifiers)) {
- return true;
- } else {
- $compiler->trigger_template_error(
- "modifier '{$modifier_name}' disabled by security setting",
- null,
- true
- );
- }
- } elseif (in_array($modifier_name, $this->allowed_modifiers)
- && !in_array($modifier_name, $this->disabled_modifiers)
- ) {
- return true;
- } else {
- $compiler->trigger_template_error(
- "modifier '{$modifier_name}' not allowed by security setting",
- null,
- true
- );
- }
- return false; // should not, but who knows what happens to the compiler in the future?
- }
-
- /**
- * Check if constants are enabled or trusted
- *
- * @param string $const constant name
- * @param object $compiler compiler object
- *
- * @return bool
- */
- public function isTrustedConstant($const, $compiler)
- {
- if (in_array($const, array('true', 'false', 'null'))) {
- return true;
- }
- if (!empty($this->trusted_constants)) {
- if (!in_array(strtolower($const), $this->trusted_constants)) {
- $compiler->trigger_template_error("Security: access to constant '{$const}' not permitted");
- return false;
- }
- return true;
- }
- if ($this->allow_constants) {
- return true;
- }
- $compiler->trigger_template_error("Security: access to constants not permitted");
- return false;
- }
-
- /**
- * Check if stream is trusted.
- *
- * @param string $stream_name
- *
- * @return boolean true if stream is trusted
- * @throws SmartyException if stream is not trusted
- */
- public function isTrustedStream($stream_name)
- {
- if (isset($this->streams) && (empty($this->streams) || in_array($stream_name, $this->streams))) {
- return true;
- }
- throw new SmartyException("stream '{$stream_name}' not allowed by security setting");
- }
-
- /**
- * Check if directory of file resource is trusted.
- *
- * @param string $filepath
- * @param null|bool $isConfig
- *
- * @return bool true if directory is trusted
- * @throws \SmartyException if directory is not trusted
- */
- public function isTrustedResourceDir($filepath, $isConfig = null)
- {
- if ($this->_include_path_status !== $this->smarty->use_include_path) {
- $_dir =
- $this->smarty->use_include_path ? $this->smarty->ext->_getIncludePath->getIncludePathDirs($this->smarty) : array();
- if ($this->_include_dir !== $_dir) {
- $this->_updateResourceDir($this->_include_dir, $_dir);
- $this->_include_dir = $_dir;
- }
- $this->_include_path_status = $this->smarty->use_include_path;
- }
- $_dir = $this->smarty->getTemplateDir();
- if ($this->_template_dir !== $_dir) {
- $this->_updateResourceDir($this->_template_dir, $_dir);
- $this->_template_dir = $_dir;
- }
- $_dir = $this->smarty->getConfigDir();
- if ($this->_config_dir !== $_dir) {
- $this->_updateResourceDir($this->_config_dir, $_dir);
- $this->_config_dir = $_dir;
- }
- if ($this->_secure_dir !== $this->secure_dir) {
- $this->secure_dir = (array)$this->secure_dir;
- foreach ($this->secure_dir as $k => $d) {
- $this->secure_dir[ $k ] = $this->smarty->_realpath($d . DIRECTORY_SEPARATOR, true);
- }
- $this->_updateResourceDir($this->_secure_dir, $this->secure_dir);
- $this->_secure_dir = $this->secure_dir;
- }
- $addPath = $this->_checkDir($filepath, $this->_resource_dir);
- if ($addPath !== false) {
- $this->_resource_dir = array_merge($this->_resource_dir, $addPath);
- }
- return true;
- }
-
- /**
- * Check if URI (e.g. {fetch} or {html_image}) is trusted
- * To simplify things, isTrustedUri() resolves all input to "{$PROTOCOL}://{$HOSTNAME}".
- * So "http://username:password@hello.world.example.org:8080/some-path?some=query-string"
- * is reduced to "http://hello.world.example.org" prior to applying the patters from {@link $trusted_uri}.
- *
- * @param string $uri
- *
- * @return boolean true if URI is trusted
- * @throws SmartyException if URI is not trusted
- * @uses $trusted_uri for list of patterns to match against $uri
- */
- public function isTrustedUri($uri)
- {
- $_uri = parse_url($uri);
- if (!empty($_uri[ 'scheme' ]) && !empty($_uri[ 'host' ])) {
- $_uri = $_uri[ 'scheme' ] . '://' . $_uri[ 'host' ];
- foreach ($this->trusted_uri as $pattern) {
- if (preg_match($pattern, $_uri)) {
- return true;
- }
- }
- }
- throw new SmartyException("URI '{$uri}' not allowed by security setting");
- }
-
- /**
- * Check if directory of file resource is trusted.
- *
- * @param string $filepath
- *
- * @return boolean true if directory is trusted
- * @throws SmartyException if PHP directory is not trusted
- */
- public function isTrustedPHPDir($filepath)
- {
- if (empty($this->trusted_dir)) {
- throw new SmartyException("directory '{$filepath}' not allowed by security setting (no trusted_dir specified)");
- }
- // check if index is outdated
- if (!$this->_trusted_dir || $this->_trusted_dir !== $this->trusted_dir) {
- $this->_php_resource_dir = array();
- $this->_trusted_dir = $this->trusted_dir;
- foreach ((array)$this->trusted_dir as $directory) {
- $directory = $this->smarty->_realpath($directory . '/', true);
- $this->_php_resource_dir[ $directory ] = true;
- }
- }
- $addPath = $this->_checkDir($filepath, $this->_php_resource_dir);
- if ($addPath !== false) {
- $this->_php_resource_dir = array_merge($this->_php_resource_dir, $addPath);
- }
- return true;
- }
-
- /**
- * Remove old directories and its sub folders, add new directories
- *
- * @param array $oldDir
- * @param array $newDir
- */
- private function _updateResourceDir($oldDir, $newDir)
- {
- foreach ($oldDir as $directory) {
- // $directory = $this->smarty->_realpath($directory, true);
- $length = strlen($directory);
- foreach ($this->_resource_dir as $dir) {
- if (substr($dir, 0, $length) === $directory) {
- unset($this->_resource_dir[ $dir ]);
- }
- }
- }
- foreach ($newDir as $directory) {
- // $directory = $this->smarty->_realpath($directory, true);
- $this->_resource_dir[ $directory ] = true;
- }
- }
-
- /**
- * Check if file is inside a valid directory
- *
- * @param string $filepath
- * @param array $dirs valid directories
- *
- * @return array|bool
- * @throws \SmartyException
- */
- private function _checkDir($filepath, $dirs)
- {
- $directory = dirname($this->smarty->_realpath($filepath, true)) . DIRECTORY_SEPARATOR;
- $_directory = array();
- if (!preg_match('#[\\\\/][.][.][\\\\/]#', $directory)) {
- while (true) {
- // test if the directory is trusted
- if (isset($dirs[ $directory ])) {
- return $_directory;
- }
- // abort if we've reached root
- if (!preg_match('#[\\\\/][^\\\\/]+[\\\\/]$#', $directory)) {
- // give up
- break;
- }
- // remember the directory to add it to _resource_dir in case we're successful
- $_directory[ $directory ] = true;
- // bubble up one level
- $directory = preg_replace('#[\\\\/][^\\\\/]+[\\\\/]$#', DIRECTORY_SEPARATOR, $directory);
- }
- }
- // give up
- throw new SmartyException(sprintf('Smarty Security: not trusted file path \'%s\' ', $filepath));
- }
-
- /**
- * Loads security class and enables security
- *
- * @param \Smarty $smarty
- * @param string|Smarty_Security $security_class if a string is used, it must be class-name
- *
- * @return \Smarty current Smarty instance for chaining
- * @throws \SmartyException when an invalid class name is provided
- */
- public static function enableSecurity(Smarty $smarty, $security_class)
- {
- if ($security_class instanceof Smarty_Security) {
- $smarty->security_policy = $security_class;
- return $smarty;
- } elseif (is_object($security_class)) {
- throw new SmartyException("Class '" . get_class($security_class) . "' must extend Smarty_Security.");
- }
- if ($security_class === null) {
- $security_class = $smarty->security_class;
- }
- if (!class_exists($security_class)) {
- throw new SmartyException("Security class '$security_class' is not defined");
- } elseif ($security_class !== 'Smarty_Security' && !is_subclass_of($security_class, 'Smarty_Security')) {
- throw new SmartyException("Class '$security_class' must extend Smarty_Security.");
- } else {
- $smarty->security_policy = new $security_class($smarty);
- }
- return $smarty;
- }
-
- /**
- * Start template processing
- *
- * @param $template
- *
- * @throws SmartyException
- */
- public function startTemplate($template)
- {
- if ($this->max_template_nesting > 0 && $this->_current_template_nesting++ >= $this->max_template_nesting) {
- throw new SmartyException("maximum template nesting level of '{$this->max_template_nesting}' exceeded when calling '{$template->template_resource}'");
- }
- }
-
- /**
- * Exit template processing
- */
- public function endTemplate()
- {
- if ($this->max_template_nesting > 0) {
- $this->_current_template_nesting--;
- }
- }
-
- /**
- * Register callback functions call at start/end of template rendering
- *
- * @param \Smarty_Internal_Template $template
- */
- public function registerCallBacks(Smarty_Internal_Template $template)
- {
- $template->startRenderCallbacks[] = array($this, 'startTemplate');
- $template->endRenderCallbacks[] = array($this, 'endTemplate');
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_cached.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_cached.php
deleted file mode 100755
index 508d27f..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_cached.php
+++ /dev/null
@@ -1,257 +0,0 @@
-compile_id = $_template->compile_id;
- $this->cache_id = $_template->cache_id;
- $this->source = $_template->source;
- if (!class_exists('Smarty_CacheResource', false)) {
- include SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php';
- }
- $this->handler = Smarty_CacheResource::load($_template->smarty);
- }
-
- /**
- * @param Smarty_Internal_Template $_template
- *
- * @return Smarty_Template_Cached
- */
- public static function load(Smarty_Internal_Template $_template)
- {
- $_template->cached = new Smarty_Template_Cached($_template);
- $_template->cached->handler->populate($_template->cached, $_template);
- // caching enabled ?
- if (!$_template->caching || $_template->source->handler->recompiled
- ) {
- $_template->cached->valid = false;
- }
- return $_template->cached;
- }
-
- /**
- * Render cache template
- *
- * @param \Smarty_Internal_Template $_template
- * @param bool $no_output_filter
- *
- * @throws \Exception
- */
- public function render(Smarty_Internal_Template $_template, $no_output_filter = true)
- {
- if ($this->isCached($_template)) {
- if ($_template->smarty->debugging) {
- if (!isset($_template->smarty->_debug)) {
- $_template->smarty->_debug = new Smarty_Internal_Debug();
- }
- $_template->smarty->_debug->start_cache($_template);
- }
- if (!$this->processed) {
- $this->process($_template);
- }
- $this->getRenderedTemplateCode($_template);
- if ($_template->smarty->debugging) {
- $_template->smarty->_debug->end_cache($_template);
- }
- return;
- } else {
- $_template->smarty->ext->_updateCache->updateCache($this, $_template, $no_output_filter);
- }
- }
-
- /**
- * Check if cache is valid, lock cache if required
- *
- * @param \Smarty_Internal_Template $_template
- *
- * @return bool flag true if cache is valid
- */
- public function isCached(Smarty_Internal_Template $_template)
- {
- if ($this->valid !== null) {
- return $this->valid;
- }
- while (true) {
- while (true) {
- if ($this->exists === false || $_template->smarty->force_compile || $_template->smarty->force_cache) {
- $this->valid = false;
- } else {
- $this->valid = true;
- }
- if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_CURRENT
- && $_template->cache_lifetime >= 0 && time() > ($this->timestamp + $_template->cache_lifetime)
- ) {
- // lifetime expired
- $this->valid = false;
- }
- if ($this->valid && $_template->compile_check === Smarty::COMPILECHECK_ON
- && $_template->source->getTimeStamp() > $this->timestamp
- ) {
- $this->valid = false;
- }
- if ($this->valid || !$_template->smarty->cache_locking) {
- break;
- }
- if (!$this->handler->locked($_template->smarty, $this)) {
- $this->handler->acquireLock($_template->smarty, $this);
- break 2;
- }
- $this->handler->populate($this, $_template);
- }
- if ($this->valid) {
- if (!$_template->smarty->cache_locking || $this->handler->locked($_template->smarty, $this) === null) {
- // load cache file for the following checks
- if ($_template->smarty->debugging) {
- $_template->smarty->_debug->start_cache($_template);
- }
- if ($this->handler->process($_template, $this) === false) {
- $this->valid = false;
- } else {
- $this->processed = true;
- }
- if ($_template->smarty->debugging) {
- $_template->smarty->_debug->end_cache($_template);
- }
- } else {
- $this->is_locked = true;
- continue;
- }
- } else {
- return $this->valid;
- }
- if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_SAVED
- && $_template->cached->cache_lifetime >= 0
- && (time() > ($_template->cached->timestamp + $_template->cached->cache_lifetime))
- ) {
- $this->valid = false;
- }
- if ($_template->smarty->cache_locking) {
- if (!$this->valid) {
- $this->handler->acquireLock($_template->smarty, $this);
- } elseif ($this->is_locked) {
- $this->handler->releaseLock($_template->smarty, $this);
- }
- }
- return $this->valid;
- }
- return $this->valid;
- }
-
- /**
- * Process cached template
- *
- * @param Smarty_Internal_Template $_template template object
- * @param bool $update flag if called because cache update
- */
- public function process(Smarty_Internal_Template $_template, $update = false)
- {
- if ($this->handler->process($_template, $this, $update) === false) {
- $this->valid = false;
- }
- if ($this->valid) {
- $this->processed = true;
- } else {
- $this->processed = false;
- }
- }
-
- /**
- * Read cache content from handler
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string|false content
- */
- public function read(Smarty_Internal_Template $_template)
- {
- if (!$_template->source->handler->recompiled) {
- return $this->handler->readCachedContent($_template);
- }
- return false;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_compiled.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_compiled.php
deleted file mode 100755
index 37d8f0a..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_compiled.php
+++ /dev/null
@@ -1,257 +0,0 @@
-source->handler->hasCompiledHandler) {
- $_template->source->handler->populateCompiledFilepath($compiled, $_template);
- } else {
- $compiled->populateCompiledFilepath($_template);
- }
- return $compiled;
- }
-
- /**
- * populate Compiled Object with compiled filepath
- *
- * @param Smarty_Internal_Template $_template template object
- **/
- public function populateCompiledFilepath(Smarty_Internal_Template $_template)
- {
- $source = &$_template->source;
- $smarty = &$_template->smarty;
- $this->filepath = $smarty->getCompileDir();
- if (isset($_template->compile_id)) {
- $this->filepath .= preg_replace('![^\w]+!', '_', $_template->compile_id) .
- ($smarty->use_sub_dirs ? DIRECTORY_SEPARATOR : '^');
- }
- // if use_sub_dirs, break file into directories
- if ($smarty->use_sub_dirs) {
- $this->filepath .= $source->uid[ 0 ] . $source->uid[ 1 ] . DIRECTORY_SEPARATOR . $source->uid[ 2 ] .
- $source->uid[ 3 ] . DIRECTORY_SEPARATOR . $source->uid[ 4 ] . $source->uid[ 5 ] .
- DIRECTORY_SEPARATOR;
- }
- $this->filepath .= $source->uid . '_';
- if ($source->isConfig) {
- $this->filepath .= (int)$smarty->config_read_hidden + (int)$smarty->config_booleanize * 2 +
- (int)$smarty->config_overwrite * 4;
- } else {
- $this->filepath .= (int)$smarty->merge_compiled_includes + (int)$smarty->escape_html * 2 +
- (($smarty->merge_compiled_includes && $source->type === 'extends') ?
- (int)$smarty->extends_recursion * 4 : 0);
- }
- $this->filepath .= '.' . $source->type;
- $basename = $source->handler->getBasename($source);
- if (!empty($basename)) {
- $this->filepath .= '.' . $basename;
- }
- if ($_template->caching) {
- $this->filepath .= '.cache';
- }
- $this->filepath .= '.php';
- $this->timestamp = $this->exists = is_file($this->filepath);
- if ($this->exists) {
- $this->timestamp = filemtime($this->filepath);
- }
- }
-
- /**
- * render compiled template code
- *
- * @param Smarty_Internal_Template $_template
- *
- * @return string
- * @throws Exception
- */
- public function render(Smarty_Internal_Template $_template)
- {
- // checks if template exists
- if (!$_template->source->exists) {
- $type = $_template->source->isConfig ? 'config' : 'template';
- throw new SmartyException("Unable to load {$type} '{$_template->source->type}:{$_template->source->name}'");
- }
- if ($_template->smarty->debugging) {
- if (!isset($_template->smarty->_debug)) {
- $_template->smarty->_debug = new Smarty_Internal_Debug();
- }
- $_template->smarty->_debug->start_render($_template);
- }
- if (!$this->processed) {
- $this->process($_template);
- }
- if (isset($_template->cached)) {
- $_template->cached->file_dependency =
- array_merge($_template->cached->file_dependency, $this->file_dependency);
- }
- if ($_template->source->handler->uncompiled) {
- $_template->source->handler->renderUncompiled($_template->source, $_template);
- } else {
- $this->getRenderedTemplateCode($_template);
- }
- if ($_template->caching && $this->has_nocache_code) {
- $_template->cached->hashes[ $this->nocache_hash ] = true;
- }
- if ($_template->smarty->debugging) {
- $_template->smarty->_debug->end_render($_template);
- }
- }
-
- /**
- * load compiled template or compile from source
- *
- * @param Smarty_Internal_Template $_smarty_tpl do not change variable name, is used by compiled template
- *
- * @throws Exception
- */
- public function process(Smarty_Internal_Template $_smarty_tpl)
- {
- $source = &$_smarty_tpl->source;
- $smarty = &$_smarty_tpl->smarty;
- if ($source->handler->recompiled) {
- $source->handler->process($_smarty_tpl);
- } elseif (!$source->handler->uncompiled) {
- if (!$this->exists || $smarty->force_compile
- || ($_smarty_tpl->compile_check && $source->getTimeStamp() > $this->getTimeStamp())
- ) {
- $this->compileTemplateSource($_smarty_tpl);
- $compileCheck = $_smarty_tpl->compile_check;
- $_smarty_tpl->compile_check = Smarty::COMPILECHECK_OFF;
- $this->loadCompiledTemplate($_smarty_tpl);
- $_smarty_tpl->compile_check = $compileCheck;
- } else {
- $_smarty_tpl->mustCompile = true;
- @include $this->filepath;
- if ($_smarty_tpl->mustCompile) {
- $this->compileTemplateSource($_smarty_tpl);
- $compileCheck = $_smarty_tpl->compile_check;
- $_smarty_tpl->compile_check = Smarty::COMPILECHECK_OFF;
- $this->loadCompiledTemplate($_smarty_tpl);
- $_smarty_tpl->compile_check = $compileCheck;
- }
- }
- $_smarty_tpl->_subTemplateRegister();
- $this->processed = true;
- }
- }
-
- /**
- * compile template from source
- *
- * @param Smarty_Internal_Template $_template
- *
- * @throws Exception
- */
- public function compileTemplateSource(Smarty_Internal_Template $_template)
- {
- $this->file_dependency = array();
- $this->includes = array();
- $this->nocache_hash = null;
- $this->unifunc = null;
- // compile locking
- if ($saved_timestamp = (!$_template->source->handler->recompiled && is_file($this->filepath))) {
- $saved_timestamp = $this->getTimeStamp();
- touch($this->filepath);
- }
- // compile locking
- try {
- // call compiler
- $_template->loadCompiler();
- $this->write($_template, $_template->compiler->compileTemplate($_template));
- } catch (Exception $e) {
- // restore old timestamp in case of error
- if ($saved_timestamp && is_file($this->filepath)) {
- touch($this->filepath, $saved_timestamp);
- }
- unset($_template->compiler);
- throw $e;
- }
- // release compiler object to free memory
- unset($_template->compiler);
- }
-
- /**
- * Write compiled code by handler
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $code compiled code
- *
- * @return bool success
- * @throws \SmartyException
- */
- public function write(Smarty_Internal_Template $_template, $code)
- {
- if (!$_template->source->handler->recompiled) {
- if ($_template->smarty->ext->_writeFile->writeFile($this->filepath, $code, $_template->smarty) === true) {
- $this->timestamp = $this->exists = is_file($this->filepath);
- if ($this->exists) {
- $this->timestamp = filemtime($this->filepath);
- return true;
- }
- }
- return false;
- }
- return true;
- }
-
- /**
- * Read compiled content from handler
- *
- * @param Smarty_Internal_Template $_template template object
- *
- * @return string content
- */
- public function read(Smarty_Internal_Template $_template)
- {
- if (!$_template->source->handler->recompiled) {
- return file_get_contents($this->filepath);
- }
- return isset($this->content) ? $this->content : false;
- }
-
- /**
- * Load fresh compiled template by including the PHP file
- * HHVM requires a work around because of a PHP incompatibility
- *
- * @param \Smarty_Internal_Template $_smarty_tpl do not change variable name, is used by compiled template
- */
- private function loadCompiledTemplate(Smarty_Internal_Template $_smarty_tpl)
- {
- if (function_exists('opcache_invalidate')
- && (!function_exists('ini_get') || strlen(ini_get("opcache.restrict_api")) < 1)
- ) {
- opcache_invalidate($this->filepath, true);
- } elseif (function_exists('apc_compile_file')) {
- apc_compile_file($this->filepath);
- }
- if (defined('HHVM_VERSION')) {
- eval('?>' . file_get_contents($this->filepath));
- } else {
- include $this->filepath;
- }
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_config.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_config.php
deleted file mode 100755
index 850ae32..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_config.php
+++ /dev/null
@@ -1,100 +0,0 @@
- true, 'php' => true);
- if ($_template) {
- $smarty = $_template->smarty;
- $template_resource = $_template->template_resource;
- }
- if (empty($template_resource)) {
- throw new SmartyException('Source: Missing name');
- }
- // parse resource_name, load resource handler
- list($name, $type) = Smarty_Resource::parseResourceName($template_resource, $smarty->default_config_type);
- // make sure configs are not loaded via anything smarty can't handle
- if (isset($_incompatible_resources[ $type ])) {
- throw new SmartyException("Unable to use resource '{$type}' for config");
- }
- $source = new Smarty_Template_Config($smarty, $template_resource, $type, $name);
- $source->handler->populate($source, $_template);
- if (!$source->exists && isset($smarty->default_config_handler_func)) {
- Smarty_Internal_Method_RegisterDefaultTemplateHandler::_getDefaultTemplate($source);
- $source->handler->populate($source, $_template);
- }
- return $source;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_resource_base.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_resource_base.php
deleted file mode 100755
index 52bfba2..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_resource_base.php
+++ /dev/null
@@ -1,152 +0,0 @@
-smarty;
- $_template->isRenderingCache = $this->isCache;
- $level = ob_get_level();
- try {
- if (!isset($unifunc)) {
- $unifunc = $this->unifunc;
- }
- if (empty($unifunc) || !function_exists($unifunc)) {
- throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
- }
- if ($_template->startRenderCallbacks) {
- foreach ($_template->startRenderCallbacks as $callback) {
- call_user_func($callback, $_template);
- }
- }
- $unifunc($_template);
- foreach ($_template->endRenderCallbacks as $callback) {
- call_user_func($callback, $_template);
- }
- $_template->isRenderingCache = false;
- } catch (Exception $e) {
- $_template->isRenderingCache = false;
- while (ob_get_level() > $level) {
- ob_end_clean();
- }
- if (isset($smarty->security_policy)) {
- $smarty->security_policy->endTemplate();
- }
- throw $e;
- }
- }
-
- /**
- * Get compiled time stamp
- *
- * @return int
- */
- public function getTimeStamp()
- {
- if ($this->exists && !$this->timestamp) {
- $this->timestamp = filemtime($this->filepath);
- }
- return $this->timestamp;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_source.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_source.php
deleted file mode 100755
index 16b47f2..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_template_source.php
+++ /dev/null
@@ -1,213 +0,0 @@
-handler =
- isset($smarty->_cache[ 'resource_handlers' ][ $type ]) ? $smarty->_cache[ 'resource_handlers' ][ $type ] :
- Smarty_Resource::load($smarty, $type);
- $this->smarty = $smarty;
- $this->resource = $resource;
- $this->type = $type;
- $this->name = $name;
- }
-
- /**
- * initialize Source Object for given resource
- * Either [$_template] or [$smarty, $template_resource] must be specified
- *
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty $smarty smarty object
- * @param string $template_resource resource identifier
- *
- * @return Smarty_Template_Source Source Object
- * @throws SmartyException
- */
- public static function load(
- Smarty_Internal_Template $_template = null,
- Smarty $smarty = null,
- $template_resource = null
- ) {
- if ($_template) {
- $smarty = $_template->smarty;
- $template_resource = $_template->template_resource;
- }
- if (empty($template_resource)) {
- throw new SmartyException('Source: Missing name');
- }
- // parse resource_name, load resource handler, identify unique resource name
- if (preg_match('/^([A-Za-z0-9_\-]{2,})[:]([\s\S]*)$/', $template_resource, $match)) {
- $type = $match[ 1 ];
- $name = $match[ 2 ];
- } else {
- // no resource given, use default
- // or single character before the colon is not a resource type, but part of the filepath
- $type = $smarty->default_resource_type;
- $name = $template_resource;
- }
- // create new source object
- $source = new Smarty_Template_Source($smarty, $template_resource, $type, $name);
- $source->handler->populate($source, $_template);
- if (!$source->exists && isset($_template->smarty->default_template_handler_func)) {
- Smarty_Internal_Method_RegisterDefaultTemplateHandler::_getDefaultTemplate($source);
- $source->handler->populate($source, $_template);
- }
- return $source;
- }
-
- /**
- * Get source time stamp
- *
- * @return int
- */
- public function getTimeStamp()
- {
- if (!isset($this->timestamp)) {
- $this->handler->populateTimestamp($this);
- }
- return $this->timestamp;
- }
-
- /**
- * Get source content
- *
- * @return string
- * @throws \SmartyException
- */
- public function getContent()
- {
- return isset($this->content) ? $this->content : $this->handler->getContent($this);
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_undefined_variable.php b/php_libs/smarty-3.1.33/libs/sysplugins/smarty_undefined_variable.php
deleted file mode 100755
index 6d31a8a..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smarty_undefined_variable.php
+++ /dev/null
@@ -1,33 +0,0 @@
-value = $value;
- $this->nocache = $nocache;
- }
-
- /**
- * <> String conversion
- *
- * @return string
- */
- public function __toString()
- {
- return (string)$this->value;
- }
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smartycompilerexception.php b/php_libs/smarty-3.1.33/libs/sysplugins/smartycompilerexception.php
deleted file mode 100755
index f7ad39b..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smartycompilerexception.php
+++ /dev/null
@@ -1,45 +0,0 @@
- Smarty Compiler: ' . $this->message . ' <-- ';
- }
-
- /**
- * The line number of the template error
- *
- * @type int|null
- */
- public $line = null;
-
- /**
- * The template source snippet relating to the error
- *
- * @type string|null
- */
- public $source = null;
-
- /**
- * The raw text of the error message
- *
- * @type string|null
- */
- public $desc = null;
-
- /**
- * The resource identifier or template name
- *
- * @type string|null
- */
- public $template = null;
-}
diff --git a/php_libs/smarty-3.1.33/libs/sysplugins/smartyexception.php b/php_libs/smarty-3.1.33/libs/sysplugins/smartyexception.php
deleted file mode 100755
index 7f7b9aa..0000000
--- a/php_libs/smarty-3.1.33/libs/sysplugins/smartyexception.php
+++ /dev/null
@@ -1,19 +0,0 @@
- Smarty: ' . (self::$escape ? htmlentities($this->message) : $this->message) . ' <-- ';
- }
-}
diff --git a/public_html_admin/clients.php b/public_html_admin/clients.php
index b561fef..69c6452 100644
--- a/public_html_admin/clients.php
+++ b/public_html_admin/clients.php
@@ -1,36 +1,14 @@
setDbConf(
- $GLOBALS['db_admin']['type'],
- $GLOBALS['db_admin']['db'],
- $GLOBALS['db_admin']['user'],
- $GLOBALS['db_admin']['pwd'],
- $GLOBALS['db_admin']['host']
- );
- $r = $GLOBALS['db_admin']['man']->connect();
- if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")");
-}
-$GLOBALS['racine'] = 'clients.php';
+require_once('../init.php');
$GLOBALS['smarty']->assign('page','clients');
+$GLOBALS['template'] = 'clients/clients_list.tpl';
$GLOBALS['smarty']->assign('secondbar','clients/clients_secondbar.tpl');
+$jsFiles[] = PUBLIC_HTML_ADMIN.'js/clients.js';
+$cssFiles[] = PUBLIC_HTML_ADMIN.'css/clients.css';
-include_once(FUNCTIONS_DIR_PATH.'functions_clients.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_contrats.php');
-
-$action = false;
-if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] );
-
-if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
- $id = intval($_REQUEST["ref"]);
+if($id>0 && $action) {
$infos = getClientDatas($id);
-
switch($action) {
// AJAX GET DATAS
case "getDatas": die(json_encode($infos)); break;
@@ -55,7 +33,6 @@ if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
default: die("NO ACTION");
}
}
-
switch($action) {
/****** ABSENCES ***********/
// AJAX GET CLIENT ABSENCE DATAS
@@ -119,13 +96,7 @@ switch($action) {
die(json_encode($limits));
}
- // TEMPLATE
- $GLOBALS['template'] = 'clients/clients_list.tpl';
- $jsFiles[] = PUBLIC_HTML_ADMIN.'js/clients.js';
- $cssFiles[] = PUBLIC_HTML_ADMIN.'css/clients.css';
-
- /****** DISPLAY PAGE ***********/
- $GLOBALS['smarty']->assign('racine',$GLOBALS['racine']);
+ // DISPLAY
display();
}
}
\ No newline at end of file
diff --git a/public_html_admin/contrats.php b/public_html_admin/contrats.php
index 4744e8a..d3feb11 100644
--- a/public_html_admin/contrats.php
+++ b/public_html_admin/contrats.php
@@ -1,39 +1,14 @@
setDbConf(
- $GLOBALS['db_admin']['type'],
- $GLOBALS['db_admin']['db'],
- $GLOBALS['db_admin']['user'],
- $GLOBALS['db_admin']['pwd'],
- $GLOBALS['db_admin']['host']
- );
- $r = $GLOBALS['db_admin']['man']->connect();
- if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")");
-}
-$GLOBALS['racine'] = 'contrats.php';
+require_once('../init.php');
$GLOBALS['smarty']->assign('page','contrats');
+$GLOBALS['template'] = 'contrats/contrats_list.tpl';
$GLOBALS['smarty']->assign('secondbar','contrats/contrats_secondbar.tpl');
+$jsFiles[] = PUBLIC_HTML_ADMIN.'js/contrats.js';
+$cssFiles[] = PUBLIC_HTML_ADMIN.'css/contrats.css';
-include_once(FUNCTIONS_DIR_PATH.'functions_contrats.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_contrats_types.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_paniers_groupes.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_paniers_types.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_lieux.php');
-
-$action = false;
-if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] );
-
-if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
- $id = intval($_REQUEST["ref"]);
+if($id>0 && $action) {
$infos = getContratDatas($id);
-
switch($action) {
// AJAX GET DATAS
case "getDatas": die(json_encode($infos)); break;
@@ -61,7 +36,6 @@ if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
default: die("NO ACTION");
}
}
-
switch($action) {
/****** CONTRATS TYPES ***********/
// ADD CONTRATS TYPE
@@ -171,19 +145,13 @@ switch($action) {
die(json_encode($limits));
}
- // TEMPLATE
- $GLOBALS['template'] = 'contrats/contrats_list.tpl';
- $jsFiles[] = PUBLIC_HTML_ADMIN.'js/contrats.js';
- $cssFiles[] = PUBLIC_HTML_ADMIN.'css/contrats.css';
-
// REQUIRED LISTS
$GLOBALS['smarty'] -> assign('paniers_groupes_list', $groupesList);
$GLOBALS['smarty'] -> assign('contrats_types_list', getContratsTypesList());
$GLOBALS['smarty'] -> assign('paniers_list', $paniersTypesList);
$GLOBALS['smarty'] -> assign('lieux_list', $lieuxList);
- /****** DISPLAY PAGE ***********/
- $GLOBALS['smarty']->assign('racine',$GLOBALS['racine']);
+ // DISPLAY
display();
}
}
\ No newline at end of file
diff --git a/public_html_admin/legumes.php b/public_html_admin/legumes.php
index 56d2019..0513ade 100644
--- a/public_html_admin/legumes.php
+++ b/public_html_admin/legumes.php
@@ -1,36 +1,13 @@
setDbConf(
- $GLOBALS['db_admin']['type'],
- $GLOBALS['db_admin']['db'],
- $GLOBALS['db_admin']['user'],
- $GLOBALS['db_admin']['pwd'],
- $GLOBALS['db_admin']['host']
- );
- $r = $GLOBALS['db_admin']['man']->connect();
- if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")");
-}
-$GLOBALS['racine'] = 'legumes.php';
+require_once('../init.php');
$GLOBALS['smarty']->assign('page','legumes');
+$GLOBALS['template'] = 'legumes/legumes_list.tpl';
$GLOBALS['smarty']->assign('secondbar','legumes/legumes_secondbar.tpl');
+$jsFiles[] = PUBLIC_HTML_ADMIN.'js/legumes.js';
-include_once(FUNCTIONS_DIR_PATH.'functions_paniers_groupes.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_legumes.php');
-
-$action = false;
-if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] );
-
-if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
- $id = intval($_REQUEST["ref"]);
+if($id>0 && $action) {
$infos = getLegumeDatas($id);
-
switch($action) {
// AJAX GET DATAS
case "getDatas": die(json_encode($infos)); break;
@@ -149,12 +126,7 @@ switch($action) {
// PRINT
else if($print) printLegumesList();
- // TEMPLATE
- $GLOBALS['template'] = 'legumes/legumes_list.tpl';
- $jsFiles[] = PUBLIC_HTML_ADMIN.'js/legumes.js';
-
- /****** DISPLAY PAGE ***********/
- $GLOBALS['smarty']->assign('racine',$GLOBALS['racine']);
+ // DISPLAY
display();
}
}
\ No newline at end of file
diff --git a/public_html_admin/livraisons.php b/public_html_admin/livraisons.php
index 21eaa7c..e3bc04a 100644
--- a/public_html_admin/livraisons.php
+++ b/public_html_admin/livraisons.php
@@ -1,39 +1,14 @@
setDbConf(
- $GLOBALS['db_admin']['type'],
- $GLOBALS['db_admin']['db'],
- $GLOBALS['db_admin']['user'],
- $GLOBALS['db_admin']['pwd'],
- $GLOBALS['db_admin']['host']
- );
- $r = $GLOBALS['db_admin']['man']->connect();
- if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")");
-}
-$GLOBALS['racine'] = 'livraisons.php';
+require_once('../init.php');
$GLOBALS['smarty']->assign('page','livraisons');
+$GLOBALS['template'] = 'livraisons/livraisons_list.tpl';
$GLOBALS['smarty']->assign('secondbar','livraisons/livraisons_secondbar.tpl');
+$jsFiles[] = PUBLIC_HTML_ADMIN.'js/livraisons.js';
+$cssFiles[] = PUBLIC_HTML_ADMIN.'css/livraisons.css';
-require_once(FUNCTIONS_DIR_PATH.'functions_livraisons.php');
-require_once(FUNCTIONS_DIR_PATH.'functions_legumes.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_paniers_groupes.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_clients.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_contrats.php');
-
-$action = false;
-if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] );
-
-if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
- $id = intval($_REQUEST["ref"]);
+if($id>0 && $action) {
$infos = getLivraisonDatas($id);
-
switch($action) {
// AJAX GET DATAS
case "getDatas": die(json_encode($infos)); break;
@@ -234,16 +209,10 @@ switch($action) {
die(json_encode($limits));
}
- // TEMPLATE
- $GLOBALS['template'] = 'livraisons/livraisons_list.tpl';
- $jsFiles[] = PUBLIC_HTML_ADMIN.'js/livraisons.js';
- $cssFiles[] = PUBLIC_HTML_ADMIN.'css/livraisons.css';
-
// REQUIRED LIST
$GLOBALS['smarty'] -> assign('paniers_groupes_list', $groupesList);
- /****** DISPLAY PAGE ***********/
- $GLOBALS['smarty']->assign('racine',$GLOBALS['racine']);
+ // DISPLAY
display();
}
}
\ No newline at end of file
diff --git a/public_html_admin/paniers.php b/public_html_admin/paniers.php
index 6bb7bd6..0d97b63 100644
--- a/public_html_admin/paniers.php
+++ b/public_html_admin/paniers.php
@@ -1,36 +1,13 @@
setDbConf(
- $GLOBALS['db_admin']['type'],
- $GLOBALS['db_admin']['db'],
- $GLOBALS['db_admin']['user'],
- $GLOBALS['db_admin']['pwd'],
- $GLOBALS['db_admin']['host']
- );
- $r = $GLOBALS['db_admin']['man']->connect();
- if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")");
-}
-$GLOBALS['racine'] = 'paniers.php';
+require_once('../init.php');
$GLOBALS['smarty']->assign('page','paniers');
+$GLOBALS['template'] = 'paniers/paniers_list.tpl';
$GLOBALS['smarty']->assign('secondbar','paniers/paniers_secondbar.tpl');
+$jsFiles[] = PUBLIC_HTML_ADMIN.'js/paniers.js';
-include_once(FUNCTIONS_DIR_PATH.'functions_paniers_types.php');
-include_once(FUNCTIONS_DIR_PATH.'functions_paniers_groupes.php');
-
-$action = false;
-if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] );
-
-if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
- $id = intval($_REQUEST["ref"]);
+if($id>0 && $action) {
$infos = getPaniersTypeDatas($id);
-
switch($action) {
// AJAX GET DATAS
case "getDatas": die(json_encode($infos)); break;
@@ -45,7 +22,6 @@ if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) {
default: die("NO ACTION");
}
}
-
switch($action) {
/****** GROUPES DE PANIER ***********/
// ADD GROUPE
@@ -115,16 +91,11 @@ switch($action) {
$limits["list"] = $GLOBALS['smarty']->fetch("paniers/paniers_list_builder.tpl");
die(json_encode($limits));
}
-
- // TEMPLATE
- $GLOBALS['template'] = 'paniers/paniers_list.tpl';
- $jsFiles[] = PUBLIC_HTML_ADMIN.'js/paniers.js';
// REQUIRED LISTS
$GLOBALS['smarty'] -> assign('paniers_groupes_list', $groupesList);
- /****** DISPLAY PAGE ***********/
- $GLOBALS['smarty']->assign('racine',$GLOBALS['racine']);
+ // DISPLAY
display();
}
}
\ No newline at end of file
diff --git a/public_html_admin/templates/clients/clients_list.tpl b/public_html_admin/templates/clients/clients_list.tpl
index 5ce449a..a20efc2 100644
--- a/public_html_admin/templates/clients/clients_list.tpl
+++ b/public_html_admin/templates/clients/clients_list.tpl
@@ -1,4 +1,4 @@
-{if !$frameDisplay}{include file='structure/top.tpl'}{/if}
+{include file='structure/top.tpl'}