DbHelp.ru
Маленький Yii блог
Комментарии
Гость: payday advance payday advance cash advance cash advance
Гость: Приветствую Вас, дорогие друзья! Рекомендую интересн...
Гость: Имя предприятия изготовителя и потребителя;Данный слу...
Гость: wh0cd2111231 [url=http://tricor911.us.org/]tricor[/url] [url=http://mobic911.us.com/]mobic[/url] [ur...
Гость: wh0cd660443 [url=http://nolvadex02.us.com/]nolvadex[/url] [url=http://orlistat911.us.org/]orlistat o...



Сервер Ultima Online - Forest Wars (от создателя данного блога)

Урок 7 : Комментарии

Рубрика: Создаем блог вместе

Оцените эту статью:

Рейтинг: 0.00 (0)
3 Июл. 2009
Опубликовать в Twitter Написать в Facebook Опубликовать в своем блоге livejournal.com

Эта статья устарела т.к. была написана для yii версии 1.0.х; Если вы используете более новую версию - у вас могут возникнуть ошибки из-за несовместимости. Обычно ответы на все вопросы работы на 1.1.х были описаны в комментариях ниже статьи.

Сегодня разговор пойдет о том как сделать комментарии на нашем блоге.

---

В этой статье мы рассмотрим с вами как добавить формочку комментариев к нам в блог, и безопасно обрабатывать входные данные. Простой план сегодняшнего занятия выглядит следующим образом:

  1. Создаем форму (отображение) для добавления комментария
  2. Подключаем форму на страницу
  3. Подключаем вывод всех комментариев по посту внизу страницы
  4. Работа с контроллером. Добавляем поиск всех комментариев
  5. Работа с контроллером. Механизм проверки что пришли данные с формы
  6. Создаем модель Comments
  7. Пробуем

В принципе ничего замысловатого. Ну что, начнем?

Введение

Форма добавления комментариев будет выглядеть примерно точно также как у меня на dbhelp.ru. Как вы понимаете комментарии у нас смогут оставлять как зарегистрированные так и не зарегистрированные пользователи.

Создаем форму для добавления комментария

Открываем protected/views/post/ и создаем там файл _commentsForm.php:

<h1 id="respond">

<?php echo CHtml::form(); ?>
<?php echo CHtml::errorSummary($form); ?>

    <?php echo CHtml::activeTextArea($form, 'text', array('cols' => 50, 'rows' => 8)) ?>
    <table border=0 id="captcha">
    <tr>
        <td valign="top"><?php $this->widget('CCaptcha', array('buttonLabel' => '')); ?>
        <td valign="top">
            <table border=0>
            <tr>
                <td valign="top"><?php echo CHtml::activeLabel($form, 'verifyCode'); ?></td>
                <td valign="top"><?php echo CHtml::activeTextField($form,'verifyCode'); ?></td>
            </tr>
            <tr id="login">
                <td valign="top"><?php echo CHtml::activeLabel($form, 'login'); ?></td>
                <td valign="top"><?php echo CHtml::activeTextField($form, 'login') ?></td>
            </tr>
            </table>
        </td>
    </tr>
    </table>
   
    <p><?php echo CHtml::submitButton("Ок, отправить!", array('id' => "submit")); ?></p>

<?php echo CHtml::endForm($form); ?>

Тут же внизу я добавляю немного javascript (jQuery) кода для красоты, который чуть ниже мы рассмотрим подробнее:

<script>
    $(document).ready(function() {
        $("#captcha").hide();
        $("#guestlogin").hide();
           
                $("#Comments_text").click(function(){
                    <?php if (Yii::app()->user->isGuest): ?>   
                        $("#guestlogin").show();
                    <?php endif; ?>
                        $("#captcha").show();
                });
    });
</script>

Данный код отображает поля "капча" и "имя" при клике на поле ввода текста.
Также хочу заметить что поле "имя" выводиться только если пользователь гость. (для этого в коде поставлена соответствующая проверка).
.
Как вы видите код написан с использованием jQuery, поэтому его необходимо предварительно подключить на сайт. Я не агитирую использовать именно jQ для таких вещей, просто привёл пример того как это делаю я. Интересная вещь, мой Yii сам увидел что страница использует jQuery код и сам подключил его! Так что в ручную вам добавлять какой либо код подключения библиотеки не придется, всё делает фреймворк.

Если всё же jQuery у вас автоматически не подключился используйте следующие строчки:
$cs=Yii::app()->clientScript;
$cs->registerCoreScript('jquery');
добавить их надо в PostController -> actionView()

Подключаем вывод всех комментариев по посту внизу страницы

Я надеюсь вы не забыли что кроме формы добавления комментариев, нам надо бы еще вывести все комментарии для темы. (т.е. которые написали уже до вас)
Так как мы начали уже работать с отображением, давайте не будем далеко ходить и организуем файл вывода (предполагая что список всех комментариев у нас находиться в переменной $comments).

Т.е. что я предлагаю сделать: сейчас создадим файл отображения который будет выводить нам список всех комментариев которые уже есть. Как вы понимаете с контроллера к нам еще не какие данные не приходят в отображение (мы еще не дошли до работы с контроллером), поэтому мы должны представить что переменная $comments уже содержит в себе список нужных нам комментариев.

Это способ разработки от конца к началу. Мы сначала создаем файл который будет обрабатывать данные которые должны прийти (отображение), а потом создаем файл который эти данные будет передавать (экшинс контроллера).

Откройте файл protected/views/post/view.php. Именно этот файл отвечает за вывод страницы по конкретному посту. В него нам надо добавить вывод списка всех комментариев и вывод формы добавления. Я это сделал следующим образом:

<table border="1" width="100%">

    <?php if (!empty($post)) : ?>
        <tr><td><h1><?=$post->name;?></h1></td></tr>
        <tr><td><?=$post->created;?></td></tr>
        <tr><td><?=$post->text;?></td></tr>
        <tr>
            <td>
                <h3>Комментарии</h3>
                <table border="0" width="100%" cellpadding="10" cellspacing="10">
                    <?php
                      if (!empty($comments))
                        foreach ($comments as $key => $val) {
                            $this->renderPartial('_comments',array(
                                'comment'=>$val,
                            ));
                        }
                    ?>
                </table>
               
                <div align="center">
                    <?php echo $this->renderPartial('_commentsForm', array('form' => $comm_form));?>
                </div>
               
            </td>
        </tr>
    <?php endif; ?>

</table>

У нас добавилось еще одно поле в таблицу - комментарии. После него в цикле мы каждый комментарий загружаем через отображением _comments (в которое мы передаем данные текущего комментария). Данный подход я уже использовал вот в этом уроке.

Чуть ниже я подключил файл _commentsForm который мы с вами создали чуть выше. Я надеюсь с этим всё понятно.
По поводу переменных $comments и $comm_form - вы всё поймете когда мы будем работать с контроллером. (хотя я надеюсь вы уже сейчас понимаете для чего они примерно надо и что в себе должны содержать).

Давайте перейдем к созданию файла protected/views/post/_comments.php:
<tr>
    <td>
        <table border="1" width="100%">
            <tr><td><?php echo $comment->login; ?></td></tr>
            <tr><td><?php echo nl2br(htmlentities($comment->text, null, 'UTF-8')); ?></td></tr>
        </table>
    </td>
</tr>

Работа с контроллером. Добавляем поиск всех комментариев

Теперь было бы отлично зайти в наш контроллер PostController и немного подредактировать метод actionView():

        public function actionView ()
        {
            $this->pageTitle = "";

            if (!empty($_GET['url'])) {
                // На всякий случай удаляю пробелы и устанавливаю
                // максимальную длину для url в 100 символов.
                $url = substr(trim($_GET['url']), 0, 100);
               
                // Только англ. буквы и цифры в url
                if(preg_match("/^[a-zA-Z0-9\-\_]+$/", $url)) {
                   $post = Posts::model()->find("url = :url", array(':url' => $url));
                  
                    // Тема есть в базе
                    if (!empty($post)) {
                       
                        // Для того чтобы сгенерировать форму добавления комментария
                        $comm_form = new Comments();
                       
                        // Создаем критерию отбора данных
                        $com_criteria              = new CDbCriteria;
                        // Нам нужны все записи где id_post = текущему посту
                        $com_criteria->condition = 'id_post = :id';
                        // Вместо :id посдтавляем реальное значение
                        $com_criteria->params     = array(':id' => $post->id);
                        // Сортируем данные. Что бы новые отзывы - были вверху
                        $com_criteria->order     = 'created ASC';
                        // Передаем критерию в findAll
                        $comments = $comm_form->findAll($com_criteria);
                       
                        $this->render('view', array(
                            'post'         => $post,
                            // результат передаем в отображение.
                            'comments'    => $comments,
                            'comm_form' => $comm_form,
                        ));
                       
                    } else {
                        // Такой темы в базе нет. 404?
                        Yii::app()->runController('post/error404');
                    }
                } else {
                    Yii::app()->runController('post/error403');
                }
            } else {
                // $_GET['url'] пустое. Выводим главную страницу
                Yii::app()->runController('post/index');
            }
        }

Мы делаем простую выборку комментариев текущего поста.

Работа с контроллером. Механизм проверки что пришли данные с формы

Теперь давайте проверим пришли ли данные с формы и выполним валидацию. Поэтому в метод actionView() добавляем еще немного кода, и теперь он выглядит вот так:

        public function actionView ()
        {
            $this->pageTitle = "";

            if (!empty($_GET['url'])) {
                // На всякий случай удаляю пробелы и устанавливаю
                // максимальную длину для url в 100 символов.
                $url = substr(trim($_GET['url']), 0, 100);
               
                // Только англ. буквы и цифры в url
                if(preg_match("/^[a-zA-Z0-9\-\_]+$/", $url)) {
                   $post = Posts::model()->find("url = :url", array(':url' => $url));
                  
                    // Тема есть в базе
                    if (!empty($post)) {
                       
                        // Для того чтобы сгенерировать форму добавления комментария
                        $comm_form = new Comments();
                       
                        // Если был отправлен новый комментарий...
                        if (!empty($_POST['Comments']))
                        {
                            $comm_form->attributes = $_POST['Comments'];
                            $comm_form->id_post       = (int)$post->id;
                            $comm_form->created    = date('Y-m-d H:i:s');
                           
                                if (!Yii::app()->user->isGuest) {
                                    // Если не гость - заполняем запись действиельным
                                    // айдишником владельца комментария и ником
                                    $comm_form->id_user = Yii::app()->user->id;
                                    $comm_form->login     = Yii::app()->user->name;
                                } else {
                                    // Если гость...
                                    $comm_form->id_user = 0;
                                }
                           
                            // Валидация специально идет после присваивания значению login
                            // того что ввёл гость через форму. Я это сделал для того чтобы
                            // введенные данные были проверены через rules
                            if ($comm_form->validate('add')) {
                                // ну теперь можем делать save..
                                $comm_form->save();
                            } else {
                                // ошибка при добавлении комментария.
                                // не прошла валидация..
                            }
                        }
                       
                        // Создаем критерию отбора данных
                        $com_criteria              = new CDbCriteria;
                        // Нам нужны все записи где id_post = текущему посту
                        $com_criteria->condition = 'id_post = :id';
                        // Вместо :id посдтавляем реальное значение
                        $com_criteria->params     = array(':id' => $post->id);
                        // Сортируем данные. Что бы новые отзывы - были вверху
                        $com_criteria->order     = 'created ASC';
                        // Передаем критерию в findAll
                        $comments = $comm_form->findAll($com_criteria);
                       
                        $this->render('view', array(
                            'post'         => $post,
                            // результат передаем в отображение.
                            'comments'    => $comments,
                            'comm_form' => $comm_form,
                        ));
                       
                    } else {
                        // Такой темы в базе нет. 404?
                        Yii::app()->runController('post/error404');
                    }
                } else {
                    Yii::app()->runController('post/error403');
                }
            } else {
                // $_GET['url'] пустое. Выводим главную страницу
                Yii::app()->runController('post/index');
            }
        }

Я надеюсь комментариев в коде вам достаточно что бы понять суть работы.

Создаем модель Comments

Теперь мы перешли к одному из главных моментов - создание модели.
Создаем файл Comments в папке models:

<?php
class Comments extends CActiveRecord
{       
    public $verifyCode;
    public $guestlogin = "Гость";
   
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }
    public function tableName()
    {
        return 'comments';
    }
    public function relations()
    {
        return array(
            // делаем привязку комментария к пользователю. что бы иметь возможность
            // получить его логин вместо id_user
            'user' => array(self::BELONGS_TO, 'User', 'id_user'),
        );
    }
}

Тут вы должны были увидеть такую вещь с которой мы раньше НЕ работали. В relations задаются связи нашей модели с другими моделями. Для лучшего понимания скажу что это некий JOIN который будет выполняться автоматически когда мы делаем select.

В данном случае я связываю комментарий к моделью User по полю id_user. Мне это нужно при выводе комментариев (что бы знать текущий логин пользователя который оставил комментарий вместо его id). Подробнее прочитать про relations вы может в статье Реляционная Active Record [рус.]

Теперь нам надо бы добавить safeAttributes (для защиты от хаЦкеров) и attributeLabels (для красоты отображения имен полей). Добавляем в Comments.php :

    public function     attributeLabels()
    {
        return array(
            'verifyCode' => 'Код',
            'login'      => 'Имя',
        );
    }   
    public function safeAttributes()
    {
        return array('verifyCode', 'text', 'login');
    }

Ну а теперь пожалуй самое важное - rules. Правил для проверки данных у нас будет в принципе немного, но без них форма была бы очень не безопасна:

    public function rules()
    {
        return array(
            // логин может содержать только англ и рус буквы, плюс цифры.
            array('login', 'match', 'pattern' =>'/^[A-Za-z0-9А-Яа-я\_\-\s,]+$/u','message' => 'Логин содержит недопустимые символы.'),
            // логин, пароль не должны быть больше 128-и символов, и меньше трёх
            array('login', 'length', 'max'=>128, 'min' => 3),
            // проверка капчи
            array('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd')),
        );
    }

Хочу заметить что логин я проверяю по той причине что гость у нас в форме может написать всё что угодно.

Для удобства файл Comments.php в конечном итоге у вас должен выглядеть следующим образом:

<?php
class Comments extends CActiveRecord
{       
    public $verifyCode;
    public $guestlogin = "Гость";
   
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }
    public function tableName()
    {
        return 'comments';
    }
    public function relations()
    {
        return array(
            // делаем привязку комментария к пользователю. что бы иметь возможность
            // получить его логин вместо id_user
            'user' => array(self::BELONGS_TO, 'User', 'id_user'),
        );
    }
    public function attributeLabels()
    {
        return array(
            'verifyCode' => 'Код',
            'login'      => 'Имя',
        );
    }   
    public function safeAttributes()
    {
        return array('verifyCode', 'text', 'login');
    }
    public function rules()
    {
        return array(
            // логин может содержать только англ и рус буквы, плюс цифры.
            array('login', 'match', 'pattern' =>'/^[A-Za-z0-9А-Яа-я\_\-\s,]+$/u','message' => 'Логин содержит недопустимые символы.'),
            // логин, пароль не должны быть больше 128-и символов, и меньше трёх
            array('login', 'length', 'max'=>128, 'min' => 3),
            // проверка капчи
            array('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd')),
        );
    }
}

Пробуем

Теперь смело заходим к себе на localhost на страницу одной из тем, и проверяем как работаю комментарии.
Как это работает у меня - вы можете посмотреть на yii.dbhelp.ru

Вот и все. Надеюсь у вас получилось со всем разобраться.

Кстати хочу посоветовать вам одну отличную методику которой часто пользуюсь для усвоения материала. Первый раз прочитайте статью и выполняйте все действий. Когда поймете что вы в принципе поняли как это дело работает - просто удалите всё. Закройте блог, и попробуйте всё повторить самостоятельно. Если с первого раза не получиться - подсмотрите в блог, и попробуйте продолжить дальше самостоятельно.

 


Исходники
_comments.php
_commentsForm.php
Comments.php
PostController.php
view.php
структура проекта + исходники урока (rar)



Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
Другие yii статьи:

  1. В процессе разработки приложения, очень часто требуется следить за запросами которые формирует фреймворк.В этом нам поможет FireBug, незаменимый инструмент ... "Логирование запросов в FireBug"

  2. Пожалуй новость про появление новой версии yii пишу позже всех т.к. мой интернет провайдер решил что на майских празниках я ... "Релиз Yii framework 1.1.2"

  3. Странно, каждый день по несколько раз посещаю официальный сайт Yii Фреймворка – и только сегодня заметил новость за 15е ... "Видео урок "Как создать свой блог""

[adm] zolter

Было сказано: Пятница, 03 Июль 2009

Как и обещал - новое чтиво.
До понедельника думаю новых текстов можете не ждать.

SkliF

Было сказано: Пятница, 03 Июль 2009

А можно к каждому уроку полный архивчик с блогом который в уроках разрабатывается?

Так разбираться будет проще чем пошагово копипастить)

[guest] xoma

Было сказано: Суббота, 04 Июль 2009

Спасибо за статьи!

У меня вопрос: а почему бы это
$comm_form->created = date('Y-m-d H:i:s');
и это
$comm_form->id_user = Yii::app()->user->id;
$comm_form->login = Yii::app()->user->name;

не вынести в модель, например в beforeValidate() ?

[adm] zolter

Было сказано: Суббота, 04 Июль 2009

to SkliF
просто я разработку веду сразу на хостинге (не вирт машина) поэтому будет немного проблемно всё это дело копировать и архивировать :) но я постараюсь :)

[adm] zolter

Было сказано: Суббота, 04 Июль 2009

to xoma
В принципе тоже вариант :) Почему то он у меня из головы вылетел.. ^_^

В общем вот это:

$comm_form->created = date('Y-m-d H:i:s');


красиво было бы сделать через Behavior. Но по его поводу я потом еще что-то напишу :)

[guest] Гость

Было сказано: Суббота, 04 Июль 2009

Сенк! Жду продолжения!

[guest] Kirill

Было сказано: Вторник, 07 Июль 2009

Спасибо большое за ваши статьи!

[adm] zolter

Было сказано: Вторник, 07 Июль 2009

Отличная статья!

[guest] GueST

Было сказано: Вторник, 07 Июль 2009

Урок получился солидным по высоте текста, плюс около десяти комментариев, а меня вместо того, чтобы сфокусировать на допущенной ошибке (Неправильный код проверки) кидает в самый верх страницы!
Мотаем вниз... До-о-о-лго... :(

[adm] zolter

Было сказано: Вторник, 07 Июль 2009

Да, к сожалению не придумал как при ошибки в форме без перезагрузки сделать прокрутку вниз :(

[guest] MixTer

Было сказано: Среда, 08 Июль 2009

А почему бы не реализовать добавление комментов через ajax + была бы еще одна тема для статьи (насчет yii+ajax)

[adm] zolter

Было сказано: Среда, 08 Июль 2009

В принципе можно, там ничего сложного. Главное что б это было интересно читателям :)

[adm] zolter

Было сказано: Среда, 08 Июль 2009

В статью добавлена ссылка на рабочий проект. (rar) архив содержит в себе исходники всех предыдущих уроков + текущего урока. Что бы запустить его от вас требуется изменить немного index.php (прописать новый путь к yii) и config/main.php (логин пароль к базе)

[adm] zolter

Было сказано: Четверг, 09 Июль 2009

Уже почти готов "Урок 8" в котором будет разобрано как подключить дизайн к yii приложению (в виде отдельной темы).

[guest] Space

Было сказано: Пятница, 14 Август 2009

Добрый день было бы интересно продолжение этого топика, на тему как добавить постраничное листание к комментам

[guest] zolter

Было сказано: Пятница, 14 Август 2009

Там все в принципе аналогично. Просто вместо модели постов, ставите модель комментариев и добавляете в отображение виджет пагинации. Как будет время - я постараюсь написать, к сожалению, на этой неделе точно не смогу.

[guest] snnwolf

Было сказано: Понедельник, 31 Август 2009

Классный урок. Но есть пара замечаний.
1. После отправки коммента стоит рефрешить страницу как здесь у тебя в блоге
2. Yii сам не подгружает скрипты jquery, если используются какие-либо его функции. В твоих примерах это делала, на мой скромный взляд, captcha

[guest] zolter

Было сказано: Понедельник, 31 Август 2009

Сенк.

да, я потом тоже заметил что Yii сам не подключает :)

[guest] Гость

Было сказано: Вторник, 09 Февраль 2010

Почему-то не сохраняется текст комментария в базу. При этом логин сохраняется.
Версия Yii последняя стабильная.
Пугает в режиме отладки отсутствие поля text в запросе INSERT:
Executing SQL: INSERT INTO `comments` (`login`, `id_post`, `created`,
`id_user`) VALUES (:yp0, :yp1, :yp2, :yp3)

[guest] Гость

Было сказано: Суббота, 13 Февраль 2010

Так есть хоть какие-то мысли по поводу сохранения комментария?

[guest] zolter

Было сказано: Суббота, 13 Февраль 2010

Я так думаю проблема в том что вы не кинули текст коммента как сэйватрибут в модель. В контроллере сделайте принтовку того что приходит с $_POST и попробуйте в ручную прописать

$model->text = $_POST['ModelName']['text'] и все будет работать.

Просто данный урок писался для старой версии yii, где в сэйватрибуты небыло обязалово кидать все что хотим сохранить

[guest] Гость

Было сказано: Суббота, 13 Февраль 2010

Вручную работает, а в автомате нет. Как-то это не правильно.

[guest] zolter

Было сказано: Суббота, 13 Февраль 2010

Что б работало автоматом - надо добавить в метод сэйвАттрибутес список полей которые будут заполнятся автоматически.

http://www.yiiframework.com/doc/api/CModel#safeAttributeNames-detail

Kyuzo

Было сказано: Понедельник, 15 Февраль 2010

аналогичная проблема с автоматическим занесением в базу текста комментария

	
public function safeAttributes()
{
return array('verifyCode', 'login', 'text');
}

присутствует

Kyuzo

Было сказано: Понедельник, 15 Февраль 2010

с исходниками взятыми из архива аналогичная ситуация, версия Yii 1.1.0

[guest] Гость

Было сказано: Понедельник, 15 Февраль 2010

Еще раз повторяю, для версий 1.1.х что бы работало автоматически - надо занести в моделе поля в сэйвАтрибутс

http://www.yiiframework.com/doc/api/CModel#safeAttributeNames-detail

[guest] Гость

Было сказано: Понедельник, 15 Февраль 2010

имелось ввиду не сейвАтрибутс а все же сейф, от слова safe?
так вот, обратите внимание на коммент 1016

public function safeAttributes()

{

return array('verifyCode', 'login', 'text');

}


или я что-то не так понял?

[guest] zolter

Было сказано: Вторник, 16 Февраль 2010

Да, точно. Все верно значит, должно писать автоматом.
А ваши поля в базе случайно не отличные от text/login к примеру?

Kyuzo

Было сказано: Вторник, 16 Февраль 2010

нет, не отличные,
проблему кстати решил простой строчкой в модели


public function rules()
{
return array(
array('text', 'required'),
);
}


видимо если поле не описано в правилах, то и в обработку не попадает?

[guest] zolter

Было сказано: Вторник, 16 Февраль 2010

Странно, не должно.

Kyuzo

Было сказано: Вторник, 16 Февраль 2010

http://www.yiiframework.com/doc/guide/upgrade

Removed CModel::safeAttributes(). Safe attributes are now defined to be those that are being validated by some rules as defined in CModel::rules() for the particular scenario.


как-то так :)
там еще интересности на эту тему есть

[guest] zolter

Было сказано: Среда, 17 Февраль 2010

Спасибо :)

[guest] Гость

Было сказано: Пятница, 26 Февраль 2010

Подскажите, а как выполняются такие запросы как SELECT SUM(...) и подобные, т.е. как их грамотно написать с точки зрения yii??
Вот например мне надо просуммировать прибыль с проектов например:


$sql = 'SELECT SUM(cost) FROM `projects`';
$param = array('id_user' = 13);
$AllSum=Project::model()->findAllBySql($sql,$param);


Как то бредово получается....

Kros

Было сказано: Пятница, 19 Март 2010

Тимур, эта страница оч жёстко отображается - лишний закрывающий тег наверное, чутка нечитаемо, было бы кульно, если бы вы поправили, скрин - http://i044.radikal.ru/1003/28/6c13ea770190.jpg
по нажатии кнопки "показать" - контент открывается в комментариях.

а в ИЕ8 даже без кнопочки - вообще почти статьи нет)

[guest] zolter

Было сказано: Суббота, 20 Март 2010

Спасибо, я гляну на днях :)

[guest] zolter

Было сказано: Суббота, 20 Март 2010

to Гость
читайте про это вот тут http://dbhelp.ru/yii-cdbexpression-help/page/

[guest] Гость

Было сказано: Воскресенье, 21 Март 2010

CCaptchaValidator.action "captcha" is invalid. Unable to find such an action in the current controller.

(( я вот такое получаю( разбираюсь..

[guest] Гость

Было сказано: Воскресенье, 21 Март 2010

добавил по примеру из демоблога

public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}

в наш контроллер и капча заработала.. Видно что-то где-то упустил

[guest] Гость

Было сказано: Пятница, 25 Февраль 2011

Подскажите пожалуйста есть ли возможность задать текст по умолчанию в:

CHtml::activeTextArea($form, 'text', array('rows'=>20, 'cols'=>70))

для textArea это сделать легко, но хотелось бы чтоб это дело работало ч-з вилидацию и ч-з массовое присваивание

[guest] zolter

Было сказано: Суббота, 26 Февраль 2011

В самой модели создайте паблик переменную text с дефолтным значением и оно будет подставлять её.

[guest] Гость

Было сказано: Суббота, 26 Февраль 2011

Или в HtmlOptions своими руками

[guest] Гость

Было сказано: Суббота, 26 Февраль 2011

Да, паблик переменная с дефолным значением в данной ситуации помогла, но мне нужно немного другое, мне надо чтоб это значение подставлялось из БД, вылаживаю код:


контроллер
...
public function actionTest(){

$criteria = new CDbCriteria;
$criteria->condition = 'type=:var';
$criteria->params = array(':var'=>'index');
$Test_obj = Test::model()->find($criteria);

$form = new Test();

if (!empty($_POST['Test'])){
$Test_obj->attributes = $_POST['Test'];
if($Test_obj->validate()){
if ($Test_obj->save())
//сохранилось
}else{
//не сохранилось
}
}

$this->render('test', array(
'form' =>$form,
'title' =>$Test_obj->title,
'description' =>$Test_obj->description,
'keywords' =>$Test_obj->keywords,
'text' =>$Test_obj->text,
));
}
...

модель
...
class Test extends CActiveRecord{

public static function model($className=__CLASS__){
return parent::model($className);
}

public function tableName(){
return 'statics';
}

public function rules(){
return array(
array('text', 'required', 'message'=>'Текст не должен быть пустым'),
array('text, title, description, keywords', 'safe'),
);
}

public function attributeLabels(){
return array(
'text' =>'Текст',
'title' =>'Title',
'description' =>'Description',
'keywords' =>'Keywords',
);
}

}
...

отображение
...
<div class="form">
<?php echo CHtml::form(); ?>
<?php echo CHtml::errorSummary($form, 'Исправьте, пожалуйста, следующие ошибки:'); ?>
<div class="row">
<?php echo CHtml::activeLabel($form, 'title'); ?>
<?php echo CHtml::activeTextField($form, 'title', array('value'=>$title, 'size'=>50, 'maxlength'=>100)); ?>
</div>
<div class="row">
<?php echo CHtml::activeLabel($form, 'description'); ?>
<?php echo CHtml::activeTextField($form, 'description', array('value'=>$description, 'size'=>50, 'maxlength'=>100)); ?>
</div>
<div class="row">
<?php echo CHtml::activeLabel($form, 'keywords'); ?>
<?php echo CHtml::activeTextField($form, 'keywords', array('value'=>$keywords, 'size'=>50, 'maxlength'=>100)); ?>
</div>
<div class="row">
<?php echo CHtml::activeLabel($form, 'text'); ?>
<?php echo CHtml::activeTextArea($form, 'text', array('rows'=>20, 'cols'=>70)); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Сохранить', array('id'=>"submit")); ?>
</div>
<?php echo CHtml::endForm(); ?>
</div><!--form-->

идея следующая, есть статичные страницы, и их значения надо менять, вариант с CKEditor не подойдет, нужно именно ч-з activeTextArea.
Вопрос тот же, как в текст арию вставить текст полученный из БД.
Подскажите пожалуйста...
P.S. а вот задать значение в HtmlOptions я конечно же пробовал, ничего не получилось может тут есть какой то хитрый атрибут ч-з который можно? (точно не value)

[guest] паша

Было сказано: Воскресенье, 27 Февраль 2011

Ты демоблог изнутри видел? Советую ознакомиться, там про это хорошо понятно. Просто в отображении используй модель, лайк зис:

<?php echo CHtml::activeTextArea($model,'content',array('rows'=>10, 'cols'=>70)); ?>

[guest] zolter

Было сказано: Вторник, 01 Март 2011

В rules:
# default: псевдоним класса CDefaultValueValidator, который присваивает значение по умолчанию выбранным атрибутам;

[guest] Гость

Было сказано: Суббота, 02 Июль 2011

Добрый день! У меня какой то глюк отображения кода

http://floomby.ru/content/n39qgqLGk2/

[guest] Гость

Было сказано: Суббота, 02 Июль 2011

Уточню, у меня хром стоит и только когда нажимаешь на кнопку "показать код" до нажатия нормально

[guest] hghgjhgj

Было сказано: Воскресенье, 24 Июль 2011

ghhjghj

[guest] Гость

Было сказано: Пятница, 14 Сентябрь 2012

При раскрытии текста не видны атрибуты !!!!

[guest] Гость

Было сказано: Понедельник, 24 Сентябрь 2012

На данный момент статья бесполезна,так как при раскрытии не видно ничего.

[guest] Гостьv

Было сказано: Вторник, 27 Ноябрь 2012

zzzzzz

[guest] YeahGore

Было сказано: Четверг, 21 Февраль 2013

Автор, исправьте пожалуйста статью. Код после раскрытия неполный, все атрибуты удалены и переменные.

[guest] Гость

Было сказано: Вторник, 06 Август 2013

Мне удалось посмотреть текст полностью, отключив JS

[guest] Denis

Было сказано: Четверг, 25 Сентябрь 2014

Полностью рабочий код для Yii 1.1.15 можете найти на https://github.com/dpmurm/bbb.
Спасибо комментирующим за информацию по исправлению ошибок.
Автору респект. Ждем таких же замечательных уроков по yii 2.0

[guest] Гость

Было сказано: Четверг, 09 Февраль 2017

Производство http://заводтары.рф/ Завод Тары долгосрочный время занимается созданием также сбытом новоиспеченных, к тому же б\у поддонов, также прежде обозначает предприятие прибыльным помощником собственно для клиента у различных индустриальных обстановке движения. Компания предлагаем частых покупателям доставку промышленной бувшей \употребления контейнеров, лесомассы также пиломатериалы, выполнение паллет на приобретение, подвод заказа, отпуска, откат, откатка и использование подставок круглосуточно, и множество указанных работ связанных со сборкой также распродажей презентованного материалов . Содействуя с нашим предприятием, пользователь достигает неизменные уценки от обработку, обнаружение документальной оказанием подмоги, европейской марки товар, свежие вид, сертификационную продукт производства, выполнение крупных заказов, своеобразные предписание также подобные выбора. У ассортименте промышленного сайта <a href=http://заводтары.рф/servise/vozvrat-poddonov.html>http://заводтары.рф/servise/vozvrat-poddonov.html</a> пользователи сумеют оценить еще и утвердить приобретение такие виды: поддоны для экспорта, деревянные поддоны, срезанные бревна, термообработанные площадки, пласты, кредитные резервуар также стальные емкости именно за низкие суммой. Изготовление еще приемка технических пластин у численных размерах именно по Москве также вне Москвы клиенты имеют возможность приобрести только в нашем магазине.

[guest] Гость

Было сказано: Пятница, 10 Февраль 2017

Автономно направить личную долю, снарядить активность на правильное колею , призвать до персоне везение также благополучие клиент получиться с пособием сущих магов к страшной также светлой чародейства. Наш сайт <a href=http://magicblack.biz/snyatie-negativnih-f39.html>черные чистки magicblack.biz/snyatie-negativnih-f39.html</a> темной также безобидной магии, астромантии, практичных советов с уст магов обеспечивает для пользователей доступный собрания работы к тому же образующиеся охват бытия. В нашем предложениях форума желающий заметит для себя важный подразделение: приворотная магия, обряды к счастье, выздоровление также налаживание с пособием снежной чар, передача информации, обряды, сохранение, отстранение повреждений, забирание и призывы практичных побуждения на действие, советы чародеев http://magicblack.biz/, тестирование также большинство другое клиенты получают шанс обозреть на презентованном источнике. Плюс администрация показываем возможность переписки с онлайн визитерами к разные ведовских темы также обряды. Ждем всех желающих в всяческих кругах чар или оккультизма.

[guest] Гость

Было сказано: Пятница, 10 Февраль 2017

В наше время вышивание, вязание плюс свивка предоставляется не лишь всего то курьезное хобби, но плюс выгодным, тем более трудиться над этим видом техники может полностью всякий, из подмогой сетей, а именно - указанного интернет -ресурса <a href=http://sxembox.ru/publ/polezno_znat/kak_pravilno_vypolnjat_petelnyj_shov_poleznye_sovety/15-1-0-62>Петельный шов</a> потенциальный абонент сможет мгновенно плечти простой сноровкой вязки, ажура также рукоделия, ибо подобрать мастерские схемы вышивки плюс стягивания шарфов также аксессуаров. В списке рукодельник установит различные способы вязания, очертания плетения, статьи ото квалифицированных работников и онлайн- объяснения . Детальное плюс пошаговое трактование из изображением также роликами подможет постигнуть новые плюс изящные виды начертания, вязания, плетения особенно дебютантам. Все все на нашем сайте, заходите и обучайтесь непосредственно сейчас.

[guest] Гость

Было сказано: Пятница, 10 Февраль 2017

Комплекс растений также огород - присущя фрагмент хозяйственного семейной пары, в которого есть собственный участок либо загородная огородный участок, а из развитием разновидностей рассады представилась нуждаемость к материалах об содержании за растениями. Поданный ресурс огороднического мастерства <a href=https://sadiogorod24.ru/pravila-mnogoyarusnoj-klumby>https://sadiogorod24.ru/pravila-mnogoyarusnoj-klumby</a> содержит всю результативную сведения про флору, отростки, кустиках, травах, овощных культурах, овощах к тому же ягодах, к тому же содержит необходимые публикации об доскональном размножении еще и больших количествах данного типа пересадки. В направлениях списке читатели получат шанс обозначить захватывающие направления: роща, огород, инструменты, хозяйство, флоры, другое, еще осмотреть статьи, свежие параграфы и указания ото авторитетов, плантаторов плюс неутомимых чтецов. Сайт неприкрыто еще и общедоступно любому, необходимо торопитесь успевать весь материал обозреть.

[guest] Гость

Было сказано: Пятница, 10 Февраль 2017

Ищете всяческое неизведанное плюс непонятное, ударяетесь познавать мифические существа также странные истории? В таком случае почитатели попали в верное место, онлайн -ресурс различного загадочного также ненормального <a href=http://darkbook.ru/gora-mertvetsov-pereval-dyatlova>Гора мертвецов</a> из удовольствием изволены сообщить из пользователями наблюдением достаточно курьезных неразгаданных территорий на Земле, необъснимые инцеденты, затейные заметки также иное, что растворяют проем в область сверхъестественного. Изучить плюс прочесть ужасные доклады на матеарильных явлениях, какие-либо всякий дление разгадывают все хронисты и доктора мира, пользователь имеете возможность только собственно на источнике. Администрация подбираем жизненные записи еще и фото с патологических местность, поддерживаем беседу со зрителями проишествий различных страшущих обстоятельств, выпускаем рассказы наших юзеров и всегда приглядываем собственно на новостями всего- то необычного именно для ежедневной деятельности.

[guest] Гость

Было сказано: Суббота, 11 Февраль 2017

Владелец http://healbio.ru/ лох.

[guest] Гость

Было сказано: Понедельник, 13 Февраль 2017

Bupropion <a href=http://doxycycline.mdsmeds.com/buy-doxycycline-online.php>Buy Doxycycline Online</a> Levitra 10mg En France Crestor 10mg <a href=http://accutane.inpills.com/accutane-cheapest-price.php>Accutane Cheapest Price</a> Clomid Et Test De Grossesse Buy Now Online Zentel <a href=http://xanaxr.com>Buy Cialis</a> Cellulitis Keflex Can Keflex Cure Syphyllis <a href=http://nolvadex.inpills.com/map.php>Purchase Nolvadex Online</a> Order Viagra Online Female Productos Con Finasteride Comprar Propecia <a href=http://amoxil.inpills.com/generic-amoxil-online.php>Generic Amoxil Online</a> Vagra For Over 60years Old Menshealth Viagra <a href=http://drisdol.com>cialis price</a> Buy Tamoxifen Citrate In Canada Cialis Vantaggi <a href=http://doxycycline.inpills.com/antibiotic-doxycycline.php>Antibiotic Doxycycline</a> Levitra Comentarios Causes Of Leukemia By Antibiotic Amoxicillin <a href=http://priligy.rx-cs17.com/dapoxetine-buy.php>Dapoxetine Buy</a> Compra De Viagra En Madrid Ibilex Cephalexin Std <a href=http://eclatrx.com>kamagra 100mg reputable site</a> Imitrex Buy U.S Canada Cialis Viagra Yahoo Respuestas <a href=http://prednisone.rx-cs17.com/purchase-cheap-deltasone.php>Purchase Cheap Deltasone</a> Propecia Forum Cialis En Ligne <a href=http://antabuse.rx-cs17.com/cheap-antabuse-sales.php>Cheap Antabuse Sales</a> What Does Lasix Do To Blood Pressure Amoxicillin Bladder Infection <a href=http://drugsed.com>kamagra suhagra generic viagra</a> Propecia Hair Fine Lilly Cialis Comprar <a href=http://viagra.rx-cs17.com/generic-viagra-cheap.php>Generic Viagra Cheap</a> Prednisone Side Effects Amoxicillin Dog Dose <a href=http://cytotec.mdsmeds.com/buying-cytotec-online.php>Buying Cytotec Online</a> Misoprostol 20mg Uk Generisches Viagra Sildenafil Citrate <a href=http://nolvadex.rx-cs17.com/nolvadex-tamoxifen-citrate-buy.php>Nolvadex Tamoxifen Citrate Buy</a> Cialis En Vente Libre Amoxicillin Mrsa <a href=http://viagra.inpills.com/generic-sildenafil.php>Generic Sildenafil</a> Reasonable Drug Discounter Viagrageneric <a href=http://clomid.inpills.com/clomid-online-buy.php>Clomid Online Buy</a> Cialis Ou Viagra Forum Sans Ordonnance Amoxicillin Pharmacie En Ligne En Germany <a href=http://zithromax.rx-cs17.com/generic-zithromax-cheap.php>Generic Zithromax Cheap</a> Levitra Prix Casablanca Contrareembolso Kamagra Paypal <a href=http://inderal.mdsmeds.com/cheap-inderal-online.php>Cheap Inderal Online</a> Escitalopram Pills Where To Get Viagra <a href=http://ysluk.com>cialis online</a> Buy Trazadone Cialis Oder Levitra <a href=http://doxycycline.rx-cs17.com/cheap-vibramycin-tablets.php>Cheap Vibramycin Tablets</a> Isotretinoin 10mg where to buy Cialis Buy Online Cheap <a href=http://levitra.mdsmeds.com/comprar-levitra.php>Comprar Levitra</a> Affordable Propecia

[guest] Гость

Было сказано: Среда, 15 Февраль 2017

doodidiopdn asdklasjdasodasd <a href=http://didjhdhnmssygdndd.com>diuhhfjndbvd</a> ddklddjdl
http://go.nature.com/2l83K2F

[guest] Гость

Было сказано: Среда, 15 Февраль 2017

Показ популярных программ, телетрансляций и мыльных опер достаточно достаточно давно были любимым занятием под день свободное время всяческих телевизионных зрителей, которые смотрят лишь за выпуском обновленных выходов плюс серий сезона. Источник HD телетрансляций в интернете <a href=http://hdshowonline.tv/russkie-shou/1223-golos-deti-4-sezon-1-vypusk-2017-pervyy-kanal-smotret-onlayn.html>смотреть голос дети 4 сезон первый канал 2017</a> предоставляет собственно для всех зрителей огромный подбор TV ток-шоу научных, забавных, кулинарных, массовых, сердечных стиля. Веб-портал предоставляет возможность транслировать русские также украинские шоу без фиксации в всякий период дня. Практичный продуктивность страницы способствует пользователю моментально обнаружить любимое телешоу ибо выбрать что-то на личное выбор, с помощью описания телешоу. Оценивайте шоу и многосерийное кино у hd показе с наслаждением на указанном ресурсе режиме онлайн у свободное для Вас час.

[guest] Гость

Было сказано: Среда, 15 Февраль 2017

Отрадное плюс легкое времяпровождения бывает после тяжелого надоедливого недели под час прогона обожаемых передачи также воспроизведения, и когда абонент не имеете шанса прямой эфир осмотреть именно по ТВ, тогда возможно запустить кино в онлайн режиме на указанном странице онлайн передачи <a href=http://ruatv.com/novuy-kanal/241-serdca-treh-4-sezon.html>смотреть сердца трех 4 сезон все выпуски</a> лишь у высшем виде. Мы выставляет всяческие сериалити быстро после следующего выхода именно по ТВ, потому каждый можете увидеть благодаря сайту прошедшие выпуски давно полюбивших шоу. На сайте ламер найдете именно то же, такового что хотели, ведь данный список коллекции содержит разностронние шоу их всех съемок страны, к к тому ж каждая ток-шоу включает обрисовку, определенно по которому зритель сможет обусловить понравиться его сценарий программы либоибо вовсе нет. Находите и сразу удостоверитесь лишь в том, определенно из нами всем действительно не заскучать в всякое время дня.

[guest] Гость

Было сказано: Среда, 15 Февраль 2017

Наше показы шоу уже давно знаменитая персональными признанные телешоу, какие создают по несколько съемок, также потенциальные почитатели ТВ-программ сумеют сейчас обозревать телешоу у онлайн- организации с помощью наш веб-ресурс интернет тв. Сейчас потенциальный юзеры сайта может действовать из сайтом украинских трансляции <a href=http://rutvua.com/stb/191-mastershef-deti-2-sezon-1-vypusk-2017-na-stb-smotret-onlayn.html>онлайн мастершеф дети 2 сезон на канале стб</a> в hd виде без оформления. Мы стабильно обновляем перечень ток-шоу любых рода от станции СТБ, Новый канал, ICTV, ТЕТ, 1+1 Украина плюс применяем свежий часть вслед спустя выпуска в прямом эфире. Самые популярные сериала страны и лучшие моменты из передач Вы найдете собственно лишь на указанном портале ток шоу.

[guest] Гость

Было сказано: Четверг, 16 Февраль 2017

<a href=http://m.loveawake.ru>регистрация майл знакомства</a>

[guest] Гость

Было сказано: Четверг, 16 Февраль 2017

doodidiopdn asdklasjdasodasd <a href=http://didjhdhnmssygdndd.com>diuhhfjndbvd</a> ddklddjdl
http://go.nature.com/2l83K2F

[guest] Гость

Было сказано: Пятница, 17 Февраль 2017

Положительная сторона стокового маркета принадлежит у этом, же всякий сможет приобрести проверенные товар с крупной уценкой, согласно за сходные стоимость Вы заказываете совсем новый рестант, каковой наступил со формального маркета. Представленный скидочный интернет-сайт баскетбольной и известной кроссовок предлагает клиентам купить настоящую обнову в низкими оплатой обувь фирмы New Balance, Convers, Асикс, Найк, Reebok и иных популярных производчиков с неизменными деяниями, уценками, реализацией также иными особыми инициативами. Именно на ресурсе <a href=http://topsaleshoes.ru/>кеды converse</a> сможете не торопясь обследовать наличный набор спортивной кед, входя на разделы марки лишь в личном распоряжении различные модели и формат сильного пола или для девочек пары. Входите также подбирайте кроссовки на персональному стиль также в падшие ярлыки только лишь у презентованном http://topsaleshoes.ru/ сайте.

[guest] Гость

Было сказано: Суббота, 18 Февраль 2017

Каждый знают, то что отчет об персоне получается ото его наружного наружности, также у первую очередь, собственно на то что мы люди обращаем увлечение - считается обувь. Собственно хорошая также нарядная обувь говорит об расположение и состояние собеседника, потому наша команда презентуем в своем веб -магазине очень отрядную обувь от всемирных популярных марок. Купить подходящую обуви с помощью наш сайт <a href=http://www.trendbrands.ru/ray-ban/?brandID=626>trendbrands.ru/ray-ban/?brandID=626</a> обильно свободно также практично, мы презентуем в каталоге доступные версии обуви совершенно к произвольный ощущение изо модных коллекций, к рубрике меню посетитель можете обглядеть девичью также солидную набор типичного, походного, раннего, теплого, всесезонного варианта также купить обувь у 2 зов. Магазин качественной обуви обеспечивает просторный комплект шузов, сумочек, аксессуаров за http://www.trendbrands.ru доступные суммы и подходящий альтернативу подачи на локации. Переходите затем присваивайте облюбованную заказ неотложно нынче в распространенном шоу -руме.

[guest] Гость

Было сказано: Понедельник, 20 Февраль 2017

мне не нкжно


------
<a href=http://boards.kiev.ua/shop/category/probkovye-doski>http://boards.kiev.ua/shop/category/probkovye-doski</a>

[guest] Гость

Было сказано: Понедельник, 20 Февраль 2017

Собственно для кого -всякого досуг у рулетку порядочный образ расслабиться или развлечься, а собственно для каких-еще великолепная идея взять монету, определенно то плюс подобное любители можете оберсти именно в любое час суток в нашем веб- клубе "Рулетка" <a href=https://rouletteclub.org/>рулетка онлайн на реальные деньги в интернет-казино</a>, в каком зачастую состоится https://rouletteclub.org/ игра собственно в круговорот за корпоративным круглым столом на биткоины. В данном клубе указанный геймер принимает все потенциал именно для превосходной еще и кассовой результата, все что администрация призываем ото пользователей малую степень спрос. Здесь игрок имеет возможность узнать главные принципы колеса , выучить достоверные политику, легко учреждать также извлекать деньги, наблюдать за ходом колеса, ставки также интернет игроками. Заводите собственную круговорот непременно в это время на указанном известном - портале "Рулетка" и получайте значительный прибыль у процессе текущего промежутка времени.

[guest] Гость

Было сказано: Среда, 22 Февраль 2017

Да, действительно. Так бывает. Можем пообщаться на эту тему.


-------
<a href=http://mp4porno.org/>mp4porno</a> | http://mp4porno.org/

[guest] Гость

Было сказано: Воскресенье, 26 Февраль 2017

Я считаю, что Вы допускаете ошибку. Давайте обсудим это. Пишите мне в PM, пообщаемся.


------
<a href=http://pogoda5day.ru/>погода сейчас</a> | http://pogoda5day.ru/

[guest] Гость

Было сказано: Воскресенье, 26 Февраль 2017

Вы не правы. Давайте обсудим это.


------
<a href=http://pogoda5day.ru/>прогноз погоды на 5 дней</a> | http://pogoda5day.ru/

[guest] Гость

Было сказано: Понедельник, 27 Февраль 2017

<a href=http://flexff.blogspot.com>Valgusteen - средство от косточки</a>
<a href=http://eyes-coverr.blogspot.com/>Eyes Cover Маска Для Глаз </a>
http://gastrenit.blogspot.ru/
<a href=http://eyescover2017.blogspot.com/>Маска Для Глаз</a>
<a href=http://2017firefit.blogspot.com/>Капли для похудения Fire Fit</a>
<a href=http://firefitnowa2017.blogspot.com/>Fire Fit</a>
<a href=http://www.firecov.tk/>Товары для здоровья</a>

<a href=http://www.firecover.ru/kostochka-na-noge-i-ploskostopie/>Косточка на ноге и плоскостопие</a>
<a href=http://www.firecover.ru/kostochka-na-noge-operaciya/>Косточка на ноге операция</a>
<a href=http://www.firecover.ru/kostochka-na-noge-ischeznet-sama/>Косточка на ноге исчезнет сама</a>
<a href=http://www.firecover.ru/kostochka-na-noge/>Косточка на ноге</a>
<a href=http://www.firecover.ru/kostochka-na-noge-zagovor/>Косточка на ноге заговор</a>


<a href=http://www.firecover.ru>средство от косточки на ноге Valgusteen</a>

<a href=https://vk.cc/6hSR6H>buy essay custom</a>

[guest] Гость

Было сказано: Вторник, 07 Март 2017

Бесподобная тема, мне очень нравится :)


-----
<a href=http://konfiskat-optom.com/>конфискат интернет магазин</a> | http://konfiskat-optom.com/

[guest] Гость

Было сказано: Четверг, 09 Март 2017

Противоречие из дисфорией дисбалансом также заблужение личности вполне отрицательно отражается именно на деятельности пациента, который обладает данную апорию http://dpdr.ru/. Важными признаками описанного обстановки - низкая отображение памяти, ощущение дезориентации, вкус изнеможения и упадка, замкнутость, обездвиженность либо унывания, затем в случае если человек давно смирились с тому, то что от описанного чувства невмогу отделаться, в таком случае юзер серьезно заблуждаетесь . Из самочувствия ДР и потеря личности реально выйти, только когда присоединить к излечению самое большое число труда, отчетливо про ДР и ДП администратор изложит посетителям именно на данном ресурсе <a href=http://dpdr.ru/18-depersonalizaciya.html>феномен деперсонализации</a>, в каком распоряжен правильный курс внутреннего выздоровления методом внутренним анализом. Мы посоветует , как отучиться думать о дисориентации также дисперсонализации, действовать к внутренними помыслами к тому же избежать от этой привычки, здесь Вы заметите, то что нет ничего такого неосуществимого, даже когда пользователь мучается фобией пару лета. Избавляйтесь от ДР заодно со нами, тогда пациент незаметно обязательно обратитесь к адекватной функционированию.

[guest] Гость

Было сказано: Вторник, 14 Март 2017

Большинство находят, что построить крышу подходящую для здания вовсе не с мощь людям без умения либо подходящего обучения, однако на сайте рассматриваем напротив: собственными силами сделать стреху дома сумеет потенциальный человек, если он имеет хорошей информацией и подходящими консультациями экспертов. Наш источник строительных деятельности <a href=http://goldkryshi.ru/135-ploskie-kryshi-ih-tipy-i-konstrukcii.html>плоские крыши водосток</a> подскажет для Вас, как же верно произвести сооружение также монтаж крова собственными руками, мы презентует собственно для Вас объемную энциклопедию наставлений насчет строительству крыши, цельная данные указана у постижимом формате именно для всякого абонента, плюс охватывает различные методы проектирования, стройки, компоновка и ухода крова. Источник дополняет содержания, те что изображают постепенные моменты сооружения, надлежащие уплотнители для кровли дома именно в подобные примерах, успехи либо черта способа, а ко всему сподручные аналогии укладывания. Изливаясь из своего типа дома, мы http://goldkryshi.ru/ подскажем читателю определить, который определенно вариант кровли владельцу надо применять, со чего сделать первые шаги затем куда устремиться, к тем же пользователь удобный момент можете связаться до работающим мастерами, те что систематически отписывают у веб- виде.

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Среда, 15 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Четверг, 16 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Четверг, 16 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Четверг, 16 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

[guest] Гость

Было сказано: Четверг, 16 Март 2017

http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor <a href="http://doxycycline100mgbuy.com/">doxycycline100mgbuy.com.ankor</a> http://cialistadalafillowest-price.net/

Перейти к странице:

Оставить комментарий


Код:
Имя: