function mime_content_type($file) { static $mime_types; ak_compat('mime_content_type'); empty($mime_types) ? require AK_LIB_DIR . DS . 'utils' . DS . 'mime_types.php' : null; $file_extension = substr($file, strrpos($file, '.') + 1); return !empty($mime_types[$file_extension]) ? $mime_types[$file_extension] : false; }
function mime_content_type($file) { static $mime_types; ak_compat('mime_content_type'); $mime = @mime_content_type($file); if (AK_OS == 'WINDOWS' && $mime == 'application/octet-stream' && is_file($file)){ $mime = false; } if(empty($mime)){ empty($mime_types) ? require(AK_LIB_DIR.DS.'utils'.DS.'mime_types.php') : null; $file_extension = substr($file,strrpos($file,'.')+1); $mime = !empty($mime_types[$file_extension]) ? $mime_types[$file_extension] : false; } return $mime; }
defined('AK_ACTIVE_RECORD_CACHE_DATABASE_SCHEMA') ? null : define('AK_ACTIVE_RECORD_CACHE_DATABASE_SCHEMA', AK_ACTIVE_RECORD_ENABLE_PERSISTENCE && AK_ENVIRONMENT != 'development'); defined('AK_ACTIVE_RECORD_CACHE_DATABASE_SCHEMA_LIFE') ? null : define('AK_ACTIVE_RECORD_CACHE_DATABASE_SCHEMA_LIFE', 300); defined('AK_ACTIVE_RECORD_VALIDATE_TABLE_NAMES') ? null : define('AK_ACTIVE_RECORD_VALIDATE_TABLE_NAMES', true); defined('AK_ACTIVE_RECORD_SKIP_SETTING_ACTIVE_RECORD_DEFAULTS') ? null : define('AK_ACTIVE_RECORD_SKIP_SETTING_ACTIVE_RECORD_DEFAULTS', false); defined('AK_NOT_EMPTY_REGULAR_EXPRESSION') ? null : define('AK_NOT_EMPTY_REGULAR_EXPRESSION','/.+/'); defined('AK_EMAIL_REGULAR_EXPRESSION') ? null : define('AK_EMAIL_REGULAR_EXPRESSION',"/^([a-z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-z0-9\-]+\.)+))([a-z]{2,4}|[0-9]{1,3})(\]?)$/i"); defined('AK_NUMBER_REGULAR_EXPRESSION') ? null : define('AK_NUMBER_REGULAR_EXPRESSION',"/^[0-9]+$/"); defined('AK_PHONE_REGULAR_EXPRESSION') ? null : define('AK_PHONE_REGULAR_EXPRESSION',"/^([\+]?[(]?[\+]?[ ]?[0-9]{2,3}[)]?[ ]?)?[0-9 ()\-]{4,25}$/"); defined('AK_DATE_REGULAR_EXPRESSION') ? null : define('AK_DATE_REGULAR_EXPRESSION',"/^(([0-9]{1,2}(\-|\/|\.| )[0-9]{1,2}(\-|\/|\.| )[0-9]{2,4})|([0-9]{2,4}(\-|\/|\.| )[0-9]{1,2}(\-|\/|\.| )[0-9]{1,2})){1}$/"); defined('AK_IP4_REGULAR_EXPRESSION') ? null : define('AK_IP4_REGULAR_EXPRESSION',"/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/"); defined('AK_POST_CODE_REGULAR_EXPRESSION') ? null : define('AK_POST_CODE_REGULAR_EXPRESSION',"/^[0-9A-Za-z -]{2,9}$/"); /**#@-*/ ak_compat('array_combine'); /** * Active Record objects doesn't specify their attributes directly, but rather infer them from the table definition with * which they're linked. Adding, removing, and changing attributes and their type is done directly in the database. Any change * is instantly reflected in the Active Record objects. The mapping that binds a given Active Record class to a certain * database table will happen automatically in most common cases, but can be overwritten for the uncommon ones. * * See the mapping rules in table_name and the full example in README.txt for more insight. * * == Creation == * * Active Records accepts constructor parameters either in an array or as a list of parameters in a specific format. The array method is especially useful when * you're receiving the data from somewhere else, like a HTTP request. It works like this: * * <code>
<?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ // +----------------------------------------------------------------------+ // | Akelos Framework - http://www.akelos.org | // +----------------------------------------------------------------------+ // | Copyright (c) 2002-2006, Akelos Media, S.L. & Bermi Ferrer Martinez | // | Released under the GNU Lesser General Public License, see LICENSE.txt| // +----------------------------------------------------------------------+ ak_compat('http_build_query'); /** * Native PHP URL rewriting for the Akelos Framework. * * @package ActionController * @subpackage Request * @author Bermi Ferrer <bermi a.t akelos c.om> * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> */ if(!defined('OPTIONAL')){ define('OPTIONAL', false); } if(!defined('COMPULSORY')){ define('COMPULSORY', true); }
/** * Includes PHP functions that are not available on current PHP version */ static function compat($function_name) { ak_compat($function_name); }