コード例 #1
0
ファイル: CSSTool.php プロジェクト: minger11/Pipeline
 public static function getInstance()
 {
     if (!isset(self::$instance)) {
         self::$instance = new Dataface_CSSTool();
     }
     return self::$instance;
 }
コード例 #2
0
ファイル: XataJax.php プロジェクト: minger11/Pipeline
 public function __construct()
 {
     $type = null;
     if (@$_GET['-xatadoc']) {
         import('modules/XataJax/classes/JavascriptDocumentor.php');
         $type = 'JavascriptDocumentor';
     }
     $js = Dataface_JavascriptTool::getInstance($type);
     $conf = Dataface_Application::getInstance()->_conf;
     $conf = @$conf['Dataface_JavascriptTool'];
     if (!$conf) {
         $conf = array();
     }
     if (@$conf['debug']) {
         $js->setMinify(false);
         $js->setUseCache(false);
     }
     $js->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'js', XATAJAX_URL . '/js');
     $js->addPath(DATAFACE_SITE_PATH . DIRECTORY_SEPARATOR . 'js', DATAFACE_SITE_URL . '/js');
     $js->addPath(DATAFACE_PATH . DIRECTORY_SEPARATOR . 'js', DATAFACE_URL . '/js');
     $css = Dataface_CSSTool::getInstance();
     $css->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'css', XATAJAX_URL . '/css');
     $css->addPath(DATAFACE_SITE_PATH . DIRECTORY_SEPARATOR . 'css', DATAFACE_SITE_URL . '/css');
     $css->addPath(DATAFACE_PATH . DIRECTORY_SEPARATOR . 'css', DATAFACE_URL . '/css');
 }
コード例 #3
0
ファイル: XataJax.php プロジェクト: promoso/HVAC
 public function __construct()
 {
     $js = Dataface_JavascriptTool::getInstance();
     $js->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'js', XATAJAX_URL . '/js');
     $js->addPath(DATAFACE_SITE_PATH . DIRECTORY_SEPARATOR . 'js', DATAFACE_SITE_URL . '/js');
     $js->addPath(DATAFACE_PATH . DIRECTORY_SEPARATOR . 'js', DATAFACE_URL . '/js');
     $css = Dataface_CSSTool::getInstance();
     $css->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'css', XATAJAX_URL . '/css');
 }
コード例 #4
0
 function registerPaths()
 {
     if (!$this->pathsRegistered) {
         $mod = $this;
         $jt = Dataface_JavascriptTool::getInstance();
         $jt->addPath(dirname(__FILE__) . '/js', $mod->getBaseURL() . '/js');
         $ct = Dataface_CSSTool::getInstance();
         $ct->addPath(dirname(__FILE__) . '/css', $mod->getBaseURL() . '/css');
     }
 }
コード例 #5
0
 /**
  * Defines how a depselect widget should be built.
  *
  * @param Dataface_Record $record The Dataface_Record that is being edited.
  * @param array &$field The field configuration data structure that the widget is being generated for.
  * @param HTML_QuickForm The form to which the field is to be added.
  * @param string $formFieldName The name of the field in the form.
  * @param boolean $new Whether this widget is being built for a new record form.
  * @return HTML_QuickForm_element The element that can be added to a form.
  *
  */
 function &buildWidget(&$record, &$field, &$form, $formFieldName, $new = false)
 {
     $factory = Dataface_FormTool::factory();
     $mt = Dataface_ModuleTool::getInstance();
     $mod = $mt->loadModule('modules_depselect');
     //$atts = $el->getAttributes();
     $widget =& $field['widget'];
     $atts = array();
     if (!@$atts['class']) {
         $atts['class'] = '';
     }
     $atts['class'] .= ' xf-depselect';
     if (!@$atts['data-xf-table']) {
         $atts['data-xf-table'] = $field['tablename'];
     }
     $targetTable = Dataface_Table::loadTable($field['widget']['table']);
     if (PEAR::isError($targetTable)) {
         error_log("Your field {$formFieldName} is missing the widget:table directive or the table does not exist.");
         throw new Exception("Your field {$formFieldName} is missing the widget:table directive or the table does not exist.");
     }
     $targetPerms = $targetTable->getPermissions();
     $atts['data-xf-depselect-options-table'] = $field['widget']['table'];
     if (@$targetPerms['new']) {
         $atts['data-xf-depselect-perms-new'] = 1;
     }
     $atts['df:cloneable'] = 1;
     $jt = Dataface_JavascriptTool::getInstance();
     $jt->addPath(dirname(__FILE__) . '/js', $mod->getBaseURL() . '/js');
     $ct = Dataface_CSSTool::getInstance();
     $ct->addPath(dirname(__FILE__) . '/css', $mod->getBaseURL() . '/css');
     // Add our javascript
     $jt->import('xataface/widgets/depselect.js');
     $filters = array();
     if (@$field['widget']['filters'] and is_array($field['widget']['filters'])) {
         foreach ($field['widget']['filters'] as $key => $val) {
             $filters[] = urlencode($key) . '=' . urlencode($val);
         }
     }
     $atts['data-xf-depselect-filters'] = implode('&', $filters);
     if (@$field['widget']['nomatch']) {
         $atts['data-xf-depselect-nomatch'] = $field['widget']['nomatch'];
     }
     if (@$field['widget']['dialogSize']) {
         $atts['data-xf-depselect-dialogSize'] = $field['widget']['dialogSize'];
     }
     if (@$field['widget']['dialogMargin']) {
         $atts['data-xf-depselect-dialogMargin'] = $field['widget']['dialogMargin'];
     }
     //$el->setAttributes($atts);
     $el = $factory->addElement('depselect', $formFieldName, $widget['label'], $atts);
     if (PEAR::isError($el)) {
         throw new Exception($el->getMessage(), $el->getCode());
     }
     return $el;
 }
コード例 #6
0
ファイル: CSSToolTest.php プロジェクト: Zunair/xataface
 function test_compile1()
 {
     $js = Dataface_CSSTool::getInstance();
     $js->clearCache();
     $js->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CSSToolTest' . DIRECTORY_SEPARATOR . 'css1', '/css1');
     $js->import('stylesheetA.css');
     $js->import('stylesheetB.css');
     $js->import('stylesheetC.css');
     $actual = trim($js->getContents());
     $expected = "body{background-color:black;font-size:10px;padding-left:10px;padding-right:20px}table{border:1px solid black}.divB{font-weight:bold}.divC{color:red;padding:20px 10px;margin-top:1px;margin-left:30px}";
     $this->assertEquals($actual, $expected);
 }
コード例 #7
0
ファイル: g2.php プロジェクト: minger11/Pipeline
 public function __construct()
 {
     $app = Dataface_Application::getInstance();
     $s = DIRECTORY_SEPARATOR;
     if (isset($app->version) and $app->version >= 2) {
         $app->registerEventListener('SkinTool.ready', array($this, 'registerSkin'), true);
     } else {
         df_register_skin('g2', dirname(__FILE__) . $s . 'templates');
     }
     $app->registerEventListener('filterTemplateContext', array($this, 'filterTemplateContext'));
     $jt = Dataface_JavascriptTool::getInstance();
     $jt->ignore('jquery.packed.js');
     $jt->ignore('jquery-ui.min.js');
     $jt->ignore('xatajax.core.js');
     $jt->ignore('xatajax.util.js');
     $jt->ignore('xataface/lang.js');
     $jt->ignoreCss('jquery-ui/jquery-ui.css');
     $app->addHeadContent('<script src="' . htmlspecialchars(DATAFACE_URL . '/js/xataface/lang.js') . '"></script>');
     $app->addHeadContent('<script src="' . htmlspecialchars(DATAFACE_URL . '/modules/XataJax/js/jquery.packed.js') . '"></script>');
     $app->addHeadContent('<script src="' . htmlspecialchars(DATAFACE_URL . '/modules/XataJax/js/jquery-ui.min.js') . '"></script>');
     $app->addHeadContent('<script src="' . htmlspecialchars(DATAFACE_URL . '/modules/XataJax/js/xatajax.core.js') . '"></script>');
     $app->addHeadContent('<script src="' . htmlspecialchars(DATAFACE_URL . '/modules/XataJax/js/xatajax.util.js') . '"></script>');
     $app->addHeadContent('<link rel="stylesheet" type="text/css" href="' . htmlspecialchars(DATAFACE_URL . '/modules/XataJax/css/jquery-ui/jquery-ui.css') . '"/>');
     $app->addHeadContent('<link rel="stylesheet" type="text/css" href="' . htmlspecialchars($this->getBaseURL() . '/css/xataface-global.css') . '"/>');
     $jt->addPath(dirname(__FILE__) . $s . 'js', $this->getBaseURL() . '/js');
     $ct = Dataface_CSSTool::getInstance();
     $ct->addPath(dirname(__FILE__) . $s . 'css', $this->getBaseURL() . '/css');
     $jt->import('xataface/modules/g2/global.js');
     $app->addJSStrings(array('themes.g2.VIEW_SEARCH_RESULTS' => df_translate('themes.g2.VIEW_SEARCH_RESULTS', 'View Search Results'), 'themes.g2.SEARCH_RESULTS' => df_translate('themes.g2.SEARCH_RESULTS', 'Search Results')));
     // Let's create the actions for our tables.
     $app = Dataface_Application::getInstance();
     $order = -1000;
     $prefix = 'top_left_menu_actions_';
     $at = Dataface_ActionTool::getInstance();
     foreach ($app->_conf['_tables'] as $k => $v) {
         $nav = $app->getNavItem($k, $v);
         if ($nav) {
             $action = array('name' => $prefix . $k, 'label' => $nav['label'], 'description' => @$nav['description'], 'selected' => @$nav['selected'], 'url' => @$nav['href'], 'category' => 'top_left_menu_bar', 'order' => $order++);
             if (@$nav['permission']) {
                 $action['permission'] = $nav['permission'];
             }
             if (@$nav['condition']) {
                 $action['condition'] = $nav['condition'];
             }
             $at->addAction($prefix . $k, $action);
         }
     }
 }
コード例 #8
0
    function test_css()
    {
        $css = Dataface_CSSTool::getInstance();
        $css->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'JavascriptToolTest' . DIRECTORY_SEPARATOR . 'css1', '/css1');
        $js = new Dataface_JavascriptTool();
        $js->clearCache();
        $js->addPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'JavascriptToolTest' . DIRECTORY_SEPARATOR . 'js1', '/js1');
        $js->addPath(DATAFACE_PATH . '/js', '/dataface/js');
        $js->import('scriptE.js');
        $actual = trim($js->getContents());
        $expected = <<<END
if(typeof(window.__xatajax_included__)!='object'){window.__xatajax_included__={};};(function(){var headtg=document.getElementsByTagName("head")[0];if(!headtg)return;var linktg=document.createElement("link");linktg.type="text/css";linktg.rel="stylesheet";linktg.href="http://example.com/site/index.php?-action=css&--id=styleA.css-efd492ea792872aeb8bf19070f7154fa";linktg.title="Styles";headtg.appendChild(linktg);})();if(typeof(window.__xatajax_included__['scriptE.js'])=='undefined'){window.__xatajax_included__['scriptE.js']=true;alert('script E');}
END;
        $expected = trim($expected);
        $this->assertEquals($expected, $actual);
        $expected = '';
        $actual = $js->getHtml();
        $this->assertEquals($expected, $actual);
    }
コード例 #9
0
ファイル: JavascriptTool.php プロジェクト: minger11/Pipeline
 /**
  * Merges the paths of the internal CSS tool with the paths of the 
  * singleton CSS tool instance.
  * @returns void
  */
 public function mergeCSSPaths()
 {
     $css = Dataface_CSSTool::getInstance();
     foreach ($this->css->getPaths() as $k => $v) {
         $this->css->removePath($k);
     }
     foreach ($css->getPaths() as $k => $v) {
         $this->css->addPath($k, $v);
     }
 }