@@ -2,10 +2,10 @@ |
||
2 | 2 | use Pug as Pug; |
3 | 3 | jRequire("ParserAbstract.php"); |
4 | 4 | class PugAdapter extends ParserAbstract { |
5 | - public function draw( $_text, $_parameters = [] ) { |
|
6 | - $pug = new Pug\Pug(); |
|
7 | - $page = $pug->render($_text, $_parameters); |
|
8 | - return $page; |
|
9 | - } |
|
5 | + public function draw( $_text, $_parameters = [] ) { |
|
6 | + $pug = new Pug\Pug(); |
|
7 | + $page = $pug->render($_text, $_parameters); |
|
8 | + return $page; |
|
9 | + } |
|
10 | 10 | } |
11 | 11 | ?> |
@@ -1,12 +1,12 @@ |
||
1 | 1 | <?php |
2 | 2 | jRequire("ParserAbstract.php"); |
3 | 3 | class JTagAdapter extends ParserAbstract { |
4 | - public function draw( $_text, $_parameters = [] ) { |
|
5 | - foreach($_parameters as $key => $value) |
|
6 | - if(!is_array($value)) |
|
7 | - $_text = str_replace("<_${key}_>", "$value", $_text); |
|
8 | - $_text = preg_replace('~<_[^_]+_>~', '', $_text); |
|
9 | - return $_text; |
|
10 | - } |
|
4 | + public function draw( $_text, $_parameters = [] ) { |
|
5 | + foreach($_parameters as $key => $value) |
|
6 | + if(!is_array($value)) |
|
7 | + $_text = str_replace("<_${key}_>", "$value", $_text); |
|
8 | + $_text = preg_replace('~<_[^_]+_>~', '', $_text); |
|
9 | + return $_text; |
|
10 | + } |
|
11 | 11 | } |
12 | 12 | ?> |
@@ -2,13 +2,13 @@ |
||
2 | 2 | // use Twig as Twig; |
3 | 3 | jRequire("ParserAbstract.php"); |
4 | 4 | class TwigAdapter extends ParserAbstract { |
5 | - public function draw( $_text, $_parameters = [] ) { |
|
6 | - $loader = new Twig_Loader_Array([ |
|
7 | - 'index' => $_text |
|
8 | - ]); |
|
9 | - $twig = new Twig_Environment($loader); |
|
10 | - $page = $twig->render('index', $_parameters); |
|
11 | - return $page; |
|
12 | - } |
|
5 | + public function draw( $_text, $_parameters = [] ) { |
|
6 | + $loader = new Twig_Loader_Array([ |
|
7 | + 'index' => $_text |
|
8 | + ]); |
|
9 | + $twig = new Twig_Environment($loader); |
|
10 | + $page = $twig->render('index', $_parameters); |
|
11 | + return $page; |
|
12 | + } |
|
13 | 13 | } |
14 | 14 | ?> |
@@ -1,8 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | abstract class ParserAbstract { |
3 | - public function drawText( $_text, $_parameters = [] ) { |
|
4 | - return $this->draw(trim($_text), $_parameters); |
|
5 | - } |
|
6 | - abstract public function draw( $_text, $_parameters = [] ); |
|
3 | + public function drawText( $_text, $_parameters = [] ) { |
|
4 | + return $this->draw(trim($_text), $_parameters); |
|
5 | + } |
|
6 | + abstract public function draw( $_text, $_parameters = [] ); |
|
7 | 7 | } |
8 | 8 | ?> |
@@ -3,11 +3,11 @@ |
||
3 | 3 | jRequire("../../ExternalModules/Parsedown/Parsedown.php"); |
4 | 4 | use Parsedown as Parsedown; |
5 | 5 | class ParsedownAdapter extends ParserAbstract { |
6 | - public function draw( $_text, $_parameters = [] ) { |
|
7 | - $Parsedown = new Parsedown\Parsedown(); |
|
8 | - $page = $Parsedown->text($_text); |
|
9 | - $page = preg_replace('/[ ](?=[^>]*(?:<|$))/', " ", $page); |
|
10 | - return $page; |
|
11 | - } |
|
6 | + public function draw( $_text, $_parameters = [] ) { |
|
7 | + $Parsedown = new Parsedown\Parsedown(); |
|
8 | + $page = $Parsedown->text($_text); |
|
9 | + $page = preg_replace('/[ ](?=[^>]*(?:<|$))/', " ", $page); |
|
10 | + return $page; |
|
11 | + } |
|
12 | 12 | } |
13 | 13 | ?> |
@@ -2,66 +2,66 @@ |
||
2 | 2 | requireComponents("Adapters"); |
3 | 3 | jRequire("../JException/JException.php"); |
4 | 4 | class Parser { |
5 | - private static function setParser ( $_type ) { |
|
6 | - $parser = null; |
|
7 | - $_type = strtolower($_type); |
|
8 | - switch ($_type) { |
|
9 | - case "twig": |
|
10 | - $parser = new TwigAdapter(); |
|
11 | - break; |
|
12 | - case "jate": |
|
13 | - $parser = new JTagAdapter(); |
|
14 | - break; |
|
15 | - case 'jade': |
|
16 | - case "pug": |
|
17 | - $parser = new PugAdapter(); |
|
18 | - break; |
|
19 | - case "md": |
|
20 | - case "markdown": |
|
21 | - case "parsedown": |
|
22 | - $parser = new ParsedownAdapter(); |
|
23 | - break; |
|
24 | - default: |
|
25 | - $parser = -1; |
|
26 | - break; |
|
27 | - } |
|
28 | - return $parser; |
|
29 | - } |
|
30 | - public static function parseText( $_text, $_parameters = [], $_type = "html" ) { |
|
31 | - if(!is_string($_text) || !is_string($_type)) |
|
32 | - throw new JException("Parameter must be a string."); |
|
33 | - if(!is_array($_parameters)) |
|
34 | - throw new JException("Parameter must be an array."); |
|
35 | - $parser = self::setParser($_type); |
|
36 | - if($parser === -1) |
|
37 | - return $_text; |
|
38 | - return $parser->drawText($_text, $_parameters); |
|
39 | - } |
|
40 | - public static function parseFileMan( $_path, $_parameters = [], $_type = "html" ) { |
|
41 | - if(!is_string($_path)) |
|
42 | - throw new JException("Parameter must be a string."); |
|
43 | - if(!file_exists($_path)) |
|
44 | - throw new JException("File [$_path] not found."); |
|
45 | - $string = file_get_contents($_path); |
|
46 | - try { |
|
47 | - $text = self::parseText($string, $_parameters, $_type); |
|
48 | - } catch (Exception $e) { |
|
49 | - throw new JException($e->getMessage()); |
|
50 | - } |
|
51 | - return $text; |
|
52 | - } |
|
53 | - public static function parseFile( $_path, $_parameters = [] ) { |
|
54 | - if(!is_string($_path)) |
|
55 | - throw new JException("Parameter must be a string."); |
|
56 | - $extension = explode(".", $_path); |
|
57 | - $extension = $extension[count($extension)-1]; |
|
58 | - $extension = strtolower($extension); |
|
59 | - try { |
|
60 | - $text = self::parseFileMan($_path, $_parameters, $extension); |
|
61 | - } catch (Exception $e) { |
|
62 | - throw new JException($e->getMessage()); |
|
63 | - } |
|
64 | - return $text; |
|
65 | - } |
|
5 | + private static function setParser ( $_type ) { |
|
6 | + $parser = null; |
|
7 | + $_type = strtolower($_type); |
|
8 | + switch ($_type) { |
|
9 | + case "twig": |
|
10 | + $parser = new TwigAdapter(); |
|
11 | + break; |
|
12 | + case "jate": |
|
13 | + $parser = new JTagAdapter(); |
|
14 | + break; |
|
15 | + case 'jade': |
|
16 | + case "pug": |
|
17 | + $parser = new PugAdapter(); |
|
18 | + break; |
|
19 | + case "md": |
|
20 | + case "markdown": |
|
21 | + case "parsedown": |
|
22 | + $parser = new ParsedownAdapter(); |
|
23 | + break; |
|
24 | + default: |
|
25 | + $parser = -1; |
|
26 | + break; |
|
27 | + } |
|
28 | + return $parser; |
|
29 | + } |
|
30 | + public static function parseText( $_text, $_parameters = [], $_type = "html" ) { |
|
31 | + if(!is_string($_text) || !is_string($_type)) |
|
32 | + throw new JException("Parameter must be a string."); |
|
33 | + if(!is_array($_parameters)) |
|
34 | + throw new JException("Parameter must be an array."); |
|
35 | + $parser = self::setParser($_type); |
|
36 | + if($parser === -1) |
|
37 | + return $_text; |
|
38 | + return $parser->drawText($_text, $_parameters); |
|
39 | + } |
|
40 | + public static function parseFileMan( $_path, $_parameters = [], $_type = "html" ) { |
|
41 | + if(!is_string($_path)) |
|
42 | + throw new JException("Parameter must be a string."); |
|
43 | + if(!file_exists($_path)) |
|
44 | + throw new JException("File [$_path] not found."); |
|
45 | + $string = file_get_contents($_path); |
|
46 | + try { |
|
47 | + $text = self::parseText($string, $_parameters, $_type); |
|
48 | + } catch (Exception $e) { |
|
49 | + throw new JException($e->getMessage()); |
|
50 | + } |
|
51 | + return $text; |
|
52 | + } |
|
53 | + public static function parseFile( $_path, $_parameters = [] ) { |
|
54 | + if(!is_string($_path)) |
|
55 | + throw new JException("Parameter must be a string."); |
|
56 | + $extension = explode(".", $_path); |
|
57 | + $extension = $extension[count($extension)-1]; |
|
58 | + $extension = strtolower($extension); |
|
59 | + try { |
|
60 | + $text = self::parseFileMan($_path, $_parameters, $extension); |
|
61 | + } catch (Exception $e) { |
|
62 | + throw new JException($e->getMessage()); |
|
63 | + } |
|
64 | + return $text; |
|
65 | + } |
|
66 | 66 | } |
67 | 67 | ?> |
@@ -1,31 +1,31 @@ |
||
1 | 1 | <?php |
2 | 2 | class JException extends Exception { |
3 | - static protected $escapeString = "|jate|"; |
|
4 | - public function __construct($_message, $_level = 2, $_code = 0, Exception $_previous = null) { |
|
5 | - parent::__construct($_message, $_code, $_previous); |
|
6 | - if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["file"])) |
|
7 | - $this->file = debug_backtrace()[$_level]["file"]; |
|
8 | - if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["line"])) |
|
9 | - $this->line = debug_backtrace()[$_level]["line"]; |
|
10 | - if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["function"])) |
|
11 | - $this->function = debug_backtrace()[$_level]["function"]; |
|
12 | - if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["class"])) |
|
13 | - $this->class = debug_backtrace()[$_level]["class"]; |
|
14 | - } |
|
15 | - public function __toString() { |
|
16 | - return JException::encode(JException::decode($this->message)); |
|
17 | - } |
|
18 | - static public function decode( $_message ) { |
|
19 | - $messageSplitted = explode(JException::$escapeString, $_message); |
|
20 | - if(count($messageSplitted) == 3) |
|
21 | - return $messageSplitted[1]; |
|
22 | - else |
|
23 | - return $_message; |
|
24 | - } |
|
25 | - static public function encode( $_message ) { |
|
26 | - $escape = JException::$escapeString; |
|
27 | - return "$escape$_message$escape"; |
|
3 | + static protected $escapeString = "|jate|"; |
|
4 | + public function __construct($_message, $_level = 2, $_code = 0, Exception $_previous = null) { |
|
5 | + parent::__construct($_message, $_code, $_previous); |
|
6 | + if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["file"])) |
|
7 | + $this->file = debug_backtrace()[$_level]["file"]; |
|
8 | + if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["line"])) |
|
9 | + $this->line = debug_backtrace()[$_level]["line"]; |
|
10 | + if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["function"])) |
|
11 | + $this->function = debug_backtrace()[$_level]["function"]; |
|
12 | + if(isset(debug_backtrace()[$_level]) && isset(debug_backtrace()[$_level]["class"])) |
|
13 | + $this->class = debug_backtrace()[$_level]["class"]; |
|
14 | + } |
|
15 | + public function __toString() { |
|
16 | + return JException::encode(JException::decode($this->message)); |
|
17 | + } |
|
18 | + static public function decode( $_message ) { |
|
19 | + $messageSplitted = explode(JException::$escapeString, $_message); |
|
20 | + if(count($messageSplitted) == 3) |
|
21 | + return $messageSplitted[1]; |
|
22 | + else |
|
23 | + return $_message; |
|
24 | + } |
|
25 | + static public function encode( $_message ) { |
|
26 | + $escape = JException::$escapeString; |
|
27 | + return "$escape$_message$escape"; |
|
28 | 28 | |
29 | - } |
|
29 | + } |
|
30 | 30 | } |
31 | 31 | ?> |
@@ -1,12 +1,12 @@ |
||
1 | 1 | <?php |
2 | 2 | class ServerVars { |
3 | - public $server; |
|
4 | - public function __construct() { |
|
5 | - $this->server = []; |
|
6 | - $this->server["HTTP_HOST"] = $_SERVER["HTTP_HOST"]; |
|
7 | - $this->server["REQUEST_URI"] = $_SERVER["REQUEST_URI"]; |
|
8 | - $this->server["PHP_SELF"] = $_SERVER["PHP_SELF"]; |
|
9 | - $this->server["RELATIVE"] = str_replace("/index.php", "", $_SERVER["PHP_SELF"]); |
|
10 | - } |
|
3 | + public $server; |
|
4 | + public function __construct() { |
|
5 | + $this->server = []; |
|
6 | + $this->server["HTTP_HOST"] = $_SERVER["HTTP_HOST"]; |
|
7 | + $this->server["REQUEST_URI"] = $_SERVER["REQUEST_URI"]; |
|
8 | + $this->server["PHP_SELF"] = $_SERVER["PHP_SELF"]; |
|
9 | + $this->server["RELATIVE"] = str_replace("/index.php", "", $_SERVER["PHP_SELF"]); |
|
10 | + } |
|
11 | 11 | } |
12 | 12 | ?> |
@@ -1,54 +1,54 @@ |
||
1 | 1 | <?php |
2 | 2 | trait File { |
3 | - private $files; |
|
4 | - public function __construct() { |
|
5 | - $this->files = [ |
|
6 | - "required" => [], |
|
7 | - "attached" => [] |
|
8 | - ]; |
|
9 | - } |
|
10 | - public function addFile( $_file ) { |
|
11 | - try { |
|
12 | - $this->isCorrectPath($_file); |
|
13 | - } catch( Exception $e) { |
|
14 | - throw new JException($e->getMessage()); |
|
15 | - } |
|
16 | - $this->files["attached"][] = $_file; |
|
17 | - } |
|
18 | - public function addFileRequired( $_file ) { |
|
19 | - try { |
|
20 | - $this->isCorrectPath($_file); |
|
21 | - } catch( Exception $e) { |
|
22 | - throw new JException($e->getMessage()); |
|
23 | - } |
|
24 | - $this->files["required"][] = $_file; |
|
25 | - } |
|
26 | - public function addFiles( $_files ) { |
|
27 | - if(!is_array($_files)) |
|
28 | - throw new JException("Parameter must be an array."); |
|
29 | - foreach ($_files as $value) |
|
30 | - $this->addFile($value); |
|
31 | - } |
|
32 | - public function addFilesRequired( $_files ) { |
|
33 | - if(!is_array($_files)) |
|
34 | - throw new JException("Parameter must be an array."); |
|
35 | - foreach ($_files as $value) |
|
36 | - $this->addFileRequired($value); |
|
37 | - } |
|
38 | - public function getFiles() { |
|
39 | - return $this->files["attached"]; |
|
40 | - } |
|
41 | - public function getFilesRequired() { |
|
42 | - return $this->files["required"]; |
|
43 | - } |
|
44 | - protected function isCorrectPath( $_file ) { |
|
45 | - if(!is_string($_file)) |
|
46 | - throw new JException("Path must be a string."); |
|
47 | - if(!(file_exists($_file) || $this->isCorrectUrl($_file))) |
|
48 | - throw new JException("File [$_file] not found."); |
|
49 | - } |
|
50 | - protected function isCorrectUrl( $_url ) { |
|
51 | - return strpos(@get_headers($_url)[0],'200') === false ? false : true; |
|
52 | - } |
|
3 | + private $files; |
|
4 | + public function __construct() { |
|
5 | + $this->files = [ |
|
6 | + "required" => [], |
|
7 | + "attached" => [] |
|
8 | + ]; |
|
9 | + } |
|
10 | + public function addFile( $_file ) { |
|
11 | + try { |
|
12 | + $this->isCorrectPath($_file); |
|
13 | + } catch( Exception $e) { |
|
14 | + throw new JException($e->getMessage()); |
|
15 | + } |
|
16 | + $this->files["attached"][] = $_file; |
|
17 | + } |
|
18 | + public function addFileRequired( $_file ) { |
|
19 | + try { |
|
20 | + $this->isCorrectPath($_file); |
|
21 | + } catch( Exception $e) { |
|
22 | + throw new JException($e->getMessage()); |
|
23 | + } |
|
24 | + $this->files["required"][] = $_file; |
|
25 | + } |
|
26 | + public function addFiles( $_files ) { |
|
27 | + if(!is_array($_files)) |
|
28 | + throw new JException("Parameter must be an array."); |
|
29 | + foreach ($_files as $value) |
|
30 | + $this->addFile($value); |
|
31 | + } |
|
32 | + public function addFilesRequired( $_files ) { |
|
33 | + if(!is_array($_files)) |
|
34 | + throw new JException("Parameter must be an array."); |
|
35 | + foreach ($_files as $value) |
|
36 | + $this->addFileRequired($value); |
|
37 | + } |
|
38 | + public function getFiles() { |
|
39 | + return $this->files["attached"]; |
|
40 | + } |
|
41 | + public function getFilesRequired() { |
|
42 | + return $this->files["required"]; |
|
43 | + } |
|
44 | + protected function isCorrectPath( $_file ) { |
|
45 | + if(!is_string($_file)) |
|
46 | + throw new JException("Path must be a string."); |
|
47 | + if(!(file_exists($_file) || $this->isCorrectUrl($_file))) |
|
48 | + throw new JException("File [$_file] not found."); |
|
49 | + } |
|
50 | + protected function isCorrectUrl( $_url ) { |
|
51 | + return strpos(@get_headers($_url)[0],'200') === false ? false : true; |
|
52 | + } |
|
53 | 53 | } |
54 | 54 | ?> |