├── assets └── .gitignore ├── uploads └── .gitignore ├── app ├── .htaccess ├── config │ ├── params.php │ ├── db.php │ ├── console.php │ └── web.php ├── media │ ├── js │ │ └── scripts.js │ ├── favicon.ico │ └── css │ │ └── styles.css ├── assets │ └── AppAsset.php ├── views │ ├── site │ │ ├── error.php │ │ └── index.php │ └── layouts │ │ └── main.php ├── controllers │ └── SiteController.php └── commands │ └── HelloController.php ├── .bowerrc ├── runtime ├── .gitignore └── .htaccess ├── vendor └── .htaccess ├── .gitignore ├── .htaccess ├── index.php ├── yii.bat ├── yii ├── README.md ├── composer.json ├── requirements.php └── composer.lock /assets/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /uploads/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /app/.htaccess: -------------------------------------------------------------------------------- 1 | order allow,deny 2 | deny from all 3 | -------------------------------------------------------------------------------- /app/config/params.php: -------------------------------------------------------------------------------- 1 | 'yii\db\Connection', 5 | 'dsn' => 'mysql:host=localhost;dbname=DB_NAME', 6 | 'username' => 'DB_USER', 7 | 'password' => 'DB_PASSWORD', 8 | 'charset' => 'utf8', 9 | 'tablePrefix' => '', 10 | 'enableSchemaCache' => true, 11 | ]; 12 | -------------------------------------------------------------------------------- /app/assets/AppAsset.php: -------------------------------------------------------------------------------- 1 | run(); 12 | -------------------------------------------------------------------------------- /app/views/site/error.php: -------------------------------------------------------------------------------- 1 | title = $name; 4 | ?> 5 |

title) ?>

6 | 7 |
8 | 9 |
10 | 11 |

12 | The above error occurred while the Web server was processing your request. 13 |

14 |

15 | Please contact us if you think this is a server error. Thank you. 16 |

17 | -------------------------------------------------------------------------------- /app/controllers/SiteController.php: -------------------------------------------------------------------------------- 1 | [ 13 | 'class' => 'yii\web\ErrorAction', 14 | ], 15 | ]; 16 | } 17 | 18 | public function actionIndex() 19 | { 20 | return $this->render('index'); 21 | } 22 | } -------------------------------------------------------------------------------- /yii.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ------------------------------------------------------------- 4 | rem Yii command line bootstrap script for Windows. 5 | rem 6 | rem @author Qiang Xue 7 | rem @link http://www.yiiframework.com/ 8 | rem @copyright Copyright (c) 2008 Yii Software LLC 9 | rem @license http://www.yiiframework.com/license/ 10 | rem ------------------------------------------------------------- 11 | 12 | @setlocal 13 | 14 | set YII_PATH=%~dp0 15 | 16 | if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe 17 | 18 | "%PHP_COMMAND%" "%YII_PATH%yii" %* 19 | 20 | @endlocal 21 | -------------------------------------------------------------------------------- /yii: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | run(); 24 | exit($exitCode); 25 | -------------------------------------------------------------------------------- /app/commands/HelloController.php: -------------------------------------------------------------------------------- 1 | 15 | * @since 2.0 16 | */ 17 | class HelloController extends Controller 18 | { 19 | /** 20 | * This command echoes what you have entered as the message. 21 | * @param string $message the message to be echoed. 22 | */ 23 | public function actionIndex($message = 'hello world') 24 | { 25 | echo $message . "\n"; 26 | } 27 | } -------------------------------------------------------------------------------- /app/config/console.php: -------------------------------------------------------------------------------- 1 | 'app-console', 10 | 'basePath' => $basePath, 11 | 'runtimePath' => $webroot . '/runtime', 12 | 'vendorPath' => $webroot . '/vendor', 13 | 'bootstrap' => ['log', 'gii'], 14 | 'controllerNamespace' => 'app\commands', 15 | 'modules' => [ 16 | 'gii' => 'yii\gii\Module', 17 | ], 18 | 'components' => [ 19 | 'cache' => [ 20 | 'class' => 'yii\caching\FileCache', 21 | ], 22 | 'log' => [ 23 | 'targets' => [ 24 | [ 25 | 'class' => 'yii\log\FileTarget', 26 | 'levels' => ['error', 'warning'], 27 | ], 28 | ], 29 | ], 30 | 'db' => $db, 31 | ], 32 | 'params' => $params, 33 | ]; -------------------------------------------------------------------------------- /app/views/layouts/main.php: -------------------------------------------------------------------------------- 1 | 6 | beginPage() ?> 7 | 8 | 9 | 10 | 11 | 12 | 13 | <?= Html::encode($this->title) ?> 14 | 15 | 16 | 17 | head() ?> 18 | 19 | 20 | beginBody() ?> 21 | 22 | endBody() ?> 23 | 24 | 25 | endPage() ?> -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## EasyiiCMS 2 | Control panel and tools based on php framework Yii2. Easy cms for easy websites. 3 | 4 | #### Requirements 5 | The main requirement is PHP >= 5.4, Imagick extension. Other requirements you can see after download. 6 | 7 | Direcotry Structure 8 | ``` 9 | app/ main application folder 10 | assets/ contains assets definition 11 | config/ contains application configurations 12 | commands/ contains Console controller classes 13 | controllers/ contains Web controller classes 14 | media/ contains css, images and js scripts 15 | views/ contains application configurations 16 | assets/ contains published files 17 | runtime/ contains files generated during runtime 18 | uploads/ contains all uploaded files 19 | vendor/ contains dependent 3rd-party packages 20 | ``` 21 | 22 | #### You can find full information in links bellow #### 23 | * [Homepage](http://easyiicms.com) 24 | * [Installation](http://easyiicms.com/docs/install) 25 | * [Demo](http://demo.easyiicms.com/) 26 | 27 | #### Contacts #### 28 | 29 | Feel free to email me on noumohope@gmail.com 30 | -------------------------------------------------------------------------------- /app/media/css/styles.css: -------------------------------------------------------------------------------- 1 | html, body{ 2 | height: 100%; 3 | } 4 | body{ 5 | font-family: 'Open Sans', sans-serif; 6 | } 7 | .vertical-align-parent { 8 | -webkit-transform-style: preserve-3d; 9 | -moz-transform-style: preserve-3d; 10 | transform-style: preserve-3d; 11 | height: 100%; 12 | } 13 | .vertical-align-child { 14 | position: relative; 15 | top: 50%; 16 | -webkit-transform: translateY(-50%); 17 | -ms-transform: translateY(-50%); 18 | transform: translateY(-50%); 19 | } 20 | h1{ 21 | font-size: 40px; 22 | font-weight: 300; 23 | text-transform: uppercase; 24 | margin: 0 0 50px 0; 25 | color: #555; 26 | } 27 | h1 a{ 28 | display: inline-block; 29 | color: #7DB4B5; 30 | border-bottom: 1px solid #7DB4B5; 31 | } 32 | h1 a:hover, h1 a:focus{ 33 | color: #7DB4B5; 34 | border-color: #fff; 35 | text-decoration: none; 36 | } 37 | .circle { 38 | display: inline-block; 39 | border-radius: 50%; 40 | border: 2px solid #555; 41 | width: 180px; 42 | height: 180px; 43 | margin-left:auto; 44 | margin-right:auto; 45 | text-align: center; 46 | padding-top: 45px; 47 | margin: 0 30px; 48 | font-size: 18px; 49 | color: #555; 50 | } 51 | .circle:hover, .circle:focus{ 52 | text-decoration: none; 53 | color: #7DB4B5; 54 | border-color: #7DB4B5; 55 | } 56 | .circle i{ 57 | font-size: 46px; 58 | margin-bottom: 10px; 59 | } -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "noumo/easyii-start", 3 | "description": "Easy CMS based on Yii2 Framework", 4 | "keywords": ["yii2", "cms", "control panel", "admin", "easy"], 5 | "homepage": "http://easyiicms.com", 6 | "type": "project", 7 | "license": "GNU GPL V3", 8 | "support": { 9 | "wiki": "http://easyiicms.com/docs", 10 | "source": "https://github.com/noumo/easyii.git", 11 | "issues": "https://github.com/noumo/easyii/issues" 12 | }, 13 | "minimum-stability": "dev", 14 | "require": { 15 | "php": ">=5.4.0", 16 | "noumo/easyii": "dev-master" 17 | }, 18 | "require-dev": { 19 | "yiisoft/yii2-codeception": "*", 20 | "yiisoft/yii2-debug": "*", 21 | "yiisoft/yii2-gii": "*", 22 | "yiisoft/yii2-faker": "*" 23 | }, 24 | "scripts": { 25 | "post-create-project-cmd": [ 26 | "yii\\composer\\Installer::postCreateProject" 27 | ] 28 | }, 29 | "extra": { 30 | "yii\\composer\\Installer::postCreateProject": { 31 | "generateCookieValidationKey": [ 32 | "app/config/web.php" 33 | ] 34 | }, 35 | "asset-installer-paths": { 36 | "npm-asset-library": "vendor/npm", 37 | "bower-asset-library": "vendor/bower" 38 | }, 39 | "writable": [ 40 | "assets", 41 | "uploads", 42 | "runtime" 43 | ] 44 | } 45 | } -------------------------------------------------------------------------------- /app/views/site/index.php: -------------------------------------------------------------------------------- 1 | title = 'EasyiiCMS start page'; 5 | ?> 6 |
7 | 38 |
39 | -------------------------------------------------------------------------------- /app/config/web.php: -------------------------------------------------------------------------------- 1 | 'app', 12 | 'basePath' => $basePath, 13 | 'bootstrap' => ['log'], 14 | 'language' => 'en-US', 15 | 'runtimePath' => $webroot . '/runtime', 16 | 'vendorPath' => $webroot . '/vendor', 17 | 'components' => [ 18 | 'request' => [ 19 | // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 20 | 'cookieValidationKey' => '', 21 | ], 22 | 'cache' => [ 23 | 'class' => 'yii\caching\FileCache', 24 | ], 25 | 'errorHandler' => [ 26 | 'errorAction' => 'site/error', 27 | ], 28 | 'mailer' => [ 29 | 'class' => 'yii\swiftmailer\Mailer', 30 | ], 31 | 'assetManager' => [ 32 | // uncomment the following line if you want to auto update your assets (unix hosting only) 33 | //'linkAssets' => true, 34 | 'bundles' => [ 35 | 'yii\web\JqueryAsset' => [ 36 | 'js' => [YII_DEBUG ? 'jquery.js' : 'jquery.min.js'], 37 | ], 38 | 'yii\bootstrap\BootstrapAsset' => [ 39 | 'css' => [YII_DEBUG ? 'css/bootstrap.css' : 'css/bootstrap.min.css'], 40 | ], 41 | 'yii\bootstrap\BootstrapPluginAsset' => [ 42 | 'js' => [YII_DEBUG ? 'js/bootstrap.js' : 'js/bootstrap.min.js'], 43 | ], 44 | ], 45 | ], 46 | 'log' => [ 47 | 'traceLevel' => YII_DEBUG ? 3 : 0, 48 | 'targets' => [ 49 | [ 50 | 'class' => 'yii\log\FileTarget', 51 | 'levels' => ['error', 'warning'], 52 | ], 53 | ], 54 | ], 55 | 'db' => require(__DIR__ . '/db.php'), 56 | ], 57 | 'params' => $params, 58 | ]; 59 | 60 | if (YII_ENV_DEV) { 61 | // configuration adjustments for 'dev' environment 62 | $config['bootstrap'][] = 'debug'; 63 | $config['modules']['debug'] = 'yii\debug\Module'; 64 | 65 | $config['bootstrap'][] = 'gii'; 66 | $config['modules']['gii'] = 'yii\gii\Module'; 67 | 68 | $config['components']['db']['enableSchemaCache'] = false; 69 | } 70 | 71 | return array_merge_recursive($config, require(dirname(__FILE__) . '/../../vendor/noumo/easyii/config/easyii.php')); 72 | -------------------------------------------------------------------------------- /requirements.php: -------------------------------------------------------------------------------- 1 | Error'; 18 | echo '

The path to yii framework seems to be incorrect.

'; 19 | echo '

You need to install Yii framework via composer or adjust the framework path in file ' . basename(__FILE__) . '.

'; 20 | echo '

Please refer to the README on how to install Yii.

'; 21 | } 22 | 23 | require_once($frameworkPath . '/requirements/YiiRequirementChecker.php'); 24 | $requirementsChecker = new YiiRequirementChecker(); 25 | 26 | $gdMemo = $imagickMemo = 'Either GD PHP extension with FreeType support or ImageMagick PHP extension with PNG support is required for image CAPTCHA.'; 27 | $gdOK = $imagickOK = false; 28 | 29 | if (extension_loaded('imagick')) { 30 | $imagick = new Imagick(); 31 | $imagickFormats = $imagick->queryFormats('PNG'); 32 | if (in_array('PNG', $imagickFormats)) { 33 | $imagickOK = true; 34 | } else { 35 | $imagickMemo = 'Imagick extension should be installed with PNG support in order to be used for image CAPTCHA.'; 36 | } 37 | } 38 | 39 | if (extension_loaded('gd')) { 40 | $gdInfo = gd_info(); 41 | if (!empty($gdInfo['FreeType Support'])) { 42 | $gdOK = true; 43 | } else { 44 | $gdMemo = 'GD extension should be installed with FreeType support in order to be used for image CAPTCHA.'; 45 | } 46 | } 47 | 48 | /** 49 | * Adjust requirements according to your application specifics. 50 | */ 51 | $requirements = array( 52 | // Database : 53 | array( 54 | 'name' => 'PDO extension', 55 | 'mandatory' => true, 56 | 'condition' => extension_loaded('pdo'), 57 | 'by' => 'All DB-related classes', 58 | ), 59 | array( 60 | 'name' => 'PDO SQLite extension', 61 | 'mandatory' => false, 62 | 'condition' => extension_loaded('pdo_sqlite'), 63 | 'by' => 'All DB-related classes', 64 | 'memo' => 'Required for SQLite database.', 65 | ), 66 | array( 67 | 'name' => 'PDO MySQL extension', 68 | 'mandatory' => false, 69 | 'condition' => extension_loaded('pdo_mysql'), 70 | 'by' => 'All DB-related classes', 71 | 'memo' => 'Required for MySQL database.', 72 | ), 73 | array( 74 | 'name' => 'PDO PostgreSQL extension', 75 | 'mandatory' => false, 76 | 'condition' => extension_loaded('pdo_pgsql'), 77 | 'by' => 'All DB-related classes', 78 | 'memo' => 'Required for PostgreSQL database.', 79 | ), 80 | // Cache : 81 | array( 82 | 'name' => 'Memcache extension', 83 | 'mandatory' => false, 84 | 'condition' => extension_loaded('memcache') || extension_loaded('memcached'), 85 | 'by' => 'MemCache', 86 | 'memo' => extension_loaded('memcached') ? 'To use memcached set MemCache::useMemcached to true.' : '' 87 | ), 88 | array( 89 | 'name' => 'APC extension', 90 | 'mandatory' => false, 91 | 'condition' => extension_loaded('apc'), 92 | 'by' => 'ApcCache', 93 | ), 94 | // CAPTCHA: 95 | array( 96 | 'name' => 'GD PHP extension with FreeType support', 97 | 'mandatory' => false, 98 | 'condition' => $gdOK, 99 | 'by' => 'Captcha', 100 | 'memo' => $gdMemo, 101 | ), 102 | array( 103 | 'name' => 'ImageMagick PHP extension with PNG support', 104 | 'mandatory' => false, 105 | 'condition' => $imagickOK, 106 | 'by' => 'Captcha', 107 | 'memo' => $imagickMemo, 108 | ), 109 | // PHP ini : 110 | 'phpExposePhp' => array( 111 | 'name' => 'Expose PHP', 112 | 'mandatory' => false, 113 | 'condition' => $requirementsChecker->checkPhpIniOff("expose_php"), 114 | 'by' => 'Security reasons', 115 | 'memo' => '"expose_php" should be disabled at php.ini', 116 | ), 117 | 'phpAllowUrlInclude' => array( 118 | 'name' => 'PHP allow url include', 119 | 'mandatory' => false, 120 | 'condition' => $requirementsChecker->checkPhpIniOff("allow_url_include"), 121 | 'by' => 'Security reasons', 122 | 'memo' => '"allow_url_include" should be disabled at php.ini', 123 | ), 124 | 'phpSmtp' => array( 125 | 'name' => 'PHP mail SMTP', 126 | 'mandatory' => false, 127 | 'condition' => strlen(ini_get('SMTP'))>0, 128 | 'by' => 'Email sending', 129 | 'memo' => 'PHP mail SMTP server required', 130 | ), 131 | ); 132 | $requirementsChecker->checkYii()->check($requirements)->render(); -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "hash": "bc7bbb4ea24cf8f25022bf808a097376", 8 | "content-hash": "0f52a2351f5ec217aae22a314c1c150d", 9 | "packages": [ 10 | { 11 | "name": "2amigos/yii2-selectize-widget", 12 | "version": "dev-master", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/2amigos/yii2-selectize-widget.git", 16 | "reference": "adf969fe90fcf57818a331fa565903839e7e9532" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/2amigos/yii2-selectize-widget/zipball/adf969fe90fcf57818a331fa565903839e7e9532", 21 | "reference": "adf969fe90fcf57818a331fa565903839e7e9532", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "bower-asset/selectize": "~0.12.0", 26 | "yiisoft/yii2": "~2.0.0", 27 | "yiisoft/yii2-bootstrap": "~2.0.0" 28 | }, 29 | "require-dev": { 30 | "phpunit/phpunit": "~4.0" 31 | }, 32 | "type": "yii2-extension", 33 | "extra": { 34 | "asset-installer-paths": { 35 | "npm-asset-library": "vendor/npm", 36 | "bower-asset-library": "vendor/bower" 37 | }, 38 | "branch-alias": { 39 | "dev-master": "1.0-dev" 40 | } 41 | }, 42 | "autoload": { 43 | "psr-4": { 44 | "dosamigos\\selectize\\": "src" 45 | } 46 | }, 47 | "notification-url": "https://packagist.org/downloads/", 48 | "license": [ 49 | "BSD-3-Clause" 50 | ], 51 | "authors": [ 52 | { 53 | "name": "2amigOS! Consulting Group", 54 | "email": "hola@2amigos.us", 55 | "homepage": "http://2amigos.us", 56 | "role": "Developer" 57 | }, 58 | { 59 | "name": "Alexander Kochetov", 60 | "email": "creocoder@gmail.com", 61 | "role": "Developer" 62 | } 63 | ], 64 | "description": "The selectize.js widget for the Yii framework", 65 | "homepage": "https://github.com/2amigos/yii2-selectize-widget", 66 | "keywords": [ 67 | "2amigos", 68 | "selectize", 69 | "widget", 70 | "yii", 71 | "yii 2", 72 | "yii2" 73 | ], 74 | "time": "2015-03-20 22:04:12" 75 | }, 76 | { 77 | "name": "bower-asset/bootstrap", 78 | "version": "v3.3.6", 79 | "source": { 80 | "type": "git", 81 | "url": "https://github.com/twbs/bootstrap.git", 82 | "reference": "81df608a40bf0629a1dc08e584849bb1e43e0b7a" 83 | }, 84 | "dist": { 85 | "type": "zip", 86 | "url": "https://api.github.com/repos/twbs/bootstrap/zipball/81df608a40bf0629a1dc08e584849bb1e43e0b7a", 87 | "reference": "81df608a40bf0629a1dc08e584849bb1e43e0b7a", 88 | "shasum": "" 89 | }, 90 | "require": { 91 | "bower-asset/jquery": ">=1.9.1,<=2" 92 | }, 93 | "type": "bower-asset-library", 94 | "extra": { 95 | "bower-asset-main": [ 96 | "less/bootstrap.less", 97 | "dist/js/bootstrap.js" 98 | ], 99 | "bower-asset-ignore": [ 100 | "/.*", 101 | "_config.yml", 102 | "CNAME", 103 | "composer.json", 104 | "CONTRIBUTING.md", 105 | "docs", 106 | "js/tests", 107 | "test-infra" 108 | ] 109 | }, 110 | "license": [ 111 | "MIT" 112 | ], 113 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 114 | "keywords": [ 115 | "css", 116 | "framework", 117 | "front-end", 118 | "js", 119 | "less", 120 | "mobile-first", 121 | "responsive", 122 | "web" 123 | ] 124 | }, 125 | { 126 | "name": "bower-asset/eonasdan-bootstrap-datetimepicker", 127 | "version": "4.7.14", 128 | "source": { 129 | "type": "git", 130 | "url": "https://github.com/Eonasdan/bootstrap-datetimepicker.git", 131 | "reference": "d004434a5ff76e7b97c8b07c01f34ca69e635d97" 132 | }, 133 | "dist": { 134 | "type": "zip", 135 | "url": "https://api.github.com/repos/Eonasdan/bootstrap-datetimepicker/zipball/d004434a5ff76e7b97c8b07c01f34ca69e635d97", 136 | "reference": "d004434a5ff76e7b97c8b07c01f34ca69e635d97", 137 | "shasum": "" 138 | }, 139 | "require": { 140 | "bower-asset/jquery": ">=1.8.3", 141 | "bower-asset/moment": ">=2.8.0" 142 | }, 143 | "type": "bower-asset-library", 144 | "extra": { 145 | "bower-asset-main": [ 146 | "build/css/bootstrap-datetimepicker.min.css", 147 | "build/js/bootstrap-datetimepicker.min.js", 148 | "src/less/_bootstrap-datetimepicker.less", 149 | "src/less/bootstrap-datetimepicker-build.less", 150 | "src/js/bootstrap-datetimepicker.js" 151 | ], 152 | "bower-asset-ignore": [ 153 | "**/.*", 154 | "node_modules", 155 | "bower_components", 156 | "test", 157 | "tests" 158 | ], 159 | "bower-asset-private": false 160 | }, 161 | "license": [ 162 | "MIT" 163 | ], 164 | "description": "bootstrap3 datetimepicker", 165 | "keywords": [ 166 | "bootstrap", 167 | "datepicker", 168 | "datetimepicker", 169 | "moment", 170 | "timepicker", 171 | "twitter-bootstrap" 172 | ] 173 | }, 174 | { 175 | "name": "bower-asset/fancybox", 176 | "version": "dev-master", 177 | "source": { 178 | "type": "git", 179 | "url": "https://github.com/fancyapps/fancyBox.git", 180 | "reference": "191917ca5114cfd85814d2f087c3c6b93c779b8a" 181 | }, 182 | "dist": { 183 | "type": "zip", 184 | "url": "https://api.github.com/repos/fancyapps/fancyBox/zipball/191917ca5114cfd85814d2f087c3c6b93c779b8a", 185 | "reference": "191917ca5114cfd85814d2f087c3c6b93c779b8a", 186 | "shasum": "" 187 | }, 188 | "require": { 189 | "bower-asset/jquery": ">=1.10", 190 | "bower-asset/jquery-mousewheel": "~3.1.3" 191 | }, 192 | "type": "bower-asset-library", 193 | "extra": { 194 | "bower-asset-main": [ 195 | "source/jquery.fancybox.css", 196 | "source/jquery.fancybox.js", 197 | "source/blank.gif", 198 | "source/fancybox_loading.gif", 199 | "source/fancybox_loading@2x.gif", 200 | "source/fancybox_overlay.png", 201 | "source/fancybox_sprite.png", 202 | "source/fancybox_sprite@2x.png", 203 | "source/jquery.fancybox.pack.js" 204 | ], 205 | "bower-asset-ignore": [ 206 | "**/.*", 207 | "fancybox.jquery.json", 208 | "demo" 209 | ] 210 | }, 211 | "time": "2015-10-06 14:47:06" 212 | }, 213 | { 214 | "name": "bower-asset/jquery", 215 | "version": "1.11.3", 216 | "source": { 217 | "type": "git", 218 | "url": "https://github.com/jquery/jquery.git", 219 | "reference": "1472290917f17af05e98007136096784f9051fab" 220 | }, 221 | "dist": { 222 | "type": "zip", 223 | "url": "https://api.github.com/repos/jquery/jquery/zipball/1472290917f17af05e98007136096784f9051fab", 224 | "reference": "1472290917f17af05e98007136096784f9051fab", 225 | "shasum": "" 226 | }, 227 | "require-dev": { 228 | "bower-asset/qunit": "1.14.0", 229 | "bower-asset/requirejs": "2.1.10", 230 | "bower-asset/sinon": "1.8.1", 231 | "bower-asset/sizzle": "2.1.1-patch2" 232 | }, 233 | "type": "bower-asset-library", 234 | "extra": { 235 | "bower-asset-main": "dist/jquery.js", 236 | "bower-asset-ignore": [ 237 | "**/.*", 238 | "build", 239 | "dist/cdn", 240 | "speed", 241 | "test", 242 | "*.md", 243 | "AUTHORS.txt", 244 | "Gruntfile.js", 245 | "package.json" 246 | ] 247 | }, 248 | "license": [ 249 | "MIT" 250 | ], 251 | "keywords": [ 252 | "javascript", 253 | "jquery", 254 | "library" 255 | ] 256 | }, 257 | { 258 | "name": "bower-asset/jquery-mousewheel", 259 | "version": "3.1.x-dev", 260 | "source": { 261 | "type": "git", 262 | "url": "https://github.com/jquery/jquery-mousewheel.git", 263 | "reference": "c559933f485ae34fed561b042e87abd245858c24" 264 | }, 265 | "dist": { 266 | "type": "zip", 267 | "url": "https://api.github.com/repos/jquery/jquery-mousewheel/zipball/c559933f485ae34fed561b042e87abd245858c24", 268 | "reference": "c559933f485ae34fed561b042e87abd245858c24", 269 | "shasum": "" 270 | }, 271 | "require": { 272 | "bower-asset/jquery": ">=1.2.2" 273 | }, 274 | "type": "bower-asset-library", 275 | "extra": { 276 | "bower-asset-main": "./jquery.mousewheel.js", 277 | "bower-asset-ignore": [ 278 | "*.json", 279 | "*.markdown", 280 | "*.txt", 281 | ".*", 282 | "!LICENSE.txt", 283 | "Gruntfile.js", 284 | "test" 285 | ] 286 | }, 287 | "time": "2014-09-06 14:29:29" 288 | }, 289 | { 290 | "name": "bower-asset/jquery.inputmask", 291 | "version": "3.2.5", 292 | "source": { 293 | "type": "git", 294 | "url": "https://github.com/RobinHerbots/jquery.inputmask.git", 295 | "reference": "d08264a678865849c808359d126e3bddb9ec87a6" 296 | }, 297 | "dist": { 298 | "type": "zip", 299 | "url": "https://api.github.com/repos/RobinHerbots/jquery.inputmask/zipball/d08264a678865849c808359d126e3bddb9ec87a6", 300 | "reference": "d08264a678865849c808359d126e3bddb9ec87a6", 301 | "shasum": "" 302 | }, 303 | "require": { 304 | "bower-asset/jquery": ">=1.7" 305 | }, 306 | "type": "bower-asset-library", 307 | "extra": { 308 | "bower-asset-main": [ 309 | "./dist/inputmask/inputmask.js" 310 | ], 311 | "bower-asset-ignore": [ 312 | "**/*", 313 | "!dist/*", 314 | "!dist/inputmask/*", 315 | "!dist/min/*", 316 | "!dist/min/inputmask/*", 317 | "!extra/bindings/*", 318 | "!extra/dependencyLibs/*", 319 | "!extra/phone-codes/*" 320 | ] 321 | }, 322 | "license": [ 323 | "http://opensource.org/licenses/mit-license.php" 324 | ], 325 | "description": "jquery.inputmask is a jquery plugin which create an input mask.", 326 | "keywords": [ 327 | "form", 328 | "input", 329 | "inputmask", 330 | "jquery", 331 | "mask", 332 | "plugins" 333 | ] 334 | }, 335 | { 336 | "name": "bower-asset/jquery.switcher", 337 | "version": "dev-master", 338 | "source": { 339 | "type": "git", 340 | "url": "https://github.com/djanix/jquery.switcher.git", 341 | "reference": "dceb41468a99a404afebc4601ffed50c8fe70297" 342 | }, 343 | "dist": { 344 | "type": "zip", 345 | "url": "https://api.github.com/repos/djanix/jquery.switcher/zipball/dceb41468a99a404afebc4601ffed50c8fe70297", 346 | "reference": "dceb41468a99a404afebc4601ffed50c8fe70297", 347 | "shasum": "" 348 | }, 349 | "require": { 350 | "bower-asset/jquery": ">=1.6" 351 | }, 352 | "require-dev": { 353 | "bower-asset/grunt": ">=0.4.5,<0.5.0", 354 | "bower-asset/grunt-autoprefixer": ">=0.7.3,<0.8.0", 355 | "bower-asset/grunt-contrib-copy": "~0.5.0", 356 | "bower-asset/grunt-contrib-jshint": ">=0.10.0,<0.11.0", 357 | "bower-asset/grunt-contrib-sass": "~0.7.3", 358 | "bower-asset/grunt-contrib-uglify": ">=0.5.0,<0.6.0", 359 | "bower-asset/grunt-contrib-watch": ">=0.6.1,<0.7.0", 360 | "bower-asset/matchdep": ">=0.3.0,<0.4.0" 361 | }, 362 | "type": "bower-asset-library", 363 | "extra": { 364 | "bower-asset-main": "dist/switcher.js", 365 | "bower-asset-ignore": [ 366 | "*.md", 367 | "node_modules", 368 | ".sass-cache" 369 | ], 370 | "branch-alias": { 371 | "dev-master": "1.2.4-dev" 372 | } 373 | }, 374 | "license": [ 375 | "no" 376 | ], 377 | "description": "Custom checkbox in jquery", 378 | "keywords": [ 379 | "checkbox", 380 | "custom", 381 | "input", 382 | "switch", 383 | "switcher" 384 | ], 385 | "time": "2014-11-04 05:50:52" 386 | }, 387 | { 388 | "name": "bower-asset/microplugin", 389 | "version": "v0.0.3", 390 | "source": { 391 | "type": "git", 392 | "url": "https://github.com/brianreavis/microplugin.js.git", 393 | "reference": "d8671e6cc769938648f8735610534427cdeeaf67" 394 | }, 395 | "dist": { 396 | "type": "zip", 397 | "url": "https://api.github.com/repos/brianreavis/microplugin.js/zipball/d8671e6cc769938648f8735610534427cdeeaf67", 398 | "reference": "d8671e6cc769938648f8735610534427cdeeaf67", 399 | "shasum": "" 400 | }, 401 | "type": "bower-asset-library", 402 | "extra": { 403 | "bower-asset-main": [ 404 | "src/microplugin.js" 405 | ], 406 | "bower-asset-ignore": [ 407 | "Makefile", 408 | "test", 409 | ".travis.yml", 410 | ".npmignore.yml" 411 | ] 412 | }, 413 | "license": [ 414 | "Apache License, Version 2.0" 415 | ], 416 | "description": "A lightweight plugin / dependency system for javascript libraries.", 417 | "keywords": [ 418 | "architecture", 419 | "dependencies", 420 | "extensibility", 421 | "plugins", 422 | "require" 423 | ] 424 | }, 425 | { 426 | "name": "bower-asset/moment", 427 | "version": "dev-master", 428 | "source": { 429 | "type": "git", 430 | "url": "https://github.com/moment/moment.git", 431 | "reference": "f3fbef9d9875bbff340b527dbe3f1c447a942f69" 432 | }, 433 | "dist": { 434 | "type": "zip", 435 | "url": "https://api.github.com/repos/moment/moment/zipball/f3fbef9d9875bbff340b527dbe3f1c447a942f69", 436 | "reference": "f3fbef9d9875bbff340b527dbe3f1c447a942f69", 437 | "shasum": "" 438 | }, 439 | "type": "bower-asset-library", 440 | "extra": { 441 | "bower-asset-main": "moment.js", 442 | "bower-asset-ignore": [ 443 | "**/.*", 444 | "benchmarks", 445 | "bower_components", 446 | "meteor", 447 | "node_modules", 448 | "scripts", 449 | "tasks", 450 | "test", 451 | "component.json", 452 | "composer.json", 453 | "CONTRIBUTING.md", 454 | "ender.js", 455 | "Gruntfile.js", 456 | "Moment.js.nuspec", 457 | "package.js", 458 | "package.json" 459 | ] 460 | }, 461 | "time": "2015-07-28 04:39:50" 462 | }, 463 | { 464 | "name": "bower-asset/punycode", 465 | "version": "v1.3.2", 466 | "source": { 467 | "type": "git", 468 | "url": "https://github.com/bestiejs/punycode.js.git", 469 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" 470 | }, 471 | "dist": { 472 | "type": "zip", 473 | "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", 474 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3", 475 | "shasum": "" 476 | }, 477 | "type": "bower-asset-library", 478 | "extra": { 479 | "bower-asset-main": "punycode.js", 480 | "bower-asset-ignore": [ 481 | "coverage", 482 | "tests", 483 | ".*", 484 | "component.json", 485 | "Gruntfile.js", 486 | "node_modules", 487 | "package.json" 488 | ] 489 | } 490 | }, 491 | { 492 | "name": "bower-asset/selectize", 493 | "version": "v0.12.1", 494 | "source": { 495 | "type": "git", 496 | "url": "https://github.com/brianreavis/selectize.js.git", 497 | "reference": "3dc07d40047cd98de8a8f8beacca06a73970139d" 498 | }, 499 | "dist": { 500 | "type": "zip", 501 | "url": "https://api.github.com/repos/brianreavis/selectize.js/zipball/3dc07d40047cd98de8a8f8beacca06a73970139d", 502 | "reference": "3dc07d40047cd98de8a8f8beacca06a73970139d", 503 | "shasum": "" 504 | }, 505 | "require": { 506 | "bower-asset/jquery": ">=1.7.0", 507 | "bower-asset/microplugin": "dev-0.0.x,|0.0.x", 508 | "bower-asset/sifter": "dev-0.4.x,|0.4.x" 509 | }, 510 | "require-dev": { 511 | "bower-asset/bootstrap-2": "2", 512 | "bower-asset/bootstrap-3.2": "3.2" 513 | }, 514 | "type": "bower-asset-library", 515 | "extra": { 516 | "bower-asset-main": [ 517 | "dist/css/selectize.css", 518 | "dist/js/selectize.js" 519 | ], 520 | "bower-asset-ignore": [ 521 | "Makefile", 522 | "Gruntfile.js", 523 | "examples", 524 | "node_modules", 525 | "bower_components", 526 | "docs", 527 | "src", 528 | "test", 529 | ".travis.yml", 530 | "testem.json", 531 | "selectize.jquery.json", 532 | "*.sh", 533 | "package.json" 534 | ] 535 | }, 536 | "license": [ 537 | "Apache License, Version 2.0" 538 | ], 539 | "description": "Selectize is a jQuery-based custom