Example #1
0
<?php

require_once dirname(__FILE__) . '/../../common.inc.php';
require_once 'limb/core/tests/cases/init.inc.php';
lmb_tests_init_var_dir(dirname(__FILE__) . '/../../../var/config/');
lmb_env_setor('LIMB_CONF_INCLUDE_PATH', 'settings;limb/*/settings;limb/config/tests/cases/settings');
Example #2
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/toolkit/src/lmbAbstractTools.class.php');
lmb_require('limb/i18n/src/locale/lmbLocale.class.php');
lmb_require('limb/i18n/src/translation/lmbQtDictionaryBackend.class.php');
lmb_env_setor('LIMB_LOCALE_INCLUDE_PATH', 'i18n/locale;limb/i18n/i18n/locale');
/**
 * class lmbI18NTools.
 *
 * @package i18n
 * @version $Id: lmbI18NTools.class.php 8150 2010-03-26 07:58:18Z Forumsky $
 */
class lmbI18NTools extends lmbAbstractTools
{
    protected $current_locale;
    protected $locale_objects = array();
    protected $dictionaries = array();
    protected $dict_backend;
    function getDictionaryBackend()
    {
        if (!is_object($this->dict_backend)) {
            $this->dict_backend = new lmbQtDictionaryBackend();
            if (lmb_env_get('LIMB_VAR_DIR')) {
                $this->dict_backend->setCacheDir(lmb_env_get('LIMB_VAR_DIR'));
Example #3
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_env_setor('LIMB_CONTROLLER_CACHE_ENABLED', lmbToolkit::instance()->isWebAppDebugEnabled());
lmb_require('limb/core/src/lmbClassPath.class.php');
lmb_require('limb/core/src/lmbMixable.class.php');
lmb_require('limb/fs/src/lmbFs.class.php');
lmb_require('limb/validation/src/lmbErrorList.class.php');
lmb_require('limb/validation/src/lmbValidator.class.php');
lmb_require('limb/view/src/lmbDummyView.class.php');
/**
 * class lmbController.
 *
 * @package web_app
 * @version $Id: lmbController.class.php 8117 2010-01-31 11:20:22Z Forumsky $
 */
class lmbController
{
    /**
     * @var array array of mixins
     */
    protected $mixins = array();
    /**
     * @var object lmbMixable instance
     */
Example #4
0
/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/toolkit/src/lmbAbstractTools.class.php');
lmb_require('limb/config/src/lmbIni.class.php');
lmb_require('limb/config/src/lmbYaml.class.php');
lmb_require('limb/config/src/lmbYamlParser.class.php');
lmb_require('limb/config/src/lmbYamlInline.class.php');
lmb_require('limb/config/src/lmbCachedIni.class.php');
lmb_require('limb/config/src/lmbConf.class.php');
lmb_env_setor('LIMB_CONF_INCLUDE_PATH', 'settings;limb/*/settings');
/**
 * class lmbConfTools.
 *
 * @package config
 * @version $Id$
 */
class lmbConfTools extends lmbAbstractTools
{
    protected $confs = array();
    protected $conf_include_path;
    function setConf($name, $conf)
    {
        $this->confs[$this->_normalizeConfName($name)] = $conf;
    }
    function hasConf($name)
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright © 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/wysiwyg/src/macro/lmbMacroBaseWysiwygWidget.class.php');
lmb_env_setor('LIMB_FCKEDITOR_DIR', 'limb/wysiwyg/lib/FCKeditor/');
/**
 * @package wysiwyg
 * @version $Id$
 */
class lmbMacroFCKEditorWidget extends lmbMacroBaseWysiwygWidget
{
    protected $dir = '';
    function renderWysiwyg()
    {
        $this->_initWysiwyg();
        $this->_renderEditor();
    }
    protected function _renderEditor()
    {
        include_once LIMB_FCKEDITOR_DIR . '/fckeditor.php';
        $editor = new FCKeditor($this->getAttribute('name'));
        $this->_setEditorParameters($editor);
        $editor->Value = $this->getValue();
        $editor->Create();
    }
Example #6
0
function lmb_env_trace($name)
{
    lmb_env_setor('profile' . $name . LIMB_UNDEFINED, true);
}
Example #7
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_env_setor('LIMB_CONTROLLER_CACHE_ENABLED', true);
lmb_require('limb/core/src/lmbClassPath.class.php');
lmb_require('limb/core/src/lmbMixable.class.php');
lmb_require('limb/fs/src/lmbFs.class.php');
lmb_require('limb/validation/src/lmbErrorList.class.php');
lmb_require('limb/validation/src/lmbValidator.class.php');
lmb_require('limb/view/src/lmbDummyView.class.php');
/**
 * class lmbController.
 *
 * @package web_app
 * @version $Id$
 */
class lmbController
{
    /**
     * @var array array of mixins
     */
    protected $mixins = array();
    /**
     * @var object lmbMixable instance
     */
Example #8
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/config/src/lmbIni.class.php');
lmb_require('limb/fs/src/lmbFs.class.php');
lmb_env_setor('INI_TEST_UNIQUE_CONSTANT', '*constant*');
class lmbIniTest extends UnitTestCase
{
    function setUp()
    {
        lmbFs::mkdir(lmb_var_dir() . '/tmp_ini');
    }
    function tearDown()
    {
        lmbFs::rm(lmb_var_dir() . '/tmp_ini');
    }
    function _createIni($contents)
    {
        file_put_contents($file = lmb_var_dir() . '/tmp_ini/' . mt_rand() . '.ini', $contents);
        return new lmbIni($file);
    }
    function testFilePath()
    {
        $ini = new lmbIni(dirname(__FILE__) . '/ini_test.ini', false);
        $this->assertEqual($ini->getOriginalFile(), dirname(__FILE__) . '/ini_test.ini');
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/toolkit/src/lmbAbstractTools.class.php');
lmb_env_setor('LIMB_SUPPORTED_VIEW_TYPES', '.phtml=lmbMacroView;.html=lmbWactView');
/**
 * class lmbViewTools.
 *
 * @package view
 * @version $Id$
 */
class lmbViewTools extends lmbAbstractTools
{
    protected $view_types = array();
    protected $wact_locator;
    protected $macro_config;
    protected $macro_locator;
    function __construct()
    {
        parent::__construct();
        $items = explode(';', lmb_env_get('LIMB_SUPPORTED_VIEW_TYPES'));
        foreach ($items as $item) {
            list($ext, $class) = explode('=', $item);
            $this->view_types[$ext] = $class;
        }
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com 
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
 */
lmb_require('limb/validation/src/lmbErrorList.class.php');
lmb_require('limb/core/src/lmbHandle.class.php');
lmb_require('limb/validation/src/lmbValidator.class.php');
lmb_env_setor('LIMB_RULES_INCLUDE_PATH', 'src/rule;limb/*/src/rule;limb/web_app/src/validation/rule');
/**
 * Builds new or fills with the rules existing lmbValidator object, simplifying constructing rules
 * @package validation
 */
class lmbValidatorBuilder
{
    /**
     * @todo correct working of common rules shortcuts, i.e. min shortcut does not work now
     *
     * @var array
     */
    protected static $rules_shortcuts = array('matches' => 'match', 'not_matches' => 'invalid_value', 'min_length' => 'size_range', 'max_length' => 'size_range', 'range_length' => 'size_range', 'mb_min_length' => 'i18_n_size_range', 'mb_max_length' => 'i18_n_size_range', 'mb_range_length' => 'i18_n_size_range', 'min' => 'numeric_value_range', 'max' => 'numeric_value_range', 'range' => 'numeric_value_range');
    /**
     * Main function for building rules.
     *
     * @param array $rules_lists - list (array) of rules' lists, $field => $list.
     * List of rules can be a string:
     * 	$rules_lists['field'] = 'rule1|rule2|rule3';
Example #11
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2012 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
/**
 * @package cms
 * @version $Id: common.inc.php 8048 2010-01-19 22:12:02Z korchasa $
 */
require_once 'limb/core/common.inc.php';
lmb_env_setor('LIMB_CONTROLLERS_INCLUDE_PATH', 'src/controller;limb/cms/src/controller;limb/web_app/src/controller');
lmb_package_require('web_app');
lmb_package_require('wysiwyg');
lmb_require('limb/cms/toolkit.inc.php');
lmb_env_setor('JQUERY_FILE_URL', '/shared/js/js/jquery/v1.2.3.js');
lmb_env_setor('CMS_STATIC_FILES_VERSION', '2');
lmb_package_register('cms', dirname(__FILE__));
 function testTrace()
 {
     lmb_env_trace($this->_('foo'));
     ob_start();
     lmb_env_setor($key = $this->_('foo'), $value = 'bar');
     $call_line = strval(__LINE__ - 1);
     $trace_info = ob_get_clean();
     $this->assertTrue(strstr($trace_info, __FILE__));
     $this->assertTrue(strstr($trace_info, $call_line));
     $this->assertTrue(strstr($trace_info, $method_name = 'setor'));
     $this->assertTrue(strstr($trace_info, $key));
     $this->assertTrue(strstr($trace_info, $value));
     ob_start();
     lmb_env_set($key, $value = 'baz');
     $call_line = strval(__LINE__ - 1);
     $trace_info = ob_get_clean();
     $this->assertTrue(strstr($trace_info, __FILE__));
     $this->assertTrue(strstr($trace_info, $call_line));
     $this->assertTrue(strstr($trace_info, $method_name = 'set'));
     $this->assertTrue(strstr($trace_info, $key));
     $this->assertTrue(strstr($trace_info, $value));
 }
Example #13
0
 * @copyright  Copyright &copy; 2004-2012 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
/**
 * @package web_app
 */
if (PHP_SAPI == 'cli') {
    lmb_env_setor('LIMB_HTTP_GATEWAY_PATH', '/');
    lmb_env_setor('LIMB_HTTP_SHARED_PATH', '/shared/');
    lmb_env_setor('LIMB_HTTP_OFFSET_PATH', '');
} else {
    $request = lmbToolkit::instance()->getRequest();
    if (!lmb_env_has('LIMB_HTTP_OFFSET_PATH')) {
        $offset = trim(dirname($_SERVER['SCRIPT_NAME']), '/\\');
        if ($offset && $offset != '.') {
            lmb_env_setor('LIMB_HTTP_OFFSET_PATH', $offset . '/');
        } else {
            lmb_env_setor('LIMB_HTTP_OFFSET_PATH', '');
        }
    }
    if (substr(lmb_env_get('LIMB_HTTP_OFFSET_PATH'), 0, 1) == '/') {
        throw new lmbException('LIMB_HTTP_OFFSET_PATH constant must not have starting slash(' . lmb_env_get('LIMB_HTTP_OFFSET_PATH') . ')');
    }
    if (!lmb_env_has('LIMB_HTTP_GATEWAY_PATH')) {
        lmb_env_setor('LIMB_HTTP_GATEWAY_PATH', lmb_env_get('LIMB_HTTP_OFFSET_PATH') . '/');
    }
    lmb_env_setor('LIMB_HTTP_SHARED_PATH', lmb_env_get('LIMB_HTTP_OFFSET_PATH') . '/shared/');
    if (substr(lmb_env_get('LIMB_HTTP_SHARED_PATH'), -1, 1) != '/') {
        throw new lmbException('LIMB_HTTP_SHARED_PATH constant must have trailing slash(' . lmb_env_get('LIMB_HTTP_SHARED_PATH') . ')');
    }
}
Example #14
0
<?php

require_once dirname(__FILE__) . '/../../common.inc.php';
require_once 'limb/core/tests/cases/init.inc.php';
lmb_tests_init_var_dir(dirname(__FILE__) . '/../../../var');
lmb_env_setor('LIMB_JS_INCLUDE_PATH', rtrim(lmb_var_dir(), '/\\'));
Example #15
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
/**
 * @package web_app
 * @version $Id: setup.php 8131 2010-02-15 19:45:22Z conf $
 */
set_include_path(implode(PATH_SEPARATOR, array(dirname(__FILE__) . '/lib/', dirname(__FILE__), get_include_path())));
require_once 'limb/core/common.inc.php';
if (file_exists(dirname(__FILE__) . '/setup.override.php')) {
    require_once dirname(__FILE__) . '/setup.override.php';
}
lmb_package_require('web_app');
lmb_env_setor('LIMB_VAR_DIR', dirname(__FILE__) . '/var/');
lmb_env_setor('LIMB_APP_MODE', 'production');
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/i18n/src/translation/lmbI18NDictionary.class.php');
lmb_require('limb/fs/src/exception/lmbFileNotFoundException.class.php');
lmb_require('limb/fs/src/lmbFs.class.php');
lmb_env_setor('LIMB_TRANSLATIONS_INCLUDE_PATH', 'i18n/translations;limb/*/i18n/translations');
/**
 * class lmbQtDictionaryBackend.
 *
 * @package i18n
 * @version $Id$
 */
class lmbQtDictionaryBackend
{
    protected $use_cache = false;
    protected $cache_dir;
    function __construct()
    {
        $this->search_path = lmb_env_get('LIMB_TRANSLATIONS_INCLUDE_PATH');
    }
    function setCacheDir($dir)
    {
        $this->cache_dir = $dir;
    }
Example #17
0
    lmb_env_setor('LIMB_HTTP_REQUEST_PATH', $request->getUri()->toString());
    if (!lmb_env_has('LIMB_HTTP_OFFSET_PATH')) {
        $offset = trim(dirname($_SERVER['SCRIPT_NAME']), '/\\');
        if ($offset && $offset != '.') {
            lmb_env_setor('LIMB_HTTP_OFFSET_PATH', $offset . '/');
        } else {
            lmb_env_setor('LIMB_HTTP_OFFSET_PATH', '');
        }
    }
    if (substr(lmb_env_get('LIMB_HTTP_OFFSET_PATH'), 0, 1) == '/') {
        throw new lmbException('LIMB_HTTP_OFFSET_PATH constant must not have starting slash(' . lmb_env_get('LIMB_HTTP_OFFSET_PATH') . ')!!!');
    }
    //HTTP_BASE_PATH is defined automatically according to current host and offset settings
    lmb_env_setor('LIMB_HTTP_BASE_PATH', $request->getUri()->toString(array('protocol', 'user', 'password', 'host', 'port')) . '/' . lmb_env_get('LIMB_HTTP_OFFSET_PATH'));
    if (!lmb_env_has('LIMB_HTTP_GATEWAY_PATH')) {
        if (lmb_env_has('LIMB_ENABLE_MOD_REWRITE')) {
            lmb_env_setor('LIMB_HTTP_GATEWAY_PATH', lmb_env_get('LIMB_HTTP_BASE_PATH'));
        } else {
            lmb_env_setor('LIMB_HTTP_GATEWAY_PATH', lmb_env_get('LIMB_HTTP_BASE_PATH') . 'index.php/');
        }
    }
    lmb_env_setor('LIMB_HTTP_SHARED_PATH', lmb_env_get('LIMB_HTTP_BASE_PATH') . 'shared/');
    if (substr(lmb_env_get('LIMB_HTTP_BASE_PATH'), -1, 1) != '/') {
        echo 'LIMB_HTTP_BASE_PATH constant must have trailing slash(' . lmb_env_get('LIMB_HTTP_BASE_PATH') . ')!!!';
        exit(1);
    }
    if (substr(lmb_env_get('LIMB_HTTP_SHARED_PATH'), -1, 1) != '/') {
        echo 'LIMB_HTTP_SHARED_PATH constant must have trailing slash(' . lmb_env_get('LIMB_HTTP_SHARED_PATH') . ')!!!';
        exit(1);
    }
}
Example #18
0
<?php

lmb_env_setor('LIMB_CONF_INCLUDE_PATH', 'tests/settings;settings');
lmb_env_setor('LIMB_CACHE_DB_META_IN_FILE', false);
lmb_env_setor('LIMB_VAR_DIR', dirname(__FILE__) . '/../var/');
require_once dirname(__FILE__) . '/../../setup.php';
Example #19
0
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/toolkit/src/lmbAbstractTools.class.php');
lmb_env_setor('LIMB_CONTROLLERS_INCLUDE_PATH', 'src/controller;limb/*/src/controller');
/**
 * class lmbWebAppTools.
 *
 * @package web_app
 * @version $Id: lmbWebAppTools.class.php 8176 2010-04-23 16:41:47Z hidrarg $
 */
class lmbWebAppTools extends lmbAbstractTools
{
    protected $session;
    protected $view;
    protected $dispatched_controller;
    protected $routes;
    protected $flash_box;
    function getSession()
    {
        if (is_object($this->session)) {
            return $this->session;
        }
        lmb_require('limb/session/src/lmbSession.class.php');
        $this->session = new lmbSession();
<?php

/*
 * Limb PHP Framework
 *
 * @link http://limb-project.com
 * @copyright  Copyright &copy; 2004-2009 BIT(http://bit-creative.com)
 * @license    LGPL http://www.gnu.org/copyleft/lesser.html
 */
lmb_require('limb/toolkit/src/lmbToolkit.class.php');
lmb_require('limb/fs/src/lmbFs.class.php');
lmb_require('limb/js/src/lmbJsDirectiveHandlers.class.php');
lmb_env_setor('LIMB_JS_INCLUDE_PATH', 'www/js;limb/*/shared/js');
/**
 * class lmbJsPreprocessor.
 *
 * @package js
 * @version $Id$
 */
class lmbJsPreprocessor
{
    protected $processed = array();
    protected $directives = array();
    protected $error = false;
    function __construct()
    {
        $this->toolkit = lmbToolkit::instance();
        $this->addDirective('include', array(&$this, '_processInclude'));
    }
    function addDirective($directive, $handler)
    {