public function display() { jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.file'); // path to images directory $identifier = KFactory::get($this->getModel())->getIdentifier(); $path = JPATH_ROOT . DS . 'media' . DS . $identifier->type . '_' . $identifier->package . DS . 'images' . DS . 'forums'; $filter = '\\.png$|\\.gif$|\\.jpg$|\\.bmp$|\\.ico$'; $files = JFolder::files($path, $filter, true, true); $options = array(); $options[] = JHTML::_('select.option', null, JText::_('None')); $img[] = $this->mediaurl . '/napi/img/blank.gif'; $optgroup = null; if (is_array($files)) { foreach ($files as $file) { $f = basename(dirname($file)); $options[] = JHTML::_('select.option', basename($file), basename($file)); $img[] = $this->mediaurl . '/' . $identifier->type . '_' . $identifier->package . '/images/forums/' . basename($file); } } $document = Kfactory::get('lib.joomla.document'); $script = 'var ' . $identifier->name . 'Images = new Asset.images(' . json_encode((array) $img) . ', { onComplete: function(){ $(\'icon_preview\').empty(); ' . $identifier->name . 'Images[$(\'icon\').selectedIndex].clone().injectInside(\'icon_preview\'); } });'; //$document->addScriptDeclaration($script); $this->assign('options', $options); $this->assign('attr', array('onchange' => '$(\'icon_preview\').empty(); ' . $identifier->name . 'Images[this.selectedIndex].clone().injectInside(\'icon_preview\')')); $forums = array(0 => (object) array('title' => '- No parent -', 'path' => '/')); $state = $this->getModel()->getState(); $this->sort = $state->sort ? $state->sort : 'title'; $this->direction = $state->direction; $list = KFactory::tmp($this->getModel()->getIdentifier())->limit(0)->sort('path_sort_ordering')->enabled('')->getList(); $id = $this->getModel()->getItem()->id; foreach ($list as $forum) { if ($forum->id === $id && $id > 0) { $forum->disable = true; } $forum->path .= $forum->id . '/'; $pos = strpos($forum->path, '/' . $id . '/'); if ($pos !== false && $pos >= 0 && $id > 0) { $forum->disable = true; } $forum->title = str_repeat(' ', $forum->level) . $forum->title; $forums[] = $forum->getData(); } $this->assign('forums', $forums); $filepath = dirname($this->getIdentifier()->filepath) . '/tmpl/params.xml'; $model = KFactory::get($this->getModel()); $forum = $model->getItem(); $this->form = KFactory::tmp('admin::com.ninja.form.parameter', array('data' => $forum->params, 'xml' => $filepath)); $this->assign('total', $model->getTotal()); $permissions = array(); foreach (KFactory::get('admin::com.ninjaboard.model.user_groups')->limit(0)->getList() as $usergroup) { $names = array(); $objects = KFactory::get('admin::com.ninjaboard.permissions')->getObjects(); foreach ($objects as $object) { $names[] = 'com_ninjaboard.forum.' . $forum->id . '.' . $usergroup->id . '.' . $object; } $permissions[] = array('form' => KFactory::tmp('admin::com.ninja.helper.access', array('name' => $names, 'id' => KFactory::get('admin::com.ninja.helper.default')->formid($forum->id . '-permissions-' . $usergroup->id), 'inputName' => 'permissions[' . $usergroup->id . ']', 'inputId' => 'permissions-' . $usergroup->id, 'render' => 'usergroups', 'objects' => $objects)), 'title' => $usergroup->title, 'group' => $usergroup->id, 'id' => KFactory::get('admin::com.ninja.helper.default')->formid($forum->id . '-permissions-' . $usergroup->id)); } $this->assign('permissions', $permissions); return parent::display(); }
public function imagesgeneric($path, $name, $attribs = null, $selected = NULL, $idtag = false, $translate = false) { $images = KFactory::get('admin::com.ninja.model.images')->folder($path); $options = $images->getList(); $img = $images->getImages(); if (!$idtag) { $idtag = $name; } //die('<pre>'.var_export($img, true).'</pre>'); $document = Kfactory::get('lib.joomla.document'); $document->addScriptDeclaration('var ' . $idtag . 'Images = new Asset.images(' . json_encode((array) $img) . ', { onComplete: function(){ $(\'rank_image_preview\').empty(); ' . $idtag . 'Images[$(\'' . $idtag . '\').selectedIndex].clone().injectInside(\'rank_image_preview\'); } });'); $attr = array('onchange' => '$(\'rank_image_preview\').empty(); ' . $idtag . 'Images[this.selectedIndex].clone().injectInside(\'rank_image_preview\')', 'class' => 'value', 'style' => 'display: block;'); $document->addStyleDeclaration('.group.images {text-align: center; padding-right: 1px !important; padding-bottom: 1px !important;} .group.images select { width:100%; min-width: 60px; margin-top: 2px!important ; }'); ob_start(); ?> <div class="group images"> <div id="rank_image_preview"><img src="<?php echo KTemplateAbstract::loadHelper('admin::com.ninja.helper.default.image', '/16/spinner.gif'); ?> " /></div> <?php echo JHTML::_('genericlist', $options, $name, $attr, 'value', 'text', $selected); ?> </div> <?php return ob_get_clean(); }