Модуль sitemap

Модуль, добавляющий возможность автоматической генерации файла sitemap.xml
Поддерживаемые модули и модели из них на данный момент: page (Page), news (News), blog (Blog, Post).
Для добавления нового модуля необходимо в файл https://github.com/DarkCs/yupe/blob/sitemap/protected/modules/sitemap/config/modules.php добавить в массив элемент следующего формата:
```php
    'page' => [ // модуль, в котором расположены модели
        'Page' => [ // модель
            'getUrl' => function ($model) { // функция получения url этой модели, абсолютный url
                return $model->getUrl(true);
            },
            'getDataProvider' => function () { // dataprovider, через который будут извлекаться модели
                return new CActiveDataProvider(CActiveRecord::model('page')->published(), []);
            },
            'getLastMod' => function ($model) { // если есть возможность определять дату последней модификации, то возвращаем её, иначе возвращаем null
                return $model->change_date;
            },
        ]
    ],
```
В базу добавляем дефолтные настройки для модели в модуле:
```php
class m141004_150000_sitemap_model_data_blog_post extends yupe\components\DbMigration
{
    public function safeUp()
    {
        $this->insert("{{sitemap_model}}", ['module' => 'blog', 'model' => 'Blog', 'changefreq' => 'weekly', 'priority' => '0.5', 'status' => 1]);
        $this->insert("{{sitemap_model}}", ['module' => 'blog', 'model' => 'Post', 'changefreq' => 'weekly', 'priority' => '0.5', 'status' => 1]);
    }

    public function safeDown()
    {
        $this->delete("{{sitemap_model}}", ['module = :module'], [':module' => 'blog']);
    }
}
```

Настройка модуля выглядит так:
![](https://qas-shared-assets.s3.amazonaws.com/snaps/iqzu2bsrowasjor)

Модули - это настройка элементов для работы через файлик https://github.com/DarkCs/yupe/blob/sitemap/protected/modules/sitemap/config/modules.php, страницы - произвольный набор ссылок сайта.

Было бы неплохо переделать этот файл в некий массив с ссылками на отдельные классы для работы с определенными модулями, чтобы, например, можно было в своем модуле добавить новый класс в эту настройку модуля sitemap, но текущая реализация конфигурирования модулей не позволяет этого сделать. + вопрос добавления в табличку https://github.com/DarkCs/yupe/blob/sitemap/protected/modules/sitemap/install/migrations/m141003_190000_sitemap_model.php , в которой хранятся настройки для моделей.

В общем, пока как-то так, вопросы, замечания, предложения?