mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
8ab148a598
Revision: [2087] Removed array setting that is not needed Revision: [2086] Added unbindModel to turn off associations on the fly. These are reset after a call to a find<*> method. Added one more level key to isset check in DboSource::conditions. Previous check would always return true. Revision: [2085] Refactored DboSource::fields() Revision: [2084] Added fix for Ticket #419 Revision: [2083] Refactoring DboSource::conditions. Revision: [2082] Deleted a few methods by accident adding them back Revision: [2081] Added fix for Ticket #420 Added $startQuote and $endQuote vars to the MySql class, these must be added to each Dbo<database> if the database uses a quote char around fields. Example MySql uses this ` MSSQL uses [ and ]. Revision: [2080] Added delete() alias for del() in Model and SessionComponent classes. This is suggestion from Ticket #421 Revision: [2079] Added fix for Ticket #106. This was added before but lost in a merge. This fix allows adding a custom tags.ini.php file to app/config. This file will be merged with the core, overwriting any keys that match, and adding those that do not. Revision: [2078] Refactoring DboSource::conditions(). This method will now return the Model.field properly when passed a string. You can also set you own clause. WHERE, GROUP BY, HAVING, and ORDER BY. If one of these in not the first characters in the string, WHERE will be added by deafult. git-svn-id: https://svn.cakephp.org/repo/trunk/cake@2088 3807eeeb-6ff5-0310-8944-8be069107fe0
194 lines
No EOL
4.9 KiB
PHP
194 lines
No EOL
4.9 KiB
PHP
<?php
|
|
/* SVN FILE: $Id$ */
|
|
|
|
/**
|
|
* Backend for helpers.
|
|
*
|
|
* Internal methods for the Helpers.
|
|
*
|
|
* PHP versions 4 and 5
|
|
*
|
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
|
* 1785 E. Sahara Avenue, Suite 490-204
|
|
* Las Vegas, Nevada 89104
|
|
*
|
|
* Licensed under The MIT License
|
|
* Redistributions of files must retain the above copyright notice.
|
|
*
|
|
* @filesource
|
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
|
* @package cake
|
|
* @subpackage cake.cake.libs.view
|
|
* @since CakePHP v 0.2.9
|
|
* @version $Revision$
|
|
* @modifiedby $LastChangedBy$
|
|
* @lastmodified $Date$
|
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
|
*/
|
|
|
|
/**
|
|
* Backend for helpers.
|
|
*
|
|
* Long description for class
|
|
*
|
|
* @package cake
|
|
* @subpackage cake.cake.libs.view
|
|
* @since CakePHP v 0.9.2
|
|
*
|
|
*/
|
|
class Helper extends Object
|
|
{
|
|
/*************************************************************************
|
|
* Public variables
|
|
*************************************************************************/
|
|
|
|
/**#@+
|
|
* @access public
|
|
*/
|
|
|
|
|
|
/**
|
|
* Holds tag templates.
|
|
*
|
|
* @access public
|
|
* @var array
|
|
*/
|
|
var $tags = array();
|
|
|
|
/**#@-*/
|
|
|
|
/*************************************************************************
|
|
* Public methods
|
|
*************************************************************************/
|
|
|
|
/**#@+
|
|
* @access public
|
|
*/
|
|
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* Parses tag templates into $this->tags.
|
|
*
|
|
* @return void
|
|
*/
|
|
function Helper()
|
|
{
|
|
}
|
|
|
|
function loadConfig()
|
|
{
|
|
$config = fileExistsInPath(CAKE.'config'.DS.'tags.ini.php');
|
|
$cakeConfig = $this->readConfigFile($config);
|
|
|
|
if (file_exists(APP.'config'.DS.'tags.ini.php'))
|
|
{
|
|
$appConfig = $this->readConfigFile(APP.'config'.DS.'tags.ini.php');
|
|
$cakeConfig = array_merge($cakeConfig, $appConfig);
|
|
}
|
|
return $cakeConfig;
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Decides whether to output or return a string.
|
|
*
|
|
* Based on AUTO_OUTPUT and $return's value, this method decides whether to
|
|
* output a string, or return it.
|
|
*
|
|
* @param string $str String to be output or returned.
|
|
* @param boolean $return Whether this method should return a value or
|
|
* output it. This overrides AUTO_OUTPUT.
|
|
* @return mixed Either string or boolean value, depends on AUTO_OUTPUT
|
|
* and $return.
|
|
*/
|
|
function output($str, $return = false)
|
|
{
|
|
if (AUTO_OUTPUT && $return === false)
|
|
{
|
|
if (print $str)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return $str;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Assigns values to tag templates.
|
|
*
|
|
* Finds a tag template by $keyName, and replaces $values's keys with
|
|
* $values's keys.
|
|
*
|
|
* @param string $keyName Name of the key in the tag array.
|
|
* @param array $values Values to be inserted into tag.
|
|
* @return string Tag with inserted values.
|
|
*/
|
|
function assign($keyName, $values)
|
|
{
|
|
return str_replace('%%'.array_keys($values).'%%', array_values($values),
|
|
$this->tags[$keyName]);
|
|
}
|
|
|
|
/**
|
|
* Returns an array of settings in given INI file.
|
|
*
|
|
* @param string $fileName
|
|
* @return array
|
|
*/
|
|
function readConfigFile ($fileName)
|
|
{
|
|
$fileLineArray = file($fileName);
|
|
|
|
foreach ($fileLineArray as $fileLine)
|
|
{
|
|
$dataLine = trim($fileLine);
|
|
$firstChar = substr($dataLine, 0, 1);
|
|
if ($firstChar != ';' && $dataLine != '')
|
|
{
|
|
if ($firstChar == '[' && substr($dataLine, -1, 1) == ']')
|
|
{
|
|
// [section block] we might use this later do not know for sure
|
|
// this could be used to add a key with the section block name
|
|
// but it adds another array level
|
|
}
|
|
else
|
|
{
|
|
$delimiter = strpos($dataLine, '=');
|
|
if ($delimiter > 0)
|
|
{
|
|
$key = strtolower(trim(substr($dataLine, 0, $delimiter)));
|
|
$value = trim(substr($dataLine, $delimiter + 1));
|
|
if (substr($value, 0, 1) == '"' && substr($value, -1) == '"')
|
|
{
|
|
$value = substr($value, 1, -1);
|
|
}
|
|
$iniSetting[$key] = stripcslashes($value);
|
|
}
|
|
else
|
|
{
|
|
$iniSetting[strtolower(trim($dataLine))]='';
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
}
|
|
}
|
|
return $iniSetting;
|
|
}
|
|
|
|
/**#@-*/
|
|
}
|
|
|
|
?>
|