Server IP : 103.169.32.36 / Your IP : 216.73.217.13 Web Server : Apache System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : apache ( 48) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/dpmptsp/public_html/newsigniter/system/libraries/ |
Upload File : |
| Current File : /home/dpmptsp/public_html/newsigniter/system/libraries/Parser.php |
<?php
/**
* CodeIgniter
*
* An open source application development framework for PHP
*
* This content is released under the MIT License (MIT)
*
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @package CodeIgniter
* @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
* @since Version 1.0.0
* @filesource
*/
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Parser Class
*
* @package CodeIgniter
* @subpackage Libraries
* @category Parser
* @author EllisLab Dev Team
* @link https://codeigniter.com/user_guide/libraries/parser.html
*/
class CI_Parser {
/**
* Left delimiter character for pseudo vars
*
* @var string
*/
public $l_delim = '{';
/**
* Right delimiter character for pseudo vars
*
* @var string
*/
public $r_delim = '}';
/**
* Reference to CodeIgniter instance
*
* @var object
*/
protected $CI;
// --------------------------------------------------------------------
/**
* Class constructor
*
* @return void
*/
public function __construct()
{
$this->CI =& get_instance();
log_message('info', 'Parser Class Initialized');
}
// --------------------------------------------------------------------
/**
* Parse a template
*
* Parses pseudo-variables contained in the specified template view,
* replacing them with the data in the second param
*
* @param string
* @param array
* @param bool
* @return string
*/
public function parse($template, $data, $return = FALSE)
{
$template = $this->CI->load->view($template, $data, TRUE);
return $this->_parse($template, $data, $return);
}
// --------------------------------------------------------------------
/**
* Parse a String
*
* Parses pseudo-variables contained in the specified string,
* replacing them with the data in the second param
*
* @param string
* @param array
* @param bool
* @return string
*/
public function parse_string($template, $data, $return = FALSE)
{
return $this->_parse($template, $data, $return);
}
// --------------------------------------------------------------------
/**
* Parse a template
*
* Parses pseudo-variables contained in the specified template,
* replacing them with the data in the second param
*
* @param string
* @param array
* @param bool
* @return string
*/
protected function _parse($template, $data, $return = FALSE)
{
if ($template === '')
{
return FALSE;
}
$replace = array();
foreach ($data as $key => $val)
{
$replace = array_merge(
$replace,
is_array($val)
? $this->_parse_pair($key, $val, $template)
: $this->_parse_single($key, (string) $val, $template)
);
}
unset($data);
$template = strtr($template, $replace);
if ($return === FALSE)
{
$this->CI->output->append_output($template);
}
return $template;
}
// --------------------------------------------------------------------
/**
* Set the left/right variable delimiters
*
* @param string
* @param string
* @return void
*/
public function set_delimiters($l = '{', $r = '}')
{
$this->l_delim = $l;
$this->r_delim = $r;
}
// --------------------------------------------------------------------
/**
* Parse a single key/value
*
* @param string
* @param string
* @param string
* @return string
*/
protected function _parse_single($key, $val, $string)
{
return array($this->l_delim.$key.$this->r_delim => (string) $val);
}
// --------------------------------------------------------------------
/**
* Parse a tag pair
*
* Parses tag pairs: {some_tag} string... {/some_tag}
*
* @param string
* @param array
* @param string
* @return string
*/
protected function _parse_pair($variable, $data, $string)
{
$replace = array();
preg_match_all(
'#'.preg_quote($this->l_delim.$variable.$this->r_delim).'(.+?)'.preg_quote($this->l_delim.'/'.$variable.$this->r_delim).'#s',
$string,
$matches,
PREG_SET_ORDER
);
foreach ($matches as $match)
{
$str = '';
foreach ($data as $row)
{
$temp = array();
foreach ($row as $key => $val)
{
if (is_array($val))
{
$pair = $this->_parse_pair($key, $val, $match[1]);
if ( ! empty($pair))
{
$temp = array_merge($temp, $pair);
}
continue;
}
$temp[$this->l_delim.$key.$this->r_delim] = $val;
}
$str .= strtr($match[1], $temp);
}
$replace[$match[0]] = $str;
}
return $replace;
}
}
| N4m3 |
5!z3 |
L45t M0d!f!3d |
0wn3r / Gr0up |
P3Rm!55!0n5 |
0pt!0n5 |
| .. |
-- |
January 03 2025 03:29:24 |
0 / 0 |
0755 |
|
| Cache |
-- |
January 03 2025 03:29:24 |
0 / 0 |
0755 |
|
| Javascript |
-- |
January 03 2025 03:29:25 |
0 / 0 |
0755 |
|
| Session |
-- |
January 03 2025 03:29:25 |
0 / 0 |
0755 |
|
| | | | | |
| Calendar.php |
15.111 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Cart.php |
15.987 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Driver.php |
8.074 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Email.php |
54.788 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Encrypt.php |
11.864 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Encryption.php |
22.951 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Form_validation.php |
36.713 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Ftp.php |
13.444 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Image_lib.php |
42.023 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Javascript.php |
20.437 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Migration.php |
12.021 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Pagination.php |
16.15 KB |
January 03 2025 03:12:20 |
0 / 0 |
0644 |
|
| Parser.php |
5.706 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Profiler.php |
20.714 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Table.php |
11.969 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Trackback.php |
12.623 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Typography.php |
13.511 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Unit_test.php |
8.758 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Upload.php |
30.224 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| User_agent.php |
12.903 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Xmlrpc.php |
40.205 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Xmlrpcs.php |
15.892 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| Zip.php |
13.347 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|
| index.html |
0.128 KB |
December 31 2020 02:24:50 |
0 / 0 |
0644 |
|