/**
  * put your comment there...
  * 
  */
 public function database()
 {
     // Install Database structure!
     cssJSToolbox::import('framework:installer:dbfile.class.php');
     CJTDBFileInstaller::getInstance(cssJSToolbox::resolvePath('includes:installer:installer:db:mysql:structure.sql'))->exec();
     return $this;
 }
 /**
  * put your comment there...
  * 
  */
 public function database()
 {
     // Upgrade database tables.
     cssJSToolbox::import('framework:installer:dbfile.class.php');
     CJTDBFileInstaller::getInstance(cssJSToolbox::resolvePath('includes:installer:upgrade:1.1:db:mysql:structure.sql'))->exec();
     // Chaining.
     return $this;
 }
 /**
  * put your comment there...
  * 
  */
 public function database()
 {
     // This operation runs only if required.
     // @see 15 view operations file.
     cssJSToolbox::import('framework:installer:dbfile.class.php');
     CJTDBFileInstaller::getInstance(cssJSToolbox::resolvePath('includes:installer:upgrade:1.1-CE:db:mysql:structure.sql'))->exec();
     // Chaining.
     return $this;
 }
示例#4
0
 /**
  * put your comment there...
  * 
  */
 public function __toString()
 {
     // Initialize.
     $attributes =& $this->attributes;
     // Default Class.
     if (!isset($attributes['class'])) {
         $shortcodeClass = 'block';
     }
     // Get Shortcode class file, check existance!
     $shortcodeClassFile = cssJSToolbox::resolvePath('controllers:coupling:shortcode:block:block.php');
     if (!file_exists($shortcodeClassFile)) {
         throw new Exception('Shortcode Type is not supported!! Only (block) type is currently available!!!');
     }
     // Import shortcodee handler file.
     require_once $shortcodeClassFile;
     // Import class.
     $className = "CJT_Controllers_Coupling_Shortcode_{$shortcodeClass}";
     // Load shortcode 'CLASS' handler.
     $shortcode = new $className($this->attributes, $this->content);
     // Return Shortcode replacements.
     return (string) $shortcode;
 }
 /**
  * put your comment there...
  * 
  */
 public function linkFooterStyleSheets()
 {
     // Initialize.
     $styles = array();
     // Get queued style sheets!
     global $wp_styles;
     $queuedStyles =& $wp_styles->queue;
     // Process only 'cjt' templates,
     foreach ($queuedStyles as $index => $styleName) {
         if (strpos($styleName, 'cjt-css-template-') === 0) {
             // Get style name src file, prepend to Wordpress absolute path.
             $style = $wp_styles->registered[$styleName];
             $styles[] = home_url($style->src);
             // Stop Wordpress from output <link> tag outside head tag
             // as it has no effect.
             unset($queuedStyles[$index]);
         }
     }
     // Enqueue Style Sheet loader javascript if there is any
     // styles need to be loaded.
     if (!empty($styles)) {
         // jQuery is dpendency object required by the loader.
         wp_enqueue_script('jquery');
         // Enqueue footer style sheet loader.
         wp_enqueue_script('cjt-coupling-footer-css-loader', cssJSToolbox::getURI('controllers:coupling:js:footer-stylesheet-loader.js'));
         // Output Javascript array to be filled with the styles!
         $jsStyleSheetsList = json_encode($styles);
         require cssJSToolbox::resolvePath('controllers:coupling:html:load-footer-style.html.php');
     }
 }
示例#6
0
 /**
  * put your comment there...
  * 
  */
 protected static function useScripts($className, $scripts = null)
 {
     wp_enqueue_script('Just Load Default Scripts, this works great!!!!');
     // Use current class name is $className is not provided!
     if (!$className) {
         $className = __CLASS__;
     }
     // Accept variable number of args of script list.
     $allPassedArgs = func_get_args();
     $scripts = self::trigger("{$className}.usescripts", is_array($scripts) ? $scripts : array_slice($allPassedArgs, 1));
     $stack =& $GLOBALS['wp_scripts']->registered;
     if (!$scripts) {
         throw new Exception('CJTView::useScripts method must has at least on script parameter passed!');
     }
     // Script name Reg Exp pattern.
     $nameExp = '/\\:?(\\{((\\w+)-)\\})?([\\w\\-\\.]+)(\\(.+\\))?(\\;(\\d))?$/';
     // For every script, Enqueue and localize, only if localization file found/exists.
     foreach ($scripts as $script) {
         // Get script name.
         preg_match($nameExp, $script, $scriptObject);
         // [[2]Prefix], [4] name. Prefix may be not presented.
         $name = "{$scriptObject[2]}{$scriptObject[4]}";
         $location = isset($scriptObject[7]) ? $scriptObject[7] : null;
         $scriptParameters = isset($scriptObject[5]) ? $scriptObject[5] : '';
         if (!isset($stack[$name])) {
             // Any JS lib file should named the same as the parent folder with the extension added.
             // Except files with _ at the begning
             $libPath = ':' . (strpos($scriptObject[4], '_') === 0 ? substr($scriptObject[4], 1) : "{$scriptObject[4]}:{$scriptObject[4]}");
             // Pass virtual path to getURI and resolvePath to
             // get JS file URI and localization file path.
             $jsFile = cssJSToolbox::getURI(preg_replace($nameExp, "{$libPath}.js", $script));
             $localizationFile = cssJSToolbox::resolvePath(preg_replace($nameExp, "{$libPath}.localization.php", $script));
             // Enqueue script file.
             wp_enqueue_script($name, $jsFile, null, null, $location);
             // Set script parameters.
             if (preg_match_all('/(\\w+)=(\\w+)/', $scriptParameters, $params, PREG_SET_ORDER)) {
                 // Set parameters.
                 foreach ($params as $param) {
                     $stack[$name]->cjt[$param[1]] = $param[2];
                 }
                 // Initialize CJT for the script data object.
                 // This object caryy other informations so that the other
                 // Plugin parts/components can use it to know how script file work.
                 $stack[$name]->cjt = (object) $stack[$name]->cjt;
             }
             // If localization file exists localize JS.
             if (file_exists($localizationFile)) {
                 // Get localization text array.
                 $localization = (require $localizationFile);
                 // Object name is the script name with .'s and -'s stripped.
                 // Capitalize first char after each - or . and append I18N postfix.
                 $objectName = str_replace(' ', '', ucwords(str_replace(array('.', '-'), ' ', "{$name}I18N")));
                 // Ask Wordpress to localize the script file.
                 wp_localize_script($name, $objectName, $localization);
             }
         } else {
             wp_enqueue_script($name, null, null, null, $location);
         }
     }
 }
示例#7
0
 /**
  * Get installer operations for current CJT version!
  * 
  * @return array Operations list metadata.
  */
 public function getOperations()
 {
     // Read all install/upgrade operations for all versions!
     $operations = get_option(self::INSTALLATION_STATE);
     $operations = is_array($operations) ? $operations : array();
     // Check if cached: Use only installer cache for 'current' CJT version.
     if (!isset($operations[CJTPlugin::DB_VERSION])) {
         // Import installer reflection!
         cssJSToolbox::import('framework:installer:reflection.class.php');
         // Get Installer operations.
         cssJSToolbox::import('includes:installer:installer:installer.class.php');
         $operations[CJTPlugin::DB_VERSION]['operations']['install'] = CJTInstallerReflection::getInstance('CJTInstaller', 'CJTInstaller')->getOperations();
         if ($this->isUpgrade()) {
             // Get upgrade operations , Also cache upgrader info for later use!
             $operations[CJTPlugin::DB_VERSION]['upgrader'] = $upgrader = $this->getUpgrader();
             // Check if upgrader exists!
             if (!file_exists(cssJSToolbox::resolvePath($upgrader['file']))) {
                 throw new Exception("Could not find upgrade/downgrade agent for installer '{$this->installedDbVersion}'! Incompatible version numbers! Upgrader/Downgrwader is no being supported by current versions!!");
             }
             // Import upgrader + reflect its operations!
             cssJSToolbox::import($upgrader['file']);
             $operations[CJTPlugin::DB_VERSION]['operations']['upgrade'] = CJTInstallerReflection::getInstance($upgrader['class'], 'CJTUpgradeNonTabledVersions')->getOperations();
         }
         update_option(self::INSTALLATION_STATE, $operations);
     }
     return $operations[CJTPlugin::DB_VERSION];
 }