public function actionElement($param)
 {
     if (SiteModuleSettings::model()->find('site_module_id = 11 AND `status`=0')) {
         throw new CHttpException(404, 'The page can not be found.');
     }
     $paramArr = explode("/", $param);
     $paramArr = array_pop($paramArr);
     $paramArr = strtolower($paramArr);
     $root = PhotoRubrics::getRoot(new PhotoRubrics());
     $menu_top = array();
     //2
     $root = PhotoRubrics::model()->find('url LIKE "' . $paramArr . '"');
     $param_model = $root->descendants(1, 1)->findAll($root->id);
     //Титл и SEO
     $this->setSEO(Yii::app()->request->requestUri, 'Фотогалерея', $root->level > 1 ? $root : null);
     foreach ($param_model as $data) {
         $menu_top[$data->id]['name'] = $data->name;
         $menu_top[$data->id]['url'] = $data->url;
         $menu_top[$data->id]['image'] = $data->id . "." . $data->image;
     }
     $page = array();
     foreach ($root->ancestors()->findAll() as $data) {
         if ($data->level == 1) {
             continue;
         }
         $page[] = $data->name;
     }
     $page[] = $root->name;
     $model["title"] = $root->name;
     //implode(' / ', $page);
     $param = $root;
     $model['catalogs'] = array();
     $model['elements'] = array();
     $category = PhotoRubrics::model()->findByPk($param->id);
     $tmp_model = $category->descendants(1, 1)->findAll();
     if ($tmp_model = $category->descendants(1, 1)->findAll()) {
         //3 Категорий нет  - получаю картинки в раздела
         //$model['catalogs'] = $tmp_model;
     } else {
         //3 Категорий нет  - получаю картинки в раздела
         $model['elements'] = PhotoElements::model()->findAll('parent_id=' . $param->id . ' AND `status`=1');
     }
     //ФОТОГАЛЕРЕЯ
     //$this->title_page = 'ФОТОГАЛЕРЕЯ'.'<span>'.$page.'</span>';
     $this->render('index', array('model' => $model, 'param' => $param, 'menu_top' => $menu_top));
 }
    /**  Для виджета в редакторе */
    public function actionAjaxalbom()
    {
        if (isset($_POST)) {
            $result = '
            <div id="photogaleryModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="photogaleryModalLabel" aria-hidden="true">
              <div class="modal-header">
                <a href="#" onclick="$(\'#photogaleryModal\').remove();" class="close">×</a>
                <h3 id="myModalLabel">Фотогалерея</h3>
              </div>
              <div class="modal-body">
            ';
            $result .= '<table class="content_table hover_table" cellspacing="0">';
            $result .= '
            <thead>
            <tr>
                <th>Название</th><th>Действие</th>
            </tr>
            </thead>
            ';
            $result .= '<tbody>';
            foreach (PhotoRubrics::model()->findAll('status=1 AND id in (SELECT parent_id FROM {{photo_elements}} WHERE status = 1)') as $data) {
                $result .= '<tr>';
                $result .= '
                <td>
                    <b>' . $data->name . ':</b></br>
                ';
                $i = 0;
                foreach (PhotoElements::model()->findAll('parent_id=' . $data->id) as $dataElements) {
                    ++$i;
                    if ($i > 5) {
                        continue;
                    }
                    $result .= '
                    <img style="max-width:70px;" border="0/" src="/../uploads/filestorage/photo/elements/small-' . $dataElements->id . '.' . $dataElements->image . '">
                    ';
                }
                $result .= '
                </td>
                <td>
                    <a href="#" data-id="' . $data->id . '" data-class="' . $_POST['request'] . '"  class="addMyPhotogalery">Вставить</a>
                </td>
                ';
                $result .= '</tr>';
            }
            $result .= '</tbody>';
            $result .= '</table>';
            $result .= '
              </div>
            </div>
            ';
            //Скрипт обработки нажатия 'Вставить'
            $result .= '
				<script>
                    $(document).on("click",".addMyPhotogalery",function(){
                        var html = "{myphotogalery id="+$(this).data("id")+"}";
                        var className = $(this).data("class");
                        //Вставка галереи
                        $(".redactor-editor").redactor({
                            focus: true
                        });
                        //var body = $(' . '+className).html()+html;
                        //$("."+className).redactor("insert.set", body);
                        $("."+className).redactor("insert.html", html);
                        $("#photogaleryModal").remove();
                        $(".redactor-editor").each(function(index, value){
                            $("#redactor-toolbar-"+(index+2)).remove();
                        });
                        return false;
                    });
				</script>
			';
            echo $result;
            //echo CJavaScript::jsonEncode($result);
        }
        Yii::app()->end();
    }
Example #3
0
<legend><?php 
echo Yii::t("Bootstrap", "LIST.PhotoRubrics");
?>
</legend>

<?php 
$assetsDir = Yii::app()->basePath;
$labels = PhotoRubrics::model()->attributeLabels();
$this->widget('bootstrap.widgets.TbExtendedGridView', array('id' => 'faq-group-grid', 'template' => "{items}\n{pager}", 'enableHistory' => true, 'dataProvider' => $provider, 'filter' => $model, 'bulkActions' => array('actionButtons' => $this->bulkRemoveButton(), 'checkBoxColumnConfig' => array('name' => 'id')), 'columns' => array(array('header' => $labels["id"], 'name' => "id"), array('header' => 'Картинка раздела', 'name' => "image", 'type' => 'raw', 'value' => function ($dataProvider) {
    $url_img = '/images/nophoto_100_100.jpg';
    if (file_exists(YiiBase::getPathOfAlias('webroot') . '/../uploads/filestorage/photo/rubrics/admin-' . $dataProvider->id . '.' . $dataProvider->image)) {
        $url_img = '/../uploads/filestorage/photo/rubrics/admin-' . $dataProvider->id . '.' . $dataProvider->image;
    }
    return '<img src="' . $url_img . '" style="width:80px" />';
}, 'filter' => ''), array('header' => $labels["name"], 'type' => 'raw', 'value' => function ($data) {
    $return = '';
    //Если это level = 2 - вывожу выделеным черным шрифтом
    if ($data->level == 2) {
        $return = '<a href="/admin/photo/photo/index?PhotoElements[parent_id]=' . $data->id . '"><b>' . $data->name . '</b></a>';
    } else {
        //подчиненная категория - вывожу со смещением относительно родительской
        $repeat_prefix = $data->level == 3 ? $data->level : $data->level + 1;
        $return = '<a href="/admin/photo/photo/index?PhotoElements[parent_id]=' . $data->id . '"><b>' . str_repeat('&nbsp&nbsp', $repeat_prefix) . $data->name . '</b></a>';
    }
    return $return;
}, 'filter' => ''), array('header' => 'url', 'name' => "url", 'type' => 'raw', 'value' => function ($data) {
    return $data->url;
    /*return '
                      <a href="'.SITE_NAME_FULL.'/'.$data->url.'" target="_blank">
                          '.$data->url.'
Example #4
0
 /**
  * Получить количество элементов в узле
  */
 public static function getCountTree($left_key, $right_key)
 {
     $model = Yii::app()->db->createCommand()->select('count(id) as count')->from(PhotoRubrics::model()->tableName())->where('left_key>=' . (int) $left_key . ' AND right_key<=' . (int) $right_key . '')->queryRow();
     $result = current($model) - 1;
     //вычитае из резуьтата сам узел
     return $result;
 }