<?php /* Debugging -------------------------------------------------------------------------- */ FASE::requires('std/enum'); /* Returns a string representation of a variable */ function inspect($var) { return stripslashes(var_export($var, true)); } /* Trace + write to the warnings logfile */ function warning($message, $area = MSG_AREA_CONTEXT) { FASE::warn($area, $message); } /* Trace + writes to the errors logfile + aborts processing */ function error($message, $area = MSG_AREA_CONTEXT) { FASE::alert($area, $message); die; }
<?php require dirname(__FILE__) . '/libs/init.php'; /** Data types */ define('DT_TEXT', 'text'); define('DT_NUMBER', 'int'); define('DT_AMOUNT', 'decimal'); define('DT_FKEY', 'int'); FASE::requires('data/item'); class Company extends Item { var $has_many = array('product', 'material'); var $fields = array('name' => array(DT_TEXT, true)); } class Product extends Item { var $belongs_to = array('company'); var $has_many = array('combination'); var $fields = array('name' => array(DT_TEXT, true), 'element_1' => array(DT_TEXT, true), 'element_2' => array(DT_TEXT, false), 'element_3' => array(DT_TEXT, false), 'element_4' => array(DT_TEXT, false)); } class Material extends Item { var $belongs_to = array('company'); var $fields = array('name' => array(DT_TEXT, true)); } class Combination extends Item { var $belongs_to = array('product'); var $has_multiple = array('material' => 4); var $fields = array('price' => array(DT_AMOUNT, true)); }
{ return FASE::send(MSG_LVL_NOTIFY, array($area, $msg, $data, $place)); } public static function warn($area, $msg = null, $data = array(), $place = null) { return FASE::send(MSG_LVL_WARN, array($area, $msg, $data, $place)); } public static function alert($area, $msg = null, $data = array(), $place = null) { return FASE::send(MSG_LVL_ALERT, array($area, $msg, $data, $place)); } } /** Debugging (introspection, debugging messages display */ FASE::requires('std/meta'); /** Simple language extensions, such as call(), export() or func() */ FASE::requires('std/lang'); set_error_handler(array('FASE', 'error_handler')); /** Application configuration */ FASE::requires('/config'); /** Compatibility with both php.ini "magic quotes" setting values */ Lang::handle_magic_quotes(); /** Initialize the session only if it was already started by loging in */ if (isset($_COOKIE['PHPSESSID'])) { FASE::requires('web/session'); Session::init(); } /** Database connection is defined in config.php */ if (defined('FASE_DATABASE_CFG')) { FASE::requires('data/db'); DB_Base::connect(FASE_DATABASE_CFG); }