Beispiel #1
0
 public function actionDelete($id)
 {
     $model = Rubrics::model()->findByPk($id)->delete();
     if (!Yii::app()->request->isAjaxRequest) {
         $this->redirect('/admin/pages/');
     }
 }
Beispiel #2
0
 public function getLink()
 {
     if ($this->rubric_id) {
         $razdel_link = Rubrics::model()->cache(300)->findByPk($this->rubric_id)->getLink();
     } else {
         $razdel_link = '#';
     }
     return Yii::app()->baseUrl . $razdel_link . $this->id . '/';
 }
Beispiel #3
0
 public function getCategoriesArray()
 {
     $categories = Rubrics::model()->findAll(array('condition' => 'ctype=:sales', 'params' => array(':sales' => 'sales'), 'order' => 'name'));
     $array = array();
     foreach ($categories as $k => $v) {
         $array[$v->id] = $v->name;
     }
     return $array;
 }
Beispiel #4
0
 public function actionSingle($id)
 {
     $single = Sales::model()->findByPk($id);
     if (!$single) {
         $this->render('/errors/404');
     }
     $rubric = Rubrics::model()->findByPk($single->rubric_id);
     $data = array('rubric' => $rubric, 'data' => $single, 'title' => $single->name, 'keywords' => str_replace(' ', ',', $single->announce), 'description' => $single->announce, 'metaImage' => 'http://' . $_SERVER['HTTP_HOST'] . $this->getImageUrl($single, 'b'));
     $this->render('single', $data);
 }
 public function actionSingle($id)
 {
     $model = Catalog::model()->findByPk($id);
     if (!$model) {
         $this->render('/errors/404');
     }
     $rubric = Rubrics::model()->findByPk($model->rubric_id);
     $data = array('data' => $model, 'rubric' => $rubric);
     $this->render('/catalog/single', $data);
 }
Beispiel #6
0
 public function actionRubric($id = null)
 {
     if ($_POST['Form']) {
         $model = new Form('new');
         $this->performAjaxValidation($model);
         $model->attributes = $_POST['Form'];
         $model->date = time();
         if ($_FILES['file']['tmp_name']) {
             $file = CUploadedFile::getInstanceByName('file');
             $model->file = $file->getName();
         }
         if ($model->save()) {
             $text = 'Имя: ' . $model->name;
             $text .= '<br />Фамилия: ' . $model->lastname;
             $text .= '<br />E-mail: ' . $model->email;
             $text .= '<br />Телефон: ' . $model->tel;
             if ($model->arts) {
                 $text .= '<br />Артикулы под нанесение: ' . $model->arts;
             }
             if ($model->delivered) {
                 $text .= '<br />Желаемая дата заказа: ' . $model->delivered;
             }
             $text .= '<br />Кол-во цветов: ' . $model->color;
             $text .= '<br />Тираж: ' . $model->tirazh;
             $text .= '<br />Размеры: ' . $model->width . ' x ' . $model->height;
             $text .= '<br />Драг.металы:';
             $text .= '<br />Золото - ' . ($model->gold ? 'Да' : 'Нет');
             $text .= '<br />Платина - ' . ($model->platina ? 'Да' : 'Нет');
             if ($model->text) {
                 $text .= '<br />Примечание: ' . $model->text;
             }
             $message = new YiiMailMessage();
             $message->setTo(array($this->getConfig('email3') => 'Комплекс Бар'));
             $message->setFrom(array($model->email => $model->name . ' ' . $model->lastname));
             $message->setSubject('Заказ на нанесение');
             $message->setBody($text, 'text/html', 'utf8');
             if ($_FILES['file']['tmp_name']) {
                 $fileNewPath = $_SERVER['DOCUMENT_ROOT'] . '/userdata/nanesenie/' . $file->getName();
                 $file->saveAs($fileNewPath);
                 $message->attach(Swift_Attachment::fromPath($fileNewPath));
             }
             Yii::app()->mail->send($message);
             Yii::app()->user->setFlash('message', 'Спасибо за заказ. Наш менеджер свяжется с вами в ближайшее время.');
         } else {
             $this->render('rubric', $data);
         }
         $this->refresh();
     }
     $rubric = Rubrics::model()->findByPk($id);
     $data = array('rubric' => $rubric);
     $this->render('rubric', $data);
 }
Beispiel #7
0
 public function actionSingle($id)
 {
     $mall = Malls::model()->findByPk($id);
     if (!$mall) {
         $this->render('/errors/404');
     }
     $rubric = Rubrics::model()->findByPk($mall->rubric_id);
     $data = array('rubric' => $rubric, 'mall' => $mall);
     $crumbs = Yii::app()->params['crumbs'];
     $crumbs[] = $mall;
     Yii::app()->params['crumbs'] = $crumbs;
     $this->render('single', $data);
 }
Beispiel #8
0
 public function actionRubric($id)
 {
     $rubric = Rubrics::model()->findByPk($id);
     $per_page = 4;
     $page = Yii::app()->request->getParam('page');
     if (!$page) {
         $page = 1;
     }
     $condition = "rubric_id=:rubric and date<=:now and status=:active";
     $params = array(':rubric' => $rubric->id, ':now' => date('Y-m-d H:i:s'), ':active' => 1);
     $count = News::model()->count($condition, $params);
     $pages = ceil($count / $per_page);
     $news = News::model()->findAll(array('condition' => $condition, 'params' => $params, 'order' => 'date desc', 'limit' => $per_page, 'offset' => ($page - 1) * $per_page));
     $data = array('rubric' => $rubric, 'data' => $news, 'page' => $page, 'pages' => $pages, 'title' => $rubric->title, 'keywords' => $rubric->keywords, 'description' => $rubric->description);
     $this->render('/news/rubric', $data);
 }
Beispiel #9
0
 public function actionSingle($url, $id)
 {
     $uri = explode('/', trim($url, '/'));
     $level = count($uri);
     $parent_id = 0;
     foreach ($uri as $k => $v) {
         $breadcrumbs[$k] = Rubrics::model()->find('parent_id=:parent_id and chpu=:chpu and status>=:status', array(':chpu' => $v, ':parent_id' => $parent_id, ':status' => 1));
         if ($breadcrumbs[$k]) {
             $parent_id = $breadcrumbs[$k]->id;
         } else {
             $this->render('/errors/404');
         }
     }
     $razdel = $breadcrumbs[$level - 1];
     $objClass = ucfirst($razdel->ctype);
     $this->forward('/' . $razdel->ctype . '/single/id/' . $id . '/rubric_id/' . $razdel->id);
 }
Beispiel #10
0
 public function parseUrl($manager, $request, $pathInfo, $rawPathInfo)
 {
     if (preg_match('(\\w+)', $pathInfo, $matches)) {
         $uri = explode('/', trim($pathInfo, '/'));
         $level = count($uri);
         $parent_id = 0;
         $pre_route = '/';
         while (Yii::app()->hasModule($uri[0])) {
             $pre_route .= $uri[0] . '/';
             array_shift($uri);
         }
         foreach ($uri as $k => $v) {
             $crumbs[$k] = Rubrics::model()->find(array('condition' => 'parent_id=:parent_id and chpu=:chpu and status>=:status', 'params' => array(':chpu' => $v, ':parent_id' => $parent_id, ':status' => 1)));
             if ($crumbs[$k]) {
                 $rubric = $crumbs[$k];
                 $parent_id = $rubric->id;
                 $route = $rubric->ctype . '/rubric/id/' . $rubric->id;
             } elseif ($k == count($uri) - 1 && is_numeric($v)) {
                 array_pop($crumbs);
                 $obj_class = ucfirst($crumbs[$k - 1]->ctype);
                 $model = new $obj_class();
                 $model = $model->model()->find(array('condition' => 'id=:singleId and rubric_id=:rubricId', 'params' => array(':singleId' => $v, ':rubricId' => $rubric->id)));
                 if ($model) {
                     $route = $rubric->ctype . '/single/id/' . $model->id;
                 } else {
                     return '/site/error/code/404';
                 }
             } else {
                 return '/site/error/code/404';
             }
         }
         Yii::app()->params['crumbs'] = $crumbs;
         return $pre_route . $route;
     } else {
         return '/site/error/code/404';
     }
 }
Beispiel #11
0
<?php

$nav = Rubrics::model()->getMenu('nav');
?>

<?php 
if ($nav) {
    ?>
	<div id="nav_menu">
		<div class="site-width">
			<?php 
    foreach ($nav as $k => $v) {
        ?>
				<a href="<?php 
        echo $v->getLink();
        ?>
"><?php 
        echo $v->name;
        ?>
</a>
			<?php 
    }
    ?>
		</div>
	</div>
<?php 
}
Beispiel #12
0
 public function getLink($obj, $abs = 0)
 {
     if ($obj->rubric_id) {
         $rubric_link = Rubrics::model()->cache(300)->findByPk($obj->rubric_id)->getLink($abs);
     } else {
         $rubric_link = '#';
     }
     return Yii::app()->baseUrl . $rubric_link . $obj->id . '/';
 }
Beispiel #13
0
 public function actionGetAddRubricForm()
 {
     $parent_id = $_POST['parent_id'];
     $model = new Rubrics();
     if (is_numeric($parent_id)) {
         $parent = Rubrics::model()->findByPk($parent_id);
         if ($parent) {
             $model->parent_id = $parent->id;
             $model->menu = $parent->menu;
         } else {
             $error = 'Вы не можете создать подраздел к выбраному разделу.';
         }
     } else {
         $model->parent_id = 0;
         $model->menu = $parent_id;
     }
     $data['model'] = $model;
     $data['error'] = $error;
     $data['lvl'] = $_POST['lvl'] + 1;
     $this->renderPartial('/ajax/add_rubric_form', $data, false, true);
 }
Beispiel #14
0
<?php

$crumbs = Yii::app()->params['crumbs'];
$vert = Rubrics::model()->getMenu('vert');
if ($vert) {
    ?>
	<div id="vert_menu">		<h3>Категории:</h3>		<?php 
    foreach ($vert as $k => $v) {
        ?>
			<div>				<a href="<?php 
        echo $v->getLink();
        ?>
" class="<?php 
        if ($crumbs[0]->id == $v->id) {
            ?>
active<?php 
        }
        ?>
">					<?php 
        echo $v->name;
        ?>
					<!--sup>(<?php 
        echo Sales::model()->getCountRubricSales($v->id);
        ?>
)</sup-->				</a>			</div>		<?php 
    }
    ?>
	</div><?php 
}
Beispiel #15
0
 public function actionPropeties($url, $id)
 {
     foreach ($this->parseUrl($url) as $k => $v) {
         ${$k} = $v;
     }
     $model = Rubrics::model()->findByPk($id);
     if ($_GET['del_image']) {
         $image = $_GET['del_image'];
         if ($model->{$image}) {
             $oldImage = $model->{$image};
             $model->{$image} = null;
             if ($model->save()) {
                 $uploadPath = $_SERVER['DOCUMENT_ROOT'] . '/userdata/';
                 $objectPath = 'rubrics/rubrics_' . $model->id . '/';
                 foreach ($this->image_size[$ctype][$image] as $k => $v) {
                     $thumbPath = $k . '/';
                     $file = $uploadPath . $objectPath . $thumbPath . $oldImage;
                     unlink($file);
                 }
                 $this->redirect($model->getLink() . '?' . Yii::app()->request->queryString);
             }
         }
     }
     if ($_POST['Rubrics']) {
         if ($_FILES['file']) {
             foreach ($_FILES['file']['name'] as $k => $v) {
                 if ($v) {
                     $file[$k] = CUploadedFile::getInstanceByName('file[' . $k . ']');
                     if (in_array(strtolower($file[$k]->getExtensionName()), array('jpg', 'gif', 'png', 'jpeg'))) {
                         $model->{$k} = $k . '.' . $file[$k]->getExtensionName();
                     } else {
                         $model->{$k} = CUploadedFile::getInstanceByName('file[' . $k . ']');
                     }
                 }
             }
         }
         $model->attributes = $_POST['Rubrics'];
         if ($model->save()) {
             if ($file) {
                 $folder = dirname(Yii::app()->request->scriptFile);
                 $folder .= '/userdata/rubrics/rubrics_' . $model->id . '/';
                 foreach ($file as $k => $v) {
                     if (in_array(strtolower($file[$k]->getExtensionName()), array('jpg', 'gif', 'png', 'jpeg'))) {
                         UploadImages::upload($file[$k]->getTempName(), $model->{$k}, $folder, 'rubrics', $k);
                     }
                 }
             }
         } else {
             exit(var_dump($model->getErrors()));
         }
     }
     $this->redirect($model->getLink() . '?' . Yii::app()->request->queryString);
 }
Beispiel #16
0
 public function actionRubric($id)
 {
     $rubric = Rubrics::model()->findByPk($id);
     $data = array('rubric' => $rubric, 'title' => $rubric->title, 'keywords' => $rubric->keywords, 'description' => $rubric->description);
     $this->render('/text/single', $data);
 }