First commit

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

{
"directory" : "vendor/bower"
}
# yii console command
/yii
# phpstorm project files
.idea
# netbeans project files
nbproject
# zend studio for eclipse project files
.buildpath
.project
.settings
.htaccess
# windows thumbnail cache
Thumbs.db
# composer vendor dir
/vendor
# composer itself is not needed
composer.phar
composer.lock
# Mac DS_Store Files
.DS_Store
# phpunit itself is not needed
phpunit.phar
# local phpunit config
/phpunit.xml
robots.txt
vendor/
The Yii framework is free software. It is released under the terms of
the following BSD License.
Copyright © 2008 by Yii Software LLC (http://www.yiisoft.com)
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Yii Software LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Yii 2 Advanced Application Template
Êàðêàñ Àðò Ïðîåêò
===================================
Yii 2 Advanced Application Template is a skeleton Yii 2 application best for
developing complex Web applications with multiple tiers.
The template includes three tiers: front end, back end, and console, each of which
is a separate Yii application.
The template is designed to work in a team development environment. It supports
deploying the application in different environments.
DIRECTORY STRUCTURE
-------------------
```
common
config/ contains shared configurations
mail/ contains view files for e-mails
models/ contains model classes used in both backend and frontend
console
config/ contains console configurations
controllers/ contains console controllers (commands)
migrations/ contains database migrations
models/ contains console-specific model classes
runtime/ contains files generated during runtime
backend
assets/ contains application assets such as JavaScript and CSS
config/ contains backend configurations
controllers/ contains Web controller classes
models/ contains backend-specific model classes
runtime/ contains files generated during runtime
views/ contains view files for the Web application
web/ contains the entry script and Web resources
frontend
assets/ contains application assets such as JavaScript and CSS
config/ contains frontend configurations
controllers/ contains Web controller classes
models/ contains frontend-specific model classes
runtime/ contains files generated during runtime
views/ contains view files for the Web application
web/ contains the entry script and Web resources
widgets/ contains frontend widgets
vendor/ contains dependent 3rd-party packages
environments/ contains environment-based overrides
tests contains various tests for the advanced application
codeception/ contains tests developed with Codeception PHP Testing Framework
```
REQUIREMENTS
------------
The minimum requirement by this application template that your Web server supports PHP 5.4.0.
INSTALLATION
------------
### Install from an Archive File
Extract the archive file downloaded from [yiiframework.com](http://www.yiiframework.com/download/) to
a directory named `advanced` that is directly under the Web root.
Then follow the instructions given in "GETTING STARTED".
### Install via Composer
If you do not have [Composer](http://getcomposer.org/), you may install it by following the instructions
at [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).
You can then install the application using the following command:
~~~
php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced advanced
~~~
GETTING STARTED
---------------
After you install the application, you have to conduct the following steps to initialize
the installed application. You only need to do these once for all.
1. Run command `init` to initialize the application with a specific environment.
2. Create a new database and adjust the `components['db']` configuration in `common/config/main-local.php` accordingly.
3. Apply migrations with console command `yii migrate`. This will create tables needed for the application to work.
4. Set document roots of your Web server:
- for frontend `/path/to/yii-application/frontend/web/` and using the URL `http://frontend/`
- for backend `/path/to/yii-application/backend/web/` and using the URL `http://backend/`
To login into the application, you need to first sign up, with any of your email address, username and password.
Then, you can login into the application with same email address and password at any time.
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace backend\assets;
use yii\web\AssetBundle;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
<?php
class TopMenuWidget extends Portlet
{
public function renderContent()
{
//$cats = CatalogCategories::model()->findAllByAttributes(array('parent_id' => 0));
$cats = Menu::model()->visible()->ordered()->findAll();
$this->render('top_menu_widget', array('categories' => $cats));
}
}
\ No newline at end of file
<?php
/**
* @var TopMenuWidget $this
*/
$mid = $this->getController()->module->id;
$pid = Yii::app()->request->getParam('id');
?>
<nav>
<div class="container_12">
<ul class="top-menu">
<!--
<?foreach ($categories as $cat): ?>
<li><?php echo CHtml::link($cat->name, "#"); ?></li>
<?php endforeach; ?>
-->
<li class="<?= ($mid == 'content' && $pid == 3 ? 'active' : ''); ?>"><a href="/about">О компании</a></li>
<li class="<?= ($mid == 'reviews' ? 'active' : ''); ?>"><a href="/reviews">Отзывы</a></li>
<li class="<?= ($mid == 'content' && $pid == 4 ? 'active' : ''); ?> <?php if ($mid=='catalog'): ?>
active
<?php endif ?> "><a href="/uslugi">Все услуги</a></li>
<li class="<?= ($mid == 'faq' ? 'active' : ''); ?>"><a href="/faq">Часто задаваемые вопросы </a></li>
<li class="<?= ($mid == 'content' && $pid == 2 ? 'active' : ''); ?>"><a href="/contacts">Контакты </a></li>
</ul>
</div>
</nav>
<?php
//echo Yii::app()->controller->module->id;
/*
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/about' || $uri == '/dostavka' || $uri == '/garantija-na-svetodiodnye-lampy') {
$tm_active_id = 'p_about';
} elseif ($uri == '/catalog' || Yii::app()->controller->module->id == 'catalog' || in_array($uri, $cat_uris)) {
$tm_active_id = 'p_catalog';
} elseif ($uri == '/service' || $uri == '/montazh' || $uri == '/proektirovanie-osvescheniya' || $uri == '/ready') {
$tm_active_id = 'p_service';
} elseif ($uri == '/base' || $uri == '/documents' || $uri == '/faq' || $uri == '/kak-rabotaet-svetodiod' || $uri == '/ekonomija-ot-primenenija-svetodiodov') {
$tm_active_id = 'p_base';
} elseif ($uri == '/feedback') {
$tm_active_id = 'p_feedback';
}
echo '
<script>
document.getElementById("'.$tm_active_id.'").className = "active_top_menu";
</script>
';
*/
?>
\ No newline at end of file
<?php
namespace backend\components\widgets;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
class ProfileDetailView extends \yii\widgets\DetailView
{
public $header = [];
public function run()
{
$rows = [];
$i = 0;
foreach ($this->attributes as $attribute) {
$rows[] = $this->renderAttribute($attribute, $i++);
}
$options = $this->options;
$tag = ArrayHelper::remove($options, 'tag', 'table');
$heads = [];
if(isset($this->header))
{
foreach ($this->header as $row)
{
$heads[] = '<tr><th></th><th>'.$row.'</th></tr>';
}
}
echo Html::tag($tag, Html::tag('thead', implode("\n", $heads)) . Html::tag('tbody', implode("\n", $rows)), $options);
}
protected function renderAttribute($attribute, $index)
{
if (is_string($this->template)) {
return strtr($this->template, [
'{label}' => $attribute['label'],
'{value}' => $this->formatter->format($attribute['value'], $attribute['format']),
'{class}' => isset($attribute['class'])?$attribute['class']:'',
]);
} else {
return call_user_func($this->template, $attribute, $index, $this);
}
}
}
\ No newline at end of file
main-local.php
params-local.php
\ No newline at end of file
<?php
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/params.php'),
require(__DIR__ . '/params-local.php')
);
return [
'id' => 'app-backend',
'basePath' => dirname(__DIR__),
'controllerNamespace' => 'backend\controllers',
'bootstrap' => ['log'],
'language' => 'ru-RU',
'defaultRoute' => '/main/main-admin/index',
'modules' => [
'content' => ['class' => 'common\modules\content\Module'],
'faq' => ['class' => 'common\modules\faq\Module'],
'reviews' => ['class' => 'common\modules\reviews\Module'],
'users' => ['class' => 'common\modules\users\users'],
'main' => ['class' => 'common\modules\main\main'],
'rbac' => ['class' => 'common\modules\rbac\rbac'],
'utility' => ['class' => 'c006\utility\migration\Module'],
],
'components' => [
'session' => [
'class' => 'yii\web\Session',
],
'dater' => [
'class' => '\common\components\DaterComponent',
],
'formatter' => [
'class' => 'yii\i18n\Formatter',
'locale' => 'ru-RU',
'timeZone' => 'Europe/Moscow',
],
'i18n' => [
'translations' => [
'*' => [
'class' => 'yii\i18n\PhpMessageSource'
],
],
],
'user' => [
'identityClass' => 'common\modules\users\models\User',
'enableAutoLogin' => true,
],
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'errorHandler' => [
'errorAction' => 'site/error',
],
'assetManager'=>[
'linkAssets' => true,
'bundles' => [
'yii\web\YiiAsset' => [
],
'yii\bootstrap\BootstrapPluginAsset' => [
'js' => [
],
],
'yii\web\JqueryAsset' => [
'sourcePath' => null,
'js' => [
'plugins/jquery/jquery-1.9.1.min.js',
],
'jsOptions' => [
'position' => \yii\web\View::POS_BEGIN,
],
],
'yii\jui\JuiAsset' => [
'sourcePath' => null,
'js' => [
'plugins/jquery-ui/ui/minified/jquery-ui.min.js',
'plugins/jquery-ui/ui/minified/jquery.ui.widget.min.js',
],
'jsOptions' => [
'position' => \yii\web\View::POS_BEGIN,
],
'css' => [],
],
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
]
]
],
'authManager' => [
'class' => 'yii\rbac\DbManager',
/*'connectionID' => 'db',
'itemTable' => 'auth_items',
'assignmentTable' => 'auth_assignments',
'itemChildTable' => 'auth_item_child',*/
'defaultRoles' => [
'user',
'moderator',
'admin',
'superadmin'
],
],
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'rules' => [
/*[
'class' => 'yii\rest\UrlRule',
'controller' => 'mainAdmin',
]
'main/mainAdmin/index' => 'main/mainAdmin/index',*/
'<module_id>/settings/manage' => 'settings/manage',
'<module_id>/settings/create' => 'settings/create',
'<module_id>/settings/update/<id>' => 'settings/update',
'<module_id>/settings/delete/<id>' => 'settings/delete',
'<module_id>/settings/view/<id>' => 'settings/view',
'main/mainAdmin' => 'main/main-admin/index',
'/' => 'main/main-admin/index',
'' => 'main/main-admin/index',
'users/user-admin/manage/is_deleted/<is_deleted>' => 'users/user-admin/manage',
'users/userAdmin/SetDeletedFlag/id/<id>/is_deleted/<is_deleted>' => 'users/userAdmin/SetDeletedFlag',
'users/userAdmin/delete/id/<id>/ajax/<ajax>' => 'users/userAdmin/delete',
'<_m>/<_c>/<_a>/<id>' => '<_m>/<_c>/<_a>',
'<_m>/<_c>/<_a>' => '<_m>/<_c>/<_a>',
'<_c>/<_a>' => '<_c>/<_a>',
//'module/<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
]
],
'formatter' => [
'dateFormat' => 'dd.MM.yyyy',
'decimalSeparator' => ',',
'thousandSeparator' => ' ',
'currencyCode' => 'EUR',
],
],
'params' => $params,
];
<?php
return [
'adminEmail' => 'admin@example.com',
];
<?php
namespace backend\controllers;
use Yii;
use common\models\Settings;
use common\models\SearchSettings;
use common\components\AdminController;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
/**
* SearchController implements the CRUD actions for Settings model.
*/
class SettingsController extends AdminController
{
public $page_title = 'SettingsController';
public static function actionsTitles()
{
return array(
"View" => Yii::t('app', "Просмотр свойства"),
"Create" => Yii::t('app', "Добавление свойства"),
"Update" => Yii::t('app', "Редактирование свойства"),
"Delete" => Yii::t('app', "Удаление свойства"),
"Manage" => Yii::t('app', "Список свойств"),
"Sort" => Yii::t('app', "Сортировка"),
);
}
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
];
}
/**
* Lists all Settings models.
* @return mixed
*/
public function actionManage($module_id)
{
$searchModel = new SearchSettings();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
//die(print_r(\Yii::$app->getModule($module_id)));
\yii::$app->controller->page_title = 'Настройки модуля';
\yii::$app->controller->breadcrumbs = [
'Настройки модуля ' .\Yii::$app->getModule($module_id)->name(),
];
return $this->render('manage', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'module_id' => $module_id
]);
}
/**
* Displays a single Settings model.
* @param string $id
* @return mixed
*/
public function actionView($module_id, $id)
{
\yii::$app->controller->page_title = 'Просмотр свойства для модуля <small>' .\Yii::$app->getModule($module_id)->name(). '</small>';
\yii::$app->controller->breadcrumbs = [
['Свойства модуля ' .\Yii::$app->getModule($module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id])],
'Просмотр свойства для модуля ' .\Yii::$app->getModule($module_id)->name(),
];
return $this->render('view', [
'model' => $this->findModel($id),
'module_id' => $module_id
]);
}
/**
* Creates a new Settings model.
* If creation is successful, the browser will be redirected to the 'view' page.
* @return mixed
*/
public function actionCreate($module_id)
{
return $this->actionUpdate($module_id);
die('---');
$model = new Settings();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
/**
* Updates an existing Settings model.
* If update is successful, the browser will be redirected to the 'view' page.
* @param string $id
* @return mixed
*/
public function actionUpdate($module_id, $id = null)
{
//die(print_r(\common\components\AppManager::getSettingsParam('scoring_low')));
if(!empty($id)) {
$model = $this->findModel($id);
\yii::$app->controller->page_title = 'Редактирование свойства для модуля <small>' .\Yii::$app->getModule($module_id)->name(). '</small>';
\yii::$app->controller->breadcrumbs = [
['Свойства модуля ' .\Yii::$app->getModule($module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id])],
'Редактирование свойства для модуля ' .\Yii::$app->getModule($module_id)->name(),
];
}
else {
$model = new Settings();
$model->module_id = $module_id;
\yii::$app->controller->page_title = 'Добавление свойства для модуля <small>' .\Yii::$app->getModule($module_id)->name(). '</small>';
\yii::$app->controller->breadcrumbs = [
['Свойства модуля ' .\Yii::$app->getModule($module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id])],
'Добавление свойства для модуля ' .\Yii::$app->getModule($module_id)->name(),
];
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['manage', 'module_id' => $module_id]);
} else {
if($model->hasErrors())
\Yii::$app->getSession()->setFlash('error', $model->getErrors());
if($id == 87)
$form = new \common\components\BaseForm('/backend/forms/SettingsForm1', $model);
else
$form = new \common\components\BaseForm('/backend/forms/SettingsForm', $model);
return $this->render('update', [
//'model' => $model,
'form' => $form->out,
//'module_id' => $module_id
]);
}
}
/**
* Deletes an existing Settings model.
* If deletion is successful, the browser will be redirected to the 'index' page.
* @param string $id
* @return mixed
*/
public function actionDelete($module_id, $id)
{
$this->findModel($id)->delete();
return $this->redirect(\yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id]));
}
/**
* Finds the Settings model based on its primary key value.
* If the model is not found, a 404 HTTP exception will be thrown.
* @param string $id
* @return Settings the loaded model
* @throws NotFoundHttpException if the model cannot be found
*/
protected function findModel($id)
{
if (($model = Settings::findOne($id)) !== null) {
return $model;
} else {
throw new NotFoundHttpException('The requested page does not exist.');
}
}
}
<?php
namespace backend\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use common\models\LoginForm;
use yii\filters\VerbFilter;
/**
* Site controller
*/
class SiteController extends Controller
{
public $page_title = 'SiteController';
/**
* @inheritdoc
*/
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'actions' => ['logout', 'index'],
'allow' => true,
'roles' => ['@'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
/**
* @inheritdoc
*/
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
];
}
public function actionIndex()
{
return $this->render('index');
}
public function actionLogin()
{
if (!\Yii::$app->user->isGuest) {
return $this->goHome();
}
$this->page_title = 'Панель управления';
$this->layout = "blank";
$model = new LoginForm();
if ($model->load(Yii::$app->request->post()) && $model->login()) {
return $this->goBack();
} else {
return $this->render('login', [
'model' => $model,
]);
}
}
public function actionLogin1()
{
if (!Yii::app()->user->isGuest)
{
throw new CException('Вы уже авторизованы!');
}
$this->layout = "//layouts/adminLogin";
$model = new User("Login");
$params = array(
"model" => $model,
"error_code" => null
);
if (isset($_POST["User"]))
{
$model->attributes = $_POST["User"];
if ($model->validate())
{
$identity = new UserIdentity($_POST["User"]["email"], $_POST["User"]["password"], $_POST["User"]["remember_me"]);
if ($identity->authenticate(false))
{
Yii::app()->user->setState("_allowToUseTiny", (Yii::app()->user->checkAccess('admin')));
$this->redirect($this->url("/main/mainAdmin"));
}
else
{
$params["error_code"] = $identity->errorCode;
}
}
}
$this->render("login", $params);
}
public function actionLogout()
{
Yii::$app->user->logout();
return $this->goHome();
}
}
<?php
use yii\helpers\ArrayHelper;
return [
'activeForm'=>[
'id' => 'module-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
],
'elements' => [
'module_id' => [
'type' => 'dropdownlist',
'items' => \common\components\AppManager::getModulesList(),
'class' => 'form-control',
],
'code' => ['type' => 'text', 'class' => 'form-control'],
'name' => ['type' => 'text', 'class' => 'form-control'],
'value' => ['type' => 'text', 'class' => 'form-control'],
'element' => [
'type' => 'dropdownlist',
'items' => ['editor','text','textarea'],
'class' => 'form-control',
],
'description' => ['type' => 'text', 'class' => 'form-control'],
'hidden' => ['type' => 'checkbox'],
// 'created_at' => ['type' => 'text', 'class' => 'form-control'],
// 'updated_at' => ['type' => 'text', 'class' => 'form-control'],
],
'buttons' => [
'submit' => ['type' => 'submit', 'value' => 'Cохранить']
]
];
<?php
use yii\helpers\ArrayHelper;
return [
'activeForm'=>[
'id' => 'module-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
],
'elements' => [
'module_id' => [
'type' => 'hidden',
],
'code' => ['type' => 'hidden', 'class' => 'form-control'],
'name' => ['type' => 'text', 'class' => 'form-control'],
'value' => ['type' => 'text', 'class' => 'form-control'],
'element' => [
/*'type' => 'dropdownlist',
'items' => ['editor','text','textarea'],
'class' => 'form-control',*/
'type' => 'hidden',
],
'description' => ['type' => 'hidden', 'class' => 'form-control'],
'hidden' => ['type' => 'hidden'],
// 'created_at' => ['type' => 'text', 'class' => 'form-control'],
// 'updated_at' => ['type' => 'text', 'class' => 'form-control'],
],
'buttons' => [
'submit' => ['type' => 'submit', 'value' => 'Cохранить']
]
];
<?php
return [
'Update' => 'Редактировать',
'Delete' => 'Удалить',
'Search' => 'Поиск',
'User ID' => 'Клиент',
];
\ No newline at end of file
<?php
return [
'STATE_NEW' => 'Новая',
'STATE_SCHEDULED' => 'Запланированная',
'STATE_SYSTEM_ERROR' => 'Ошибка',
'STATE_CHECK_OK' => 'Пройдена',
'STATE_CHECK_FAIL' => 'Непройдена',
'Check Type' => 'Тип',
'Check State' => 'Состояние',
'Check Request' => 'Запрос',
'Check Answer' => 'Ответ',
'Check Count' => 'Попыток',
'Created At' => 'Дата проверки'
];
\ No newline at end of file
<?php
return [
'Create Category' => 'Создать новую категорию',
'Create Content' => 'Создать новую страницу',
'Delete' => 'Удалить',
'Update' => 'Редактировать',
'Create Co Blocks' => 'Создать новый инфо-блок',
'Title' => 'Заголовок страницы',
'Content' => 'Текст редактируемый на странице',
'Name' => 'Название страницы',
'Url' => 'Ссылка на страницу',
'UrlCat' => 'Ссылка на страницу категории',
'Category ID' => 'Принадлежность страницы к категории',
'Active' => 'Активность',
];
\ No newline at end of file
<?php
return [
'Language' => 'Язык',
'Name' => 'Имя',
'Phone' => 'Телефон',
'Category' => 'Категория',
'Question' => 'Вопрос',
'Answer' => 'Ответ',
'Published' => 'Опубликовано',
'Question' => 'Вопрос',
'Answer' => 'Ответ',
'Create Faq' => 'Создать новый вопрос',
];
\ No newline at end of file
<?php
return [
'Manage Financial Operation' => 'Финансовые операции',
'ID' => '№ операции',
'Financial Type' => 'Вид операции',
'Request ID' => 'ID заявки',
'Created At' => 'Дата отправки платежа',
'Payment Date' => 'Дата поступления',
'Sum' => 'Сумма',
'Payment Type' => 'Тип платежной системы',
'Issue' => 'Выдача займа',
'Repayment' => 'Погашение займа',
'Percent' => 'Начисление процентов',
'Penya' => 'Пеня',
'Fine' => 'Штраф',
'End' => 'Возврат остатка',
];
\ No newline at end of file
<?php
return [
'Create Sc Request' => 'Добавить заявку',
];
\ No newline at end of file
<?php
return [
'Create Reviews' => 'Создать новый Отзыв',
];
\ No newline at end of file
<?php
return [
'ID' => '№ заявки',
'User' => 'Заемщик',
'Sc Requests' => 'Реестр заявок',
'Request Sum' => 'Сумма займа',
'Request Day' => 'Срок займа',
'Created At' => 'Дата заявки',
'days' => 'дн.',
'Status' => 'Статус',
'Status New' => 'Указал сумму',
'Status Approved' => 'Одобрена',
'Status Paid' => 'Оплачена',
'Status Fail' => 'Отклоненa',
'Status Freeze' => 'Заморожена',
'Status Freeze' => 'Разморожена',
'Status Ready' => 'Оформил заявку (на модерации)',
'Status Checked' => 'Проверено',
'User Fullname' => 'Заемщик',
'Paid Date' => 'Дата выдачи займа',
'Paid Success Date' => 'Дата зачисления займа',
'Tarif' => 'Тариф',
'Profit' => 'Текущая прибыль',
'Penya Column' => 'Пени, руб.',
'Summ Back Today' => 'Сумма возврата на сегодня',
'Summ Back Period' => 'Сумма возврата за весь период',
'Surname' => 'Фамилия',
'Name' => 'Имя',
'Patronymic' => 'Отчество',
'Name Add' => 'Фамилия, имя, отчество родственника',
'Status Add' => 'Степень родства',
'Phone' => 'Телефон',
'Gender' => 'Пол',
'Birthday' => 'Дата рождения',
'day' => 'День',
'month' => 'Месяц',
'year' => 'Год',
'Ser_doc' => 'Серия',
'Nom_doc' => 'Номер',
'Vyd_doc' => 'Выдан',
'Payment' => 'Платежная система',
];
\ No newline at end of file
<?php
return [
'ID' => 'ID тарифа',
'Name' => 'Название',
'Percent' => 'Процентная ставка',
'Manage Tarifs' => 'Управление тарифами',
'Create Tarifs' => 'Добавить тариф',
'Update Tarifs' => 'Редактировать тариф',
'Delete Tarifs' => 'Удалить тариф',
'Add Tarifs' => 'Добавить тариф',
];
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: Андрей
* Date: 12.04.2015
* Time: 13:23
*/
return [
'active' => 'Активен',
'blocked' => 'Заблокирован',
'Update Anketa' => 'Редактировать анкету',
];
\ No newline at end of file
*
!.gitignore
\ No newline at end of file
<?php
/* @var $this yii\web\View */
use \yii\grid\GridView;
use \yii\helpers;
use himiklab\sortablegrid\SortableGridView;
?>
<h1>category/index</h1>
<p>
You may change the content of this page by modifying
the file <code><?= __FILE__; ?></code>.
</p>
<?
echo helpers\Html::a('Add new category', [helpers\Url::to('create')], ['class'=>'btn btn-primary']);
echo SortableGridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
// Simple columns defined by the data contained in $dataProvider.
// Data from the model's column will be used.
'id',
'total_balls',
// More complex one.
[
'class' => 'yii\grid\DataColumn', // can be omitted, as it is the default
'label' => 'Name',
'format' => 'text',
'attribute' => 'name',
/*
'value' => function ($data) {
return $data->name; // $data['name'] for array data, e.g. using SqlDataProvider.
},
*/
],
[
'class' => 'common\components\ColorActionColumn',
'header' => 'Property List',
'buttons' => [
'property' => function ($url, $model, $key) {
//return $model->status === 'editable' ? Html::a('Properties', [$url, 'id'=>$key]) : '';
$url = helpers\Url::to(['/scoring/property/index', 'category_id'=>$key]);
return helpers\Html::a('Properties', $url);
}
],
'template' => '{property}',
],
],
]);
?>
<?php
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
/* @var $this \yii\web\View */
/* @var $content string */
AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode(\yii::$app->controller->page_title) ?></title>
<meta name="description" content="Панель управления Task On">
<?php $this->head() ?>
<?php
$this->registerCssFile('http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/plugins/jquery-ui/themes/base/minified/jquery-ui.min.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/plugins/bootstrap/css/bootstrap.min.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/plugins/font-awesome/css/font-awesome.min.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/css/animate.min.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/css/style.min.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/css/simple_line_icons.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/css/style-responsive.min.css', ['position' => \yii\web\View::POS_HEAD]);
$this->registerCssFile('/css/theme/default.css', ['position' => \yii\web\View::POS_HEAD]);
?>
<!-- ================== BEGIN BASE JS ================== -->
<?php $this->registerJsFile('/plugins/pace/pace.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END BASE JS ================== -->
</head>
<body>
<?php $this->beginBody() ?>
<!-- begin #page-loader -->
<div id="page-loader" class="fade in"><span class="spinner"></span></div>
<!-- end #page-loader -->
<div class="login-cover">
<div class="login-cover-image"><img src="/img/login-bg/bg-1.jpg" data-id="login-cover-image" alt="" /></div>
<div class="login-cover-bg"></div>
</div>
<!-- begin #page-container -->
<div id="page-container" class="fade">
<?=$content?>
</div>
<?php $this->endBody() ?>
<?php
$this->registerJsFile('/plugins/jquery/jquery-1.9.1.js', ['position' => \yii\web\View::POS_END]);
$this->registerJsFile('/plugins/jquery/jquery-migrate-1.1.0.js', ['position' => \yii\web\View::POS_END ]);
$this->registerJsFile('/plugins/jquery-ui/ui/minified/jquery-ui.min.js', ['position' => \yii\web\View::POS_END ]);
$this->registerJsFile('/plugins/bootstrap/js/bootstrap.min.js', ['position' => \yii\web\View::POS_END ]);
$this->registerJsFile('/js/yii.activeForm.js', ['position' => \yii\web\View::POS_END]);
$this->registerJsFile('/plugins/jquery/jquery-1.9.1.js', ['position' => \yii\web\View::POS_HEAD]);
$this->registerJsFile('/plugins/jquery/jquery-migrate-1.1.0.js', ['position' => \yii\web\View::POS_HEAD ]);
$this->registerJsFile('/plugins/jquery-ui/ui/minified/jquery-ui.min.js', ['position' => \yii\web\View::POS_HEAD ]);
$this->registerJsFile('/plugins/bootstrap/js/bootstrap.min.js', ['position' => \yii\web\View::POS_HEAD ]);
$this->registerJsFile('crossbrowserjs/html5shiv.js', ['position' => \yii\web\View::POS_END ,'condition'=>'lt IE 9']);
$this->registerJsFile('crossbrowserjs/respond.min.js', ['position' => \yii\web\View::POS_END ,'condition'=>'lt IE 9']);
$this->registerJsFile('crossbrowserjs/excanvas.min.js', ['position' => \yii\web\View::POS_END ,'condition'=>'lt IE 9']);
$this->registerJsFile('/plugins/slimscroll/jquery.slimscroll.min.js', ['position' => \yii\web\View::POS_END ]);
$this->registerJsFile('/plugins/jquery-cookie/jquery.cookie.js', ['position' => \yii\web\View::POS_END ]);
?>
<?php
$script = <<<JS
JS;
$this->registerJs($script, \yii\web\View::POS_READY);
?>
</body>
</html>
<?php $this->endPage() ?>
<!-- ================== BEGIN BASE JS ================== -->
<?php $this->registerJsFile('/plugins/jquery/jquery-1.9.1.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/jquery/jquery-migrate-1.1.0.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/jquery-ui/ui/minified/jquery-ui.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/bootstrap/js/bootstrap.min.js', ['position' => \yii\web\View::POS_END ]);?>
<!--[if lt IE 9]>
<script src="assets/crossbrowserjs/html5shiv.js"></script>
<script src="assets/crossbrowserjs/respond.min.js"></script>
<script src="assets/crossbrowserjs/excanvas.min.js"></script>
<![endif]-->
<?php $this->registerJsFile('/plugins/slimscroll/jquery.slimscroll.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/jquery-cookie/jquery.cookie.js', ['position' => \yii\web\View::POS_END ]);?>
<!-- ================== END BASE JS ================== -->
<!-- ================== BEGIN PAGE LEVEL JS ================== -->
<?php $this->registerJsFile('/plugins/gritter/js/jquery.gritter.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.time.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.resize.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.pie.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/sparkline/jquery.sparkline.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/jquery-jvectormap/jquery-jvectormap-1.2.2.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/jquery-jvectormap/jquery-jvectormap-world-mill-en.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/bootstrap-datepicker/js/bootstrap-datepicker.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/password-indicator/js/password-indicator.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/plugins/bootstrap-select/bootstrap-select.js', ['position' => \yii\web\View::POS_END ]);?>
<?php //$this->registerJsFile('/js/dashboard.min.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/js/dashboard.js', ['position' => \yii\web\View::POS_END ]);?>
<?php $this->registerJsFile('/js/apps.min.js', ['position' => \yii\web\View::POS_END ]);?>
<!-- ================== END PAGE LEVEL JS ================== -->
<script>
$(document).ready(function() {
App.init();
$('.selectpicker').selectpicker('render');
// Dashboard.init();
});
</script>
\ No newline at end of file
<!-- ================== BEGIN BASE JS ================== -->
<?php //$this->registerJsFile('/plugins/jquery/jquery-1.9.1.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/jquery/jquery-migrate-1.1.0.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/jquery-ui/ui/minified/jquery-ui.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/bootstrap/js/bootstrap.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<!--[if lt IE 9]>
<script src="assets/crossbrowserjs/html5shiv.js"></script>
<script src="assets/crossbrowserjs/respond.min.js"></script>
<script src="assets/crossbrowserjs/excanvas.min.js"></script>
<![endif]-->
<?php $this->registerJsFile('/plugins/slimscroll/jquery.slimscroll.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/jquery-cookie/jquery.cookie.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END BASE JS ================== -->
<!-- ================== BEGIN PAGE LEVEL JS ================== -->
<?php $this->registerJsFile('/plugins/gritter/js/jquery.gritter.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.time.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.resize.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/flot/jquery.flot.pie.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/sparkline/jquery.sparkline.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/jquery-jvectormap/jquery-jvectormap-1.2.2.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/jquery-jvectormap/jquery-jvectormap-world-mill-en.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/plugins/bootstrap-datepicker/js/bootstrap-datepicker.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/js/dashboard.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerJsFile('/js/apps.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END PAGE LEVEL JS ================== -->
<script>
$(document).ready(function() {
App.init();
// Dashboard.init();
});
</script>
\ No newline at end of file
<!-- ================== BEGIN BASE CSS STYLE ================== -->
<?php $this->registerCssFile('http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/css/fonts.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/jquery-ui/themes/base/minified/jquery-ui.min.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/bootstrap/css/bootstrap.min.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/font-awesome/css/font-awesome.min.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/css/animate.min.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/css/style.min.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/css/style-responsive.min.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/css/theme/default.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/simple-line-icons/simple-line-icons.css', ['position' => \yii\web\View::POS_HEAD]);?>
<?php $this->registerCssFile('/css/custom.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END BASE CSS STYLE ================== -->
<!-- ================== BEGIN PAGE LEVEL STYLE ================== -->
<?php $this->registerCssFile('/plugins/jquery-jvectormap/jquery-jvectormap-1.2.2.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/bootstrap-datepicker/css/datepicker.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/bootstrap-datepicker/css/datepicker3.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<?php $this->registerCssFile('/plugins/gritter/css/jquery.gritter.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END PAGE LEVEL STYLE ================== -->
<!-- ================== BEGIN PAGE LEVEL STYLE ================== -->
<?php $this->registerCssFile('/plugins/DataTables/css/data-table.css', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END PAGE LEVEL STYLE ================== -->
<!-- ================== BEGIN BASE JS ================== -->
<?php $this->registerJsFile('/plugins/pace/pace.min.js', ['position' => \yii\web\View::POS_HEAD ]);?>
<!-- ================== END BASE JS ================== -->
<!-- ================== PagerSelector ================ -->
<?php
// moved in AdminGrid::run()
/*$publish = Yii::$app->assetManager->publish(
Yii::getAlias('@app/../common/js/plugins')
);
$this->registerJsFile($publish[1].'/gridview/gridBase.js', ['position'=>$this::POS_END]);
$this->registerJsFile($publish[1].'/gridview/grid.js', ['position'=>$this::POS_END]);
$this->registerJsFile($publish[1].'/gridview/pocket.js', ['position'=>$this::POS_END]);*/
?>
<!-- ================== PagerSelector ================ -->
\ No newline at end of file
<?php
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use frontend\assets\AppAsset;
use frontend\widgets\Alert;
?>
<!-- begin header navigation right -->
<ul class="nav navbar-nav navbar-right">
<?php if(!\yii::$app->user->isGuest):?>
<li class="dropdown navbar-user">
<a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
<!--img src="/img/user-13.jpg" alt="" /-->
<span class="hidden-xs"><?php echo Yii::$app->user->identity->email?></span> <b class="caret"></b>
</a>
<ul class="dropdown-menu animated fadeInLeft">
<li class="arrow"></li>
<!--li><a href="javascript:;">Edit Profile</a></li>
<li><a href="javascript:;"><span class="badge badge-danger pull-right">2</span> Inbox</a></li>
<li><a href="javascript:;">Calendar</a></li-->
<li><a href="javascript:;">Настройки</a></li>
<li class="divider"></li>
<li><a data-method="post" href="/site/logout">Выход</a></li>
</ul>
</li>
<?php endif?>
</ul>
<!-- end header navigation right -->
\ No newline at end of file
This diff is collapsed.
<?php
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
//die('---');
/* @var $this \yii\web\View */
/* @var $content string */
//die('-!-!-');
AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if !IE]><!-->
<html lang="ru">
<!--<![endif]-->
<head>
<meta charset="utf-8" />
<title><?php echo \Yii::$app->controller->page_title?></title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<?= Html::csrfMetaTags() ?>
<?php $this->head() ?>
<?php echo $this->render('head')?>
</head>
<body>
<?php $this->beginBody() ?>
<!-- begin #page-loader -->
<div id="page-loader" class="fade in"><span class="spinner"></span></div>
<!-- end #page-loader -->
<!-- begin #page-container -->
<div id="page-container" class="fade page-sidebar-fixed page-header-fixed">
<!-- begin #header -->
<div id="header" class="header navbar navbar-default navbar-fixed-top">
<!-- begin container-fluid -->
<div class="container-fluid">
<!-- begin mobile sidebar expand / collapse button -->
<div class="navbar-header">
<a href="/" class="navbar-brand"><img src="/img/logo.png"></a>
<button type="button" class="navbar-toggle" data-click="sidebar-toggled">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- end mobile sidebar expand / collapse button -->
<?php echo $this->render('header-menu');?>
</div>
<!-- end container-fluid -->
</div>
<!-- end #header -->
<?php if(!(\yii::$app->controller->id == 'client' && \yii::$app->controller->action->id == 'index')):?>
<!-- begin #sidebar -->
<div id="sidebar" class="sidebar">
<!-- begin sidebar scrollbar -->
<div data-scrollbar="true" data-height="100%">
<!-- begin sidebar user -->
<ul class="nav">
<li class="nav-profile">
<!--div class="image">
<a href="javascript:;"><img src="/img/user-13.jpg" alt="" /></a>
</div-->
<div class="info">
<?php echo \yii::$app->user->identity->name?>
<small><?php echo \yii::$app->user->identity->getPost()?></small>
</div>
</li>
</ul>
<!-- end sidebar user -->
<?php echo $this->render('left-menu')?>
</div>
<!-- end sidebar scrollbar -->
</div>
<div class="sidebar-bg"></div>
<!-- end #sidebar -->
<?php endif?>
<?php if(!empty(\Yii::$app->controller->tabs) && false):?>
<!-- begin #content -->
<div class="row pull-right">
<?php foreach (\Yii::$app->controller->tabs as $title => $href): ?>
<div class="col-md-3 col-sm-6">
<div class="widget widget-stats bg-green" style="min-height: 70px;">
<a href="<?php echo $href; ?>"><?php echo $title; ?></a>
</div>
</div>
<?php $class = ""; ?>
<?php endforeach ?>
</div>
<?php endif?>
<div id="content" class="content">
<?php
echo \common\components\MyBreadcrumbs::widget();
?>
<h1 class="page-header"><?php echo \yii::$app->controller->page_title?></h1>
<div class="panel panel-inverse">
<div class="panel-heading">
<div class="panel-heading-btn">
<!-- <a href="javascript:;" class="btn btn-xs btn-icon btn-circle btn-success" data-click="panel-expand"><i class="fa fa-question-circle"></i></a> -->
<a href="javascript:;" class="btn btn-xs btn-icon btn-circle btn-default" title="Развернуть/Свернуть окно" data-click="panel-expand"><i class="fa fa-expand"></i></a>
<!--a href="javascript:;" class="btn btn-xs btn-icon btn-circle btn-success" data-click="panel-reload"><i class="fa fa-repeat"></i></a>
<a href="javascript:;" class="btn btn-xs btn-icon btn-circle btn-warning" data-click="panel-collapse"><i class="fa fa-minus"></i></a>
<a href="javascript:;" class="btn btn-xs btn-icon btn-circle btn-danger" data-click="panel-remove"><i class="fa fa-times"></i></a-->
</div>
<h4 class="panel-title"> &nbsp; </h4>
</div>
<?php if(\Yii::$app->session->hasFlash('error')):?>
<div class="alert alert-info">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
</button>
<p><i class="fa fa-file-o"></i>
<pre>
<?php print_r(\Yii::$app->session->getFlash('error'))?>
</pre>
</p>
</div>
<?php endif?>
<div class="panel-body">
<div class="table-responsive">
<?php echo $content;?>
</div>
</div>
</div>
</div>
<!-- end #content -->
<div class="footer" id="footer">
&copy; 2009-2015 ООО «Арт Проект»
<p>УВЕДОМЛЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ: Это веб-страница и любые документы доступные для скачивание на данной странице содержат конфиденциальную информацию. Настоящим уведомляем Вас о том, что если содержание на этой веб-странице не предназначены Вам, использование, копирование, распространение информации, содержащейся на данной веб-странице, а также осуществление любых действий на основе этой информации, строго запрещено. Если Вы по ошибке попали на данную веб-страницу, пожалуйста, сообщите об этом Администратору ресурса.</p>
</div>
<!-- begin scroll to top btn -->
<a href="javascript:;" class="btn btn-icon btn-circle btn-success btn-scroll-to-top fade" data-click="scroll-top"><i class="fa fa-angle-up"></i></a>
<!-- end scroll to top btn -->
</div>
<!-- end page container -->
<?php $this->endBody() ?>
<?php echo $this->render('foot')?>
</body>
</html>
<?php $this->endPage() ?>
\ No newline at end of file
<?php
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
//die('---');
/* @var $this \yii\web\View */
/* @var $content string */
//die('-!-!-');
AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if !IE]><!-->
<html lang="ru">
<!--<![endif]-->
<head>
<meta charset="utf-8" />
<title><?php echo \Yii::$app->controller->page_title?></title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<?= Html::csrfMetaTags() ?>
<?php $this->head() ?>
<?php echo $this->render('head')?>
</head>
<body>
<?php $this->beginBody() ?>
<!-- begin #page-loader -->
<div id="page-loader" class="fade in"><span class="spinner"></span></div>
<!-- end #page-loader -->
<!-- begin #page-container -->
<div id="page-container" class="fade page-sidebar-fixed page-header-fixed">
<!-- begin #header -->
<div id="header" class="header navbar navbar-default navbar-fixed-top">
<!-- begin container-fluid -->
<div class="container-fluid">
<!-- begin mobile sidebar expand / collapse button -->
<div class="navbar-header">
<a href="/" class="navbar-brand"><img src="/img/logo.png"></a>
<button type="button" class="navbar-toggle" data-click="sidebar-toggled">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- end mobile sidebar expand / collapse button -->
<?php echo $this->render('header-menu');?>
</div>
<!-- end container-fluid -->
</div>
<!-- end #header -->
<!-- begin #sidebar -->
<div id="sidebar" class="sidebar">
<!-- begin sidebar scrollbar -->
<div data-scrollbar="true" data-height="100%">
<!-- begin sidebar user -->
<ul class="nav">
<li class="nav-profile">
<!--div class="image">
<a href="javascript:;"><img src="/img/user-13.jpg" alt="" /></a>
</div-->
<div class="info">
<?php echo \yii::$app->user->identity->name?>
<small><?php echo \yii::$app->user->identity->getPost()?></small>
</div>
</li>
</ul>
<!-- end sidebar user -->
<?php echo $this->render('left-menu')?>
</div>
<!-- end sidebar scrollbar -->
</div>
<div class="sidebar-bg"></div>
<!-- end #sidebar -->
<?php if(!empty(\Yii::$app->controller->tabs) && false):?>
<!-- begin #content -->
<div class="row pull-right">
<?php foreach (\Yii::$app->controller->tabs as $title => $href): ?>
<div class="col-md-3 col-sm-6">
<div class="widget widget-stats bg-green" style="min-height: 70px;">
<a href="<?php echo $href; ?>"><?php echo $title; ?></a>
</div>
</div>
<?php $class = ""; ?>
<?php endforeach ?>
</div>
<?php endif?>
<div id="content" class="content">
<?php
echo \common\components\MyBreadcrumbs::widget();
?>
<h1 class="page-header"><?php echo \yii::$app->controller->page_title?></small></h1>
<?php if(\Yii::$app->session->hasFlash('error')):?>
<div class="alert alert-info">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
</button>
<p><i class="fa fa-file-o"></i>
<pre>
<?php print_r(\Yii::$app->session->getFlash('error'))?>
</pre>
</p>
</div>
<?php endif?>
<?php echo $content;?>
<!-- end #content -->
<!-- begin scroll to top btn -->
<a href="javascript:;" class="btn btn-icon btn-circle btn-success btn-scroll-to-top fade" data-click="scroll-top"><i class="fa fa-angle-up"></i></a>
<!-- end scroll to top btn -->
</div>
<!-- end page container -->
<?php $this->endBody() ?>
<?php echo $this->render('foot')?>
</body>
</html>
<?php $this->endPage() ?>
\ No newline at end of file
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\models\Settings */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="settings-form">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'module_id')->textInput(['maxlength' => 50]) ?>
<?= $form->field($model, 'code')->textInput(['maxlength' => 50]) ?>
<?= $form->field($model, 'name')->textInput(['maxlength' => 100]) ?>
<?= $form->field($model, 'value')->textarea(['rows' => 6]) ?>
<?= $form->field($model, 'element')->dropDownList([ 'text' => 'Text', 'textarea' => 'Textarea', 'editor' => 'Editor', ], ['prompt' => '']) ?>
<?= $form->field($model, 'hidden')->textInput() ?>
<?= $form->field($model, 'description')->textInput(['maxlength' => 2550]) ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\models\SearchSettings */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="settings-search">
<?php $form = ActiveForm::begin([
'action' => ['index'],
'method' => 'get',
]); ?>
<?= $form->field($model, 'id') ?>
<?= $form->field($model, 'module_id') ?>
<?= $form->field($model, 'code') ?>
<?= $form->field($model, 'name') ?>
<?= $form->field($model, 'value') ?>
<?php // echo $form->field($model, 'element') ?>
<?php // echo $form->field($model, 'hidden') ?>
<?php // echo $form->field($model, 'description') ?>
<div class="form-group">
<?= Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?>
<?= Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
<?php
use yii\helpers\Html;
/* @var $this yii\web\View */
/* @var $model common\models\Settings */
$this->title = Yii::t('app', 'Create Settings');
$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Settings'), 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="settings-create">
<h1><?= Html::encode($this->title) ?></h1>
<?= $this->render('_form', [
'model' => $model,
]) ?>
</div>
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\grid\GridView;
/* @var $this yii\web\View */
/* @var $searchModel common\models\SearchSettings */
/* @var $dataProvider yii\data\ActiveDataProvider */
?>
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<?= Html::a(Yii::t('app', 'Добавить параметр'), Url::toRoute(['create', 'module_id'=>$module_id]), ['class' => 'btn btn-success']) ?>
</p>
<?= \common\components\zii\AdminGrid::widget([
'dataProvider' => $dataProvider,
// 'filterModel' => $searchModel,
'columns' => [
//['class' => 'yii\grid\SerialColumn'],
//'id',
//'module_id',
'code',
'name',
'value:ntext',
// 'element',
// 'hidden',
// 'description',
[
'class' => 'common\components\ColorActionColumn',
'urlCreator' => function($action, $model, $key, $index) {
return \yii\helpers\Url::toRoute([$action, 'module_id' => $model->module_id, 'id' => $model->id]);
}
],
],
]); ?>
<?php
use yii\helpers\Html;
echo $form
?>
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
/* @var $this yii\web\View */
/* @var $model common\models\Settings */
?>
<p>
<?= Html::a(Yii::t('app', 'Update'), ['update', 'id' => $model->id, 'module_id' => $module_id], ['class' => 'btn btn-primary']) ?>
<?= Html::a(Yii::t('app', 'Delete'), ['delete', 'id' => $model->id, 'module_id' => $module_id], [
'class' => 'btn btn-danger',
'data' => [
'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'),
'method' => 'post',
],
]) ?>
</p>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'id',
'module_id',
'code',
'name',
'value:ntext',
'element',
'hidden',
'description',
],
]) ?>
<?php
use yii\helpers\Html;
/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */
$this->title = $name;
?>
<div class="site-error">
<h1><?= Html::encode($this->title) ?></h1>
<div class="alert alert-danger">
<?= nl2br(Html::encode($message)) ?>
</div>
<p>
The above error occurred while the Web server was processing your request.
</p>
<p>
Please contact us if you think this is a server error. Thank you.
</p>
</div>
<?php
/* @var $this yii\web\View */
$this->title = 'My Yii Application';
?>
<div class="site-index">
<div class="jumbotron">
<h1>Congratulations!</h1>
<p class="lead">You have successfully created your Yii-powered application.</p>
<p><a class="btn btn-lg btn-success" href="http://www.yiiframework.com">Get started with Yii</a></p>
</div>
<div class="body-content">
<div class="row">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/doc/">Yii Documentation &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/forum/">Yii Forum &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/extensions/">Yii Extensions &raquo;</a></p>
</div>
</div>
</div>
</div>
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
/* @var $this yii\web\View */
/* @var $form yii\bootstrap\ActiveForm */
/* @var $model \common\models\LoginForm */
$this->title = 'Login';
$this->params['breadcrumbs'][] = $this->title;
?>
<!--
<div class="site-login">
<h1><?= Html::encode($this->title) ?></h1>
<p>Please fill out the following fields to login:</p>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<?= $form->field($model, 'rememberMe')->checkbox() ?>
<div class="form-group">
<?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
-->
<!-- begin login -->
<div class="login login-v2" data-pageload-addclass="animated flipInX">
<!-- begin brand -->
<div class="login-header">
<div class="brand">
<img src="/img/logo.png">
<small>Virtual intelligence exists</small>
<!-- Микрокредит
<small>Микрокредит Микрокредит Микрокредит</small>-->
</div>
<div class="icon">
<i class="fa fa-sign-in"></i>
</div>
</div>
<!-- end brand -->
<div class="login-content">
<?php $form = ActiveForm::begin([
'enableClientValidation' => true,
'id' => 'login-form',
'options' => [
'class' => 'margin-bottom-0'
],
'fieldConfig' => [
'template' => '{input}{error}',
],
]); ?>
<div class="form-group m-b-20">
<?= $form->field(
$model,
'username',
[
'inputOptions' => [
'class' => 'form-control input-lg',
'placeholder' => 'Укажи свой e-mail для того чтобы зайти',
]
]
)->label(false) ?>
</div>
<div class="form-group m-b-20" style="margin-bottom: 0 !important; margin-bottom: 0;">
<?= $form->field(
$model,
'password',
[
'inputOptions' => [
'class' => 'form-control input-lg',
'placeholder' => 'Пароль',
],
'options' => [
'style' => 'margin-bottom: 0 !important;',
],
]
)->passwordInput()->label(false) ?>
</div>
<div class="checkbox m-b-20" style="margin-top: 0; margin-bottom: 0 !important;">
<label>
<?= $form->field(
$model,
'rememberMe',
[
'labelOptions'=>['style'=>'padding-left: 0;']
]
)->checkbox()
->label('Запомнить мой компьютер.') ?>
</label>
</div>
<div class="login-buttons">
<?= Html::submitButton('Войти', ['class' => 'btn btn-success btn-block btn-lg', 'name' => 'login-button']) ?>
</div>
<!--div class="m-t-20">
Забыли свой пароль? Нажмите <a href="#">здесь</a> чтобы восстановить.
</div-->
<?php ActiveForm::end(); ?>
</div>
</div>
<!-- end login -->
<!--
<ul class="login-bg-list">
<li class="active"><a href="#" data-click="change-bg"><img src="/img/login-bg/bg-1.jpg" alt="" /></a></li>
<li><a href="#" data-click="change-bg"><img src="/img/login-bg/bg-2.jpg" alt="" /></a></li>
<li><a href="#" data-click="change-bg"><img src="/img/login-bg/bg-3.jpg" alt="" /></a></li>
<li><a href="#" data-click="change-bg"><img src="/img/login-bg/bg-4.jpg" alt="" /></a></li>
<li><a href="#" data-click="change-bg"><img src="/img/login-bg/bg-5.jpg" alt="" /></a></li>
<li><a href="#" data-click="change-bg"><img src="/img/login-bg/bg-6.jpg" alt="" /></a></li>
</ul>
-->
<?php
$this->registerJsFile('/js/login-v2.demo.min.js', ['position' => \yii\web\View::POS_END ]);
$this->registerJsFile('/js/apps.min.js', ['position' => \yii\web\View::POS_END ]);
$this->registerJs('App.init();LoginV2.init();', \yii\web\View::POS_READY);
?>
\ No newline at end of file
/index.php
/index-test.php
This diff is collapsed.
/*
HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document);
/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
(function(a){"use strict";function x(){u(!0)}var b={};if(a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,!b.mediaQueriesSupported){var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var b=m.shift();v(b.href,function(c){p(c,b.href,b.media),h[b.href]=!0,a.setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(b){var h="clientWidth",k=d[h],m="CSS1Compat"===c.compatMode&&k||c.body[h]||k,n={},o=l[l.length-1],p=(new Date).getTime();if(b&&q&&i>p-q)return a.clearTimeout(r),r=a.setTimeout(u,i),void 0;q=p;for(var v in e)if(e.hasOwnProperty(v)){var w=e[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?t||s():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?t||s():1)),w.hasquery&&(z&&A||!(z||m>=x)||!(A||y>=m))||(n[w.media]||(n[w.media]=[]),n[w.media].push(f[w.rules]))}for(var C in g)g.hasOwnProperty(C)&&g[C]&&g[C].parentNode===j&&j.removeChild(g[C]);for(var D in n)if(n.hasOwnProperty(D)){var E=c.createElement("style"),F=n[D].join("\n");E.type="text/css",E.media=D,j.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(c.createTextNode(F)),g.push(E)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)}})(this);
This diff is collapsed.
This diff is collapsed.
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.1
Version: 1.5.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.5/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #2F83CF #2a72b5 #1f5688;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #348fe2;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme,
.sidebar .sub-menu > li.active > a:before {
color: #348fe2;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #348fe2;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(103,176,240); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY3YjBmMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMzNDhmZTIiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(103,176,240,1) 0%, rgba(52,143,226,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(103,176,240,1)), color-stop(100%,rgba(52,143,226,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#67b0f0', endColorstr='#348fe2',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #348fe2;
}
.pace .pace-activity {
border-top-color: #348fe2;
border-left-color: #348fe2;
}
\ No newline at end of file
/* CSS Document */
.content {
padding: 10px 30px 0 !important;
}
#footer {background-color: inherit !important;}
.btn.btn-success {
background: #79C137;
border-color: #79C137;
}
.color-column {
white-space: nowrap;
}
\ No newline at end of file
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(/css/fonts/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2) format('woff2'), url(http://fonts.gstatic.com/s/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(/css/fonts/opensans/v10/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'), url(http://fonts.gstatic.com/s/opensans/v10/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(/css/fonts/opensans/v10/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2) format('woff2'), url(http://fonts.gstatic.com/s/opensans/v10/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/css/fonts/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2'), url(http://fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff');
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.4
Version: 1.7.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.7/admin/
*/
@media print {
body,
.content,
.page-header-fixed {
padding: 0 !important;
margin: 0 !important;
}
.sidebar,
.header,
.theme-panel {
display: none !important;
}
.invoice-company {
border-bottom: 1px solid #e2e7eb !important;
margin-bottom: 20px !important;
}
.invoice .invoice-from,
.invoice .invoice-to {
float: left !important;
display: inline !important;
width: 25% !important;
margin: 0 !important;
}
.invoice .invoice-date {
float: right !important;
margin: 0 !important;
width: 25% !important;
display: inline !important;
text-align: right !important;
}
.invoice-header {
margin: 0 !important;
padding: 0 !important;
}
.table-responsive {
border: none !important;
display: block !important;
float: left !important;
width: 100% !important;
margin-top: 10px !important;
}
.invoice-price {
margin-top: 20px !important;
border: 1px solid #e2e7eb !important;
float: left !important;
width: 100% !important;
display: block !important;
}
.invoice .invoice-price .invoice-price-left,
.invoice .invoice-price .invoice-price-right {
display: block !important;
float: left !important;
width: 75% !important;
}
.invoice .invoice-price .invoice-price-right {
width: 25% !important;
}
.invoice-price .invoice-price-right {
text-align: right !important;
}
.invoice-price .invoice-price-left .sub-price {
float: left !important;
display: block !important;
margin-top: 5px;
}
.invoice-note,
.invoice-footer {
float: left !important;
width: 100% !important;
}
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.4
Version: 1.7.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.7/admin/
*/@media print{.content,.page-header-fixed,body{padding:0!important;margin:0!important}.header,.sidebar,.theme-panel{display:none!important}.invoice-company{border-bottom:1px solid #e2e7eb!important;margin-bottom:20px!important}.invoice .invoice-from,.invoice .invoice-to{float:left!important;display:inline!important;width:25%!important;margin:0!important}.invoice .invoice-date{float:right!important;margin:0!important;width:25%!important;display:inline!important;text-align:right!important}.invoice-header{margin:0!important;padding:0!important}.table-responsive{border:none!important;display:block!important;float:left!important;width:100%!important;margin-top:10px!important}.invoice-price{margin-top:20px!important;border:1px solid #e2e7eb!important;float:left!important;width:100%!important;display:block!important}.invoice .invoice-price .invoice-price-left,.invoice .invoice-price .invoice-price-right{display:block!important;float:left!important;width:75%!important}.invoice .invoice-price .invoice-price-right{width:25%!important}.invoice-price .invoice-price-right{text-align:right!important}.invoice-price .invoice-price-left .sub-price{float:left!important;display:block!important;margin-top:5px}.invoice-footer,.invoice-note{float:left!important;width:100%!important}}
\ No newline at end of file
html,
body {
height: 100%;
}
.wrap {
min-height: 100%;
height: auto;
margin: 0 auto -60px;
padding: 0 0 60px;
}
.wrap > .container {
padding: 70px 15px 20px;
}
.footer {
height: 60px;
background-color: #f5f5f5;
border-top: 1px solid #CAD0D6;
padding-top: 20px;
}
.jumbotron {
text-align: center;
background-color: transparent;
}
.jumbotron .btn {
font-size: 21px;
padding: 14px 24px;
}
.not-set {
color: #c55;
font-style: italic;
}
/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
line-height: 1;
padding-left: 5px;
}
a.asc:after {
content: /*"\e113"*/ "\e151";
}
a.desc:after {
content: /*"\e114"*/ "\e152";
}
.sort-numerical a.asc:after {
content: "\e153";
}
.sort-numerical a.desc:after {
content: "\e154";
}
.sort-ordinal a.asc:after {
content: "\e155";
}
.sort-ordinal a.desc:after {
content: "\e156";
}
.grid-view th {
white-space: nowrap;
}
.hint-block {
display: block;
margin-top: 5px;
color: #999;
}
.error-summary {
color: #a94442;
background: #fdf7f7;
border-left: 3px solid #eed3d7;
padding: 10px 20px;
margin: 0 0 15px 0;
}
.glyphicon,
.fa {
margin: 0 2px;
}
#header .navbar-brand>img {
height: 32px;
}
.advanced-filter input,
.advanced-filter label {
display: inline-block;
vertical-align: middle;
}
.advanced-filter label {
margin-left: 8px;
}
.advanced-filter input,
.advanced-filter button {
margin: 0 0 0 3px;
}
.advanced-filter input[type="date"] {
width: 145px;
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.2
Version: 1.6.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.6/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #626668 #565b5e #414446;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #6C7275;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme {
color: #6C7275;
}
.sidebar .sub-menu > li.active > a:before {
color: #fff;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #6C7275;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(136,136,136); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg4ODg4OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2YzcyNzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(136,136,136,1) 0%, rgba(108,114,117,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(136,136,136,1)), color-stop(100%,rgba(108,114,117,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(136,136,136,1) 0%,rgba(108,114,117,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(136,136,136,1) 0%,rgba(108,114,117,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(136,136,136,1) 0%,rgba(108,114,117,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(136,136,136,1) 0%,rgba(108,114,117,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#888888', endColorstr='#6c7275',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #6C7275;
}
.pace .pace-activity {
border-top-color: #6C7275;
border-left-color: #6C7275;
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.2
Version: 1.6.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.6/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #2F83CF #2a72b5 #1f5688;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #348fe2;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme,
.sidebar .sub-menu > li.active > a:before {
color: #348fe2;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #348fe2;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(103,176,240); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY3YjBmMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMzNDhmZTIiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(103,176,240,1) 0%, rgba(52,143,226,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(103,176,240,1)), color-stop(100%,rgba(52,143,226,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(103,176,240,1) 0%,rgba(52,143,226,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#67b0f0', endColorstr='#348fe2',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #348fe2;
}
.pace .pace-activity {
border-top-color: #348fe2;
border-left-color: #348fe2;
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.2
Version: 1.6.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.6/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #4DCACA #31A3A3 #1D8888;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #79C137;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme,
.sidebar .sub-menu > li.active > a:before {
color: #79C137;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #00acac;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(0,210,210); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwZDJkMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMGFjYWMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(0,210,210,1) 0%, rgba(0,172,172,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,210,210,1)), color-stop(100%,rgba(0,172,172,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(0,210,210,1) 0%,rgba(0,172,172,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(0,210,210,1) 0%,rgba(0,172,172,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(0,210,210,1) 0%,rgba(0,172,172,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(0,210,210,1) 0%,rgba(0,172,172,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00d2d2', endColorstr='#00acac',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #00acac;
}
.pace .pace-activity {
border-top-color: #00acac;
border-left-color: #00acac;
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.2
Version: 1.6.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.6/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #DF8F19 #c47d15 #935e10;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #f59c1a;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme,
.sidebar .sub-menu > li.active > a:before {
color: #f59c1a;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #f59c1a;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(253,182,79); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZkYjY0ZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNTljMWEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(253,182,79,1) 0%, rgba(245,156,26,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(253,182,79,1)), color-stop(100%,rgba(245,156,26,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(253,182,79,1) 0%,rgba(245,156,26,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(253,182,79,1) 0%,rgba(245,156,26,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(253,182,79,1) 0%,rgba(245,156,26,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(253,182,79,1) 0%,rgba(245,156,26,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdb64f', endColorstr='#f59c1a',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #f59c1a;
}
.pace .pace-activity {
border-top-color: #f59c1a;
border-left-color: #f59c1a;
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.2
Version: 1.6.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.6/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #6670AC #5b6392 #444a6d;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #727cb6;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme,
.sidebar .sub-menu > li.active > a:before {
color: #727cb6;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #727cb6;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(134,142,192); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg2OGVjMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3MjdjYjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(134,142,192,1) 0%, rgba(114,124,182,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(134,142,192,1)), color-stop(100%,rgba(114,124,182,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(134,142,192,1) 0%,rgba(114,124,182,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(134,142,192,1) 0%,rgba(114,124,182,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(134,142,192,1) 0%,rgba(114,124,182,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(134,142,192,1) 0%,rgba(114,124,182,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#868ec0', endColorstr='#727cb6',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #727cb6;
}
.pace .pace-activity {
border-top-color: #727cb6;
border-left-color: #727cb6;
}
\ No newline at end of file
/*
Template Name: Color Admin - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.3.2
Version: 1.6.0
Author: Sean Ngu
Website: http://www.seantheme.com/color-admin-v1.6/admin/
*/
.navbar-logo,
.coming-soon .brand .logo,
.login .login-header .brand .logo {
border-color: #F8504B #cc4946 #993734;
}
.navbar.navbar-inverse .navbar-brand,
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > a:focus,
.sidebar .nav > li.active > a:hover,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.label.label-theme,
.btn.btn-scroll-to-top {
background: #ff5b57;
}
.navbar.navbar-inverse .navbar-brand {
color: #fff !important;
}
.text-theme,
.sidebar .sub-menu > li.active > a:before {
color: #ff5b57;
}
@media (max-width: 767px) {
.navbar-inverse .navbar-header {
background: #ff5b57;
}
}
/* Added in v1.5 */
.gradient-enabled .navbar.navbar-inverse .navbar-brand,
.gradient-enabled .sidebar .nav > li.active > a,
.gradient-enabled .sidebar .nav > li.active > a:focus,
.gradient-enabled .sidebar .nav > li.active > a:hover,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:focus > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active:hover > a,
.gradient-enabled.page-sidebar-minified .sidebar .nav > li.has-sub.active > a,
.gradient-enabled .label.label-theme,
.gradient-enabled .btn.btn-scroll-to-top {
background: rgb(253,128,125); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZkODA3ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjViNTciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(253,128,125,1) 0%, rgba(255,91,87,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(253,128,125,1)), color-stop(100%,rgba(255,91,87,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(253,128,125,1) 0%,rgba(255,91,87,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(253,128,125,1) 0%,rgba(255,91,87,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(253,128,125,1) 0%,rgba(255,91,87,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(253,128,125,1) 0%,rgba(255,91,87,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fd807d', endColorstr='#ff5b57',GradientType=0 ); /* IE6-8 */
}
.pace-progress {
background: #ff5b57;
}
.pace .pace-activity {
border-top-color: #ff5b57;
border-left-color: #ff5b57;
}
\ No newline at end of file
This diff is collapsed.
/**
* Copyright (C) 2013-2014 KO GmbH <copyright@kogmbh.com>
*
* @licstart
* This file is part of WebODF.
*
* WebODF is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License (GNU AGPL)
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* WebODF is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with WebODF. If not, see <http://www.gnu.org/licenses/>.
* @licend
*
* @source: http://www.webodf.org/
* @source: https://github.com/kogmbh/WebODF/
*/
@namespace cursor url(urn:webodf:names:cursor);
.caret {
opacity: 0 !important;
}
/**
* Copyright (C) 2012 KO GmbH <copyright@kogmbh.com>
*
* @licstart
* This file is part of WebODF.
*
* WebODF is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License (GNU AGPL)
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* WebODF is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with WebODF. If not, see <http://www.gnu.org/licenses/>.
* @licend
*
* @source: http://www.webodf.org/
* @source: https://github.com/kogmbh/WebODF/
*/
/*global runtime, document, odf, gui, console, webodf*/
function ODFViewerPlugin() {
"use strict";
function init(callback) {
var lib = document.createElement('script'),
pluginCSS;
lib.async = false;
lib.src = './webodf.js';
lib.type = 'text/javascript';
lib.onload = function () {
runtime.loadClass('gui.HyperlinkClickHandler');
runtime.loadClass('odf.OdfCanvas');
runtime.loadClass('ops.Session');
runtime.loadClass('gui.CaretManager');
runtime.loadClass("gui.HyperlinkTooltipView");
runtime.loadClass('gui.SessionController');
runtime.loadClass('gui.SvgSelectionView');
runtime.loadClass('gui.SelectionViewManager');
runtime.loadClass('gui.ShadowCursor');
runtime.loadClass('gui.SessionView');
callback();
};
document.getElementsByTagName('head')[0].appendChild(lib);
pluginCSS = document.createElement('link');
pluginCSS.setAttribute("rel", "stylesheet");
pluginCSS.setAttribute("type", "text/css");
pluginCSS.setAttribute("href", "./ODFViewerPlugin.css");
document.head.appendChild(pluginCSS);
}
// that should probably be provided by webodf
function nsResolver(prefix) {
var ns = {
'draw' : "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0",
'presentation' : "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0",
'text' : "urn:oasis:names:tc:opendocument:xmlns:text:1.0",
'office' : "urn:oasis:names:tc:opendocument:xmlns:office:1.0"
};
return ns[prefix] || console.log('prefix [' + prefix + '] unknown.');
}
var self = this,
pluginName = "WebODF",
pluginURL = "http://webodf.org",
odfCanvas = null,
odfElement = null,
initialized = false,
root = null,
documentType = null,
pages = [],
currentPage = null;
this.initialize = function (viewerElement, documentUrl) {
// If the URL has a fragment (#...), try to load the file it represents
init(function () {
var session,
sessionController,
sessionView,
odtDocument,
shadowCursor,
selectionViewManager,
caretManager,
localMemberId = 'localuser',
hyperlinkTooltipView,
eventManager;
odfElement = document.getElementById('canvas');
odfCanvas = new odf.OdfCanvas(odfElement);
odfCanvas.load(documentUrl);
odfCanvas.addListener('statereadychange', function () {
root = odfCanvas.odfContainer().rootElement;
initialized = true;
documentType = odfCanvas.odfContainer().getDocumentType(root);
if (documentType === 'text') {
odfCanvas.enableAnnotations(true, false);
session = new ops.Session(odfCanvas);
odtDocument = session.getOdtDocument();
shadowCursor = new gui.ShadowCursor(odtDocument);
sessionController = new gui.SessionController(session, localMemberId, shadowCursor, {});
eventManager = sessionController.getEventManager();
caretManager = new gui.CaretManager(sessionController, odfCanvas.getViewport());
selectionViewManager = new gui.SelectionViewManager(gui.SvgSelectionView);
sessionView = new gui.SessionView({
caretAvatarsInitiallyVisible: false
}, localMemberId, session, sessionController.getSessionConstraints(), caretManager, selectionViewManager);
selectionViewManager.registerCursor(shadowCursor);
hyperlinkTooltipView = new gui.HyperlinkTooltipView(odfCanvas,
sessionController.getHyperlinkClickHandler().getModifier);
eventManager.subscribe("mousemove", hyperlinkTooltipView.showTooltip);
eventManager.subscribe("mouseout", hyperlinkTooltipView.hideTooltip);
var op = new ops.OpAddMember();
op.init({
memberid: localMemberId,
setProperties: {
fillName: runtime.tr("Unknown Author"),
color: "blue"
}
});
session.enqueue([op]);
sessionController.insertLocalCursor();
}
self.onLoad();
});
});
};
this.isSlideshow = function () {
return documentType === 'presentation';
};
this.onLoad = function () {};
this.getWidth = function () {
return odfElement.clientWidth;
};
this.getHeight = function () {
return odfElement.clientHeight;
};
this.fitToWidth = function (width) {
odfCanvas.fitToWidth(width);
};
this.fitToHeight = function (height) {
odfCanvas.fitToHeight(height);
};
this.fitToPage = function (width, height) {
odfCanvas.fitToContainingElement(width, height);
};
this.fitSmart = function (width) {
odfCanvas.fitSmart(width);
};
this.getZoomLevel = function () {
return odfCanvas.getZoomLevel();
};
this.setZoomLevel = function (value) {
odfCanvas.setZoomLevel(value);
};
// return a list of tuples (pagename, pagenode)
this.getPages = function () {
var pageNodes = Array.prototype.slice.call(root.getElementsByTagNameNS(nsResolver('draw'), 'page')),
pages = [],
i,
tuple;
for (i = 0; i < pageNodes.length; i += 1) {
tuple = [
pageNodes[i].getAttribute('draw:name'),
pageNodes[i]
];
pages.push(tuple);
}
return pages;
};
this.showPage = function (n) {
odfCanvas.showPage(n);
};
this.getPluginName = function () {
return pluginName;
};
this.getPluginVersion = function () {
var version;
if (String(typeof webodf) !== "undefined") {
version = webodf.Version;
} else {
version = "Unknown";
}
return version;
};
this.getPluginURL = function () {
return pluginURL;
};
}
.page {
margin: 7px auto 7px auto;
position: relative;
overflow: hidden;
background-clip: content-box;
background-color: white;
box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-webkit-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-ms-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-o-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
}
.textLayer {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
color: #000;
font-family: sans-serif;
overflow: hidden;
}
.textLayer > div {
color: transparent;
position: absolute;
line-height: 1;
white-space: pre;
cursor: text;
}
::selection { background:rgba(0,0,255,0.3); }
::-moz-selection { background:rgba(0,0,255,0.3); }
This diff is collapsed.
/**
* @license
* Copyright (C) 2012 KO GmbH <copyright@kogmbh.com>
*
* @licstart
* The JavaScript code in this page is free software: you can redistribute it
* and/or modify it under the terms of the GNU Affero General Public License
* (GNU AGPL) as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version. The code is distributed
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU AGPL for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this code. If not, see <http://www.gnu.org/licenses/>.
*
* As additional permission under GNU AGPL version 3 section 7, you
* may distribute non-source (e.g., minimized or compacted) forms of
* that code without the copy of the GNU GPL normally required by
* section 4, provided you include this license notice and a URL
* through which recipients can access the Corresponding Source.
*
* As a special exception to the AGPL, any HTML file which merely makes function
* calls to this code, and for that purpose includes it by reference shall be
* deemed a separate work for copyright law purposes. In addition, the copyright
* holders of this code give you permission to combine this code with free
* software libraries that are released under the GNU LGPL. You may copy and
* distribute such a system following the terms of the GNU AGPL for this code
* and the LGPL for the libraries. If you modify this code, you may extend this
* exception to your version of the code, but you are not obligated to do so.
* If you do not wish to do so, delete this exception statement from your
* version.
*
* This license applies to this entire compilation.
* @licend
* @source: http://viewerjs.org/
* @source: http://github.com/kogmbh/ViewerJS
*/
/*global document, window, Viewer, ODFViewerPlugin, PDFViewerPlugin*/
var viewer;
function loadPlugin(pluginName, callback) {
"use strict";
var script, style;
// Load script
script = document.createElement('script');
script.async = false;
script.onload = callback;
script.src = pluginName + '.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
function loadDocument(documentUrl) {
"use strict";
if (documentUrl) {
var extension = documentUrl.split('.').pop(),
Plugin;
extension = extension.toLowerCase();
switch (extension) {
case 'odt':
case 'fodt':
case 'ott':
case 'odp':
case 'fodp':
case 'otp':
case 'ods':
case 'fods':
case 'ots':
loadPlugin('./ODFViewerPlugin', function () {
Plugin = ODFViewerPlugin;
});
break;
case 'pdf':
loadPlugin('./PDFViewerPlugin', function () {
Plugin = PDFViewerPlugin;
});
break;
}
window.onload = function () {
if (Plugin) {
viewer = new Viewer(new Plugin());
}
};
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
var /**@const{!string}*/pdfjs_version = "d45d7bc";
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment