Ejemplo n.º 1
0
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container $container The DI container.
  *
  * @return  void
  */
 public function register(Container $container)
 {
     $closure = function (Container $container) {
         return new \S3($container->get('app')->get('amazon.access_key'), $container->get('app')->get('amazon.secret_key'));
     };
     Ioc::getContainer()->share('s3', $closure);
 }
Ejemplo n.º 2
0
 /**
  * createInfoBox
  *
  * @param Container  $container
  * @param \stdClass  $article
  * @param mixed      $params
  *
  * @return  string
  */
 public static function createInfoBox(Container $container, $article, $params = null)
 {
     // Include Component Core
     $param = ExtensionHelper::getParams('com_userxtd');
     $doc = \JFactory::getDocument();
     $app = $container->get('app');
     LanguageHelper::loadLanguage('com_userxtd', 'admin');
     // init params
     $image_field = $param->get('UserInfo_ImageField', 'BASIC_AVATAR');
     $website_field = $param->get('UserInfo_WebiteField', 'BASIC_WEBSITE');
     $include_css = $param->get('UserInfo_IncludeCSS_Article', 1);
     // Image params
     $width = $param->get('UserInfo_ImageWidth', 150);
     $height = $param->get('UserInfo_ImageHeight', 150);
     $crop = $param->get('UserInfo_ImageCrop', 1) ? \JImage::CROP_RESIZE : false;
     // Include CSS
     if ($include_css) {
         /** @var $asset \Windwalker\Helper\AssetHelper */
         $asset = $container->get('helper.asset');
         $asset->addCss('userxtd-userinfo.css', 'com_userxtd');
     }
     $user = \UXFactory::getUser($article->created_by);
     // Images
     $image = $user->get($image_field);
     $thumb = new Thumb(null, 'com_userxtd');
     $image = $thumb->resize($image, $width, $height, $crop);
     // Link
     $query = array('option' => 'com_users', 'view' => 'profile', 'id' => $user->get('id'));
     $link = \JRoute::_('index.php?' . http_build_query($query));
     //Route::_('com_userxtd.user_id', array('id' => $user->get('id')));
     // Website
     $website_link = $user->get($website_field);
     // Render
     return with(new FileLayout('userxtd.content.userinfo', null, array('component' => 'com_userxtd')))->render(array('params' => $param, 'article' => $article, 'link' => $link, 'website_link' => $website_link, 'image' => $image, 'user' => $user));
 }
Ejemplo n.º 3
0
 /**
  * create
  *
  * @param string $storage
  *
  * @return  ImageUploaderManager
  */
 public function create($storage = null)
 {
     $config = $this->container->get('config');
     $storage = $storage ?: $config->get('unidev.image.storage');
     if (!$storage) {
         throw new \DomainException('No image storage provider.');
     }
     if (is_string($storage)) {
         $class = __NAMESPACE__ . '\\Storage\\' . ucfirst($storage) . 'ImageStorage';
         $storage = new $class($this->container->get('unidev.storage.' . strtolower($storage)), $config->extract('unidev.' . $storage));
     }
     return new ImageUploaderManager($storage);
 }
Ejemplo n.º 4
0
 /**
  * Add JS to head.
  *
  * @return  void
  */
 public function addFieldJs()
 {
     JHtmlBehavior::framework(true);
     $asset = $this->container->get('helper.asset');
     $input = $this->container->get('input');
     $asset->addJS('cck/fields.js', $input->get('option'));
 }
Ejemplo n.º 5
0
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container $container The DI container.
  *
  * @return  Container  Returns itself to support chaining.
  *
  * @since   1.0
  */
 public function register(Container $container)
 {
     $ioClass = 'Phoenix\\IO\\IO';
     $container->alias('io', $ioClass)->alias('Muse\\IO\\IO', $ioClass)->alias('Muse\\IO\\IOInterface', $ioClass)->share($ioClass, new IO($this->controller->getCommand()));
     $container->alias('operator.copy', 'Phoenix\\Generaotr\\FileOperator\\CopyOperator')->createObject('Phoenix\\Generaotr\\FileOperator\\CopyOperator');
     $closure = function (Container $container) {
         return new OperatorFactory($container->get('io'), $this->controller->getTagVariables());
     };
     $container->share('operator.factory', $closure);
 }
Ejemplo n.º 6
0
 /**
  * If default value exists.
  */
 public function setFieldData()
 {
     $input = $this->container->get('input');
     if (!$input->get('id')) {
         $app = JFactory::getApplication();
         $app->setUserState('lib_windwalker.cck.fields', null);
     }
     $type = $input->get('field_type');
     $this->value = $type ?: $this->value;
 }
 /**
  * Prepare the template.
  *
  * @param string $template Template name.
  *
  * @return  void
  */
 protected function prepareTemplate($template)
 {
     if ($this->templatePrepared) {
         return;
     }
     // Load the language file for the template
     $lang = $this->container->get('language');
     $lang->load('tpl_' . $template, JPATH_BASE, null, false, false) || $lang->load('tpl_' . $template, JPATH_THEMES . "/{$template}", null, false, false) || $lang->load('tpl_' . $template, JPATH_BASE, $lang->getDefault(), false, false) || $lang->load('tpl_' . $template, JPATH_THEMES . "/{$template}", $lang->getDefault(), false, false);
     $this->templatePrepared = true;
 }
Ejemplo n.º 8
0
 /**
  * Clean the cache
  *
  * @param   string   $group      The cache group
  * @param   integer  $client_id  The ID of the client
  *
  * @return  void
  */
 protected function cleanCache($group = null, $client_id = 0)
 {
     $conf = $this->container->get('joomla.config');
     $dispatcher = $this->container->get('event.dispatcher');
     $input = $this->container->get('input');
     $options = array('defaultgroup' => $group ? $group : (isset($this->option) ? $this->option : $input->get('option')), 'cachebase' => $client_id ? JPATH_ADMINISTRATOR . '/cache' : $conf->get('cache_path', JPATH_SITE . '/cache'));
     $cache = \JCache::getInstance('callback', $options);
     $cache->clean();
     // Trigger the onContentCleanCache event.
     $dispatcher->trigger($this->eventCleanCache, $options);
 }
Ejemplo n.º 9
0
    /**
     * Add JS to head.
     */
    public function addScript($num = 0)
    {
        $script = <<<SCRIPT
;jQuery(document).ready(function(\$)
{
\twindow.WindwalkerCCKList.init({});
});
SCRIPT;
        $asset = $this->container->get('helper.asset');
        $asset->addJs('cck/list.js');
        $asset->internalJS($script);
    }
 /**
  * createComponent
  *
  * @param array $input
  *
  * @return  StubComponent
  */
 protected function createComponent($input = array())
 {
     if (!$input instanceof \JInput) {
         $input = new \JInput($input);
     }
     $container = new Container();
     $container->registerServiceProvider(new SystemProvider());
     $container->share('input', $input);
     $config = array('init' => array('path' => array('self' => __DIR__ . '/StubAdmin', 'site' => __DIR__ . '/StubSite', 'administrator' => __DIR__ . '/StubAdmin'), 'constants' => false));
     $container->share('com_stub.config', new Registry($config));
     \JLoader::registerPrefix('Stub', __DIR__ . '/StubAdmin');
     return new StubComponent('stub', $input, $container->get('app'), $container);
 }
 /**
  * testDump
  *
  * @covers \Windwalker\DI\Container::dump()
  */
 public function testDump()
 {
     // Not shared
     $this->instance->set('foo', function () {
         return new \ArrayObject();
     }, false, false);
     $this->instance->get('foo');
     $dumpResult = $this->instance->dump();
     $this->assertEquals(0, count($dumpResult['data']));
     // Shared
     $this->instance->set('bar', function () {
         return new \ArrayObject();
     }, true, false);
     $this->instance->get('bar');
     $dumpResult = $this->instance->dump();
     $this->assertEquals(1, count($dumpResult['data']));
 }
Ejemplo n.º 12
0
 /**
  * Register Bundles
  *
  * @param Container $container DI container.
  *
  * @return  void
  */
 protected function registerBundles(Container $container)
 {
     if (!is_dir(WINDWALKER_BUNDLE)) {
         return;
     }
     $paths = new PathCollection(array(WINDWALKER . '/bundles', WINDWALKER_BUNDLE));
     $bundles = $paths->find('Bundle$');
     $config = $container->get('windwalker.config');
     foreach ($bundles as $bundle) {
         $bundleName = $bundle->getBasename();
         $class = $bundleName . '\\' . $bundleName;
         \JLoader::registerNamespace($bundleName, dirname((string) $bundle));
         if (class_exists($class) && is_subclass_of($class, 'Windwalker\\Bundle\\AbstractBundle')) {
             $config->set('bundle.' . $bundleName, $class);
             $class::registerProvider($container);
         }
     }
 }
Ejemplo n.º 13
0
 /**
  * Method to test registerServiceProvider().
  *
  * @return void
  *
  * @covers Windwalker\DI\Container::registerServiceProvider
  */
 public function testRegisterServiceProvider()
 {
     $this->instance->registerServiceProvider(new StubServiceProvider());
     $this->assertEquals('Bingo', $this->instance->get('bingo'));
 }
Ejemplo n.º 14
0
 /**
  * Convert a element data to JForm XML field string.
  *
  * @param    string $field_type Type of this field.
  * @param    array  $attrs      Field's attributes.
  * @param    array  $option     Some option.
  *
  * @return  string  Field XML element.
  */
 public function buildElement($field_type = 'text', $attrs = null, $option = array())
 {
     $node_name = !empty($option['node_name']) ? $option['node_name'] : 'field';
     $field_type = $field_type ? $field_type : 'text';
     $input = $this->container->get('input');
     $attrs = $this->convertJsonToArray($attrs);
     if (!is_array($attrs)) {
         $attrs = $input->getVar('attrs', array());
     }
     $this->event->trigger('onCCKEngineBeforeBuildElement', array(\JArrayHelper::getValue($option, 'context'), &$field_type, &$attrs, $option));
     if (!is_array($attrs)) {
         return '<' . $node_name . '/>';
     }
     // Rebuild options
     // ================================================================
     if (isset($attrs['options'])) {
         $attrs['options'] = ArrayHelper::pivotBySort($attrs['options']);
     }
     $element = '';
     $options = array();
     // Build Field Attrs
     // ================================================================
     // set type in attrs
     $attrs['type'] = $field_type;
     // set default
     if (is_array(\JArrayHelper::getValue($attrs, 'default'))) {
         $attrs['default'] = implode(',', $attrs['default']);
     }
     // start buliding attrs and options
     foreach ($attrs as $key => $attr) {
         if ($key == 'options' && is_array($attr)) {
             // Bulid options
             foreach ($attr as $key => $opt) {
                 if (!trim($opt['value'])) {
                     continue;
                 }
                 $value = addslashes(trim($opt['value']));
                 $text = htmlspecialchars(addslashes(trim($opt['text'])));
                 $options[] = "\t<option value=\"{$value}\">{$text}</option>\n";
             }
         } else {
             // Build attributes
             if (!trim($attr)) {
                 continue;
             }
             $attr = trim($attr);
             $attr = htmlspecialchars(addslashes($attr));
             $element .= "\t{$key}=\"{$attr}\"\n";
         }
     }
     // Build Element
     // ================================================================
     if (count($options) < 0) {
         $element = "<{$node_name}\n{$element}/>";
     } else {
         $options = implode('', $options);
         $element = "<{$node_name}\n{$element}>\n{$options}</{$node_name}>";
     }
     $this->event->trigger('onCCKEngineAfterBuildElement', array(\JArrayHelper::getValue($option, 'context'), &$field_type, &$element, $option));
     return $element;
 }