From cc24e19cbe43d3f38fad869927fcd47e9ba5bca3 Mon Sep 17 00:00:00 2001 From: Alexander Yakovlev Date: Wed, 5 Oct 2016 10:44:39 +0700 Subject: [PATCH] Group model, composer migrations, indentation fix --- .editorconfig | 18 ++ .gitmodules | 3 - application/bootstrap.php | 2 +- application/classes/Model/Client.php | 26 +- application/classes/Model/Course.php | 18 +- application/classes/Model/Group.php | 51 ++++ application/classes/Model/Instant.php | 20 +- application/classes/Model/Letter.php | 20 +- application/classes/Model/Page.php | 14 +- application/classes/Model/Photo.php | 52 ++-- application/classes/Model/Subscription.php | 20 +- application/classes/Model/Task.php | 14 +- .../20161005095437_subscriber-groups.php | 48 ++++ composer.json | 9 +- composer.lock | 224 +++++++----------- modules/migrations | 1 - 16 files changed, 309 insertions(+), 231 deletions(-) create mode 100644 .editorconfig create mode 100644 application/classes/Model/Group.php create mode 100644 application/migrations/kangana/20161005095437_subscriber-groups.php delete mode 160000 modules/migrations diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..71dd40e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +# This file is for unifying the coding style for different editors and IDEs +# editorconfig.org +root = true + +[*] +end_of_line = lf +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.bat] +end_of_line = crlf + +[*.yml] +indent_style = space +indent_size = 2 diff --git a/.gitmodules b/.gitmodules index 2a655f8..2a913f3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,6 +4,3 @@ [submodule "modules/config-writer"] path = modules/config-writer url = https://github.com/ppx17/kohana-config-file-writer.git -[submodule "modules/migrations"] - path = modules/migrations - url = git@github.com:kohana-minion/tasks-migrations.git diff --git a/application/bootstrap.php b/application/bootstrap.php index 59d716b..4b18232 100644 --- a/application/bootstrap.php +++ b/application/bootstrap.php @@ -74,7 +74,7 @@ $modules = [ 'email' => $vendor_path.'tscms/email',// Electronic mail class 'debug-toolbar' => MODPATH.'debug-toolbar', // Debug toolbar 'config-writer' => MODPATH.'config-writer', // Write to PHP configs - 'migrations' => MODPATH.'migrations', // SQL migrations + 'migrations' => $vendor_path.'zer0pants/kohana-migrations', // SQL migrations 'core' => SYSPATH, // Core system ]; if (Kohana::$environment === Kohana::DEVELOPMENT) diff --git a/application/classes/Model/Client.php b/application/classes/Model/Client.php index c22ff4f..fe38916 100644 --- a/application/classes/Model/Client.php +++ b/application/classes/Model/Client.php @@ -14,26 +14,30 @@ class Model_Client extends ORM { 'subscription' => array( 'model' => 'Subscription', 'through' => 'clients_subscriptions' - ) + ), + 'group' => array( + 'model' => 'Group', + 'through' => 'clients_groups' + ), ); - + /** * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'email' => array( - array('not_empty'), - array('email'), - array('min_length', array(':value', 5)), + array('not_empty'), + array('email'), + array('min_length', array(':value', 5)), ), 'name' => array( - array('not_empty'), - array('min_length', array(':value', 5)), + array('not_empty'), + array('min_length', array(':value', 5)), ), - ); - } + ); + } /** * Array of field labels. diff --git a/application/classes/Model/Course.php b/application/classes/Model/Course.php index 043c494..7c75cf7 100644 --- a/application/classes/Model/Course.php +++ b/application/classes/Model/Course.php @@ -21,16 +21,16 @@ class Model_Course extends ORM { * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'title' => array( - array('not_empty'), - array('min_length', array(':value', 4)), - array('max_length', array(':value', 100)), + array('not_empty'), + array('min_length', array(':value', 4)), + array('max_length', array(':value', 100)), ), 'description' => array( - array('not_empty'), - array('min_length', array(':value', 20)), + array('not_empty'), + array('min_length', array(':value', 20)), ), 'period' => array( array('numeric') @@ -38,8 +38,8 @@ class Model_Course extends ORM { 'price' => array( array('numeric') ) - ); - } + ); + } /** * Array of field labels. diff --git a/application/classes/Model/Group.php b/application/classes/Model/Group.php new file mode 100644 index 0000000..f639990 --- /dev/null +++ b/application/classes/Model/Group.php @@ -0,0 +1,51 @@ + array( + 'model' => 'Client', + 'through' => 'clients_groups' + ), + ); + + /** + * @return array validation rules + **/ + public function rules() + { + return array( + 'title' => array( + array('not_empty'), + array('min_length', array(':value', 4)), + array('max_length', array(':value', 255)), + ), + ); + } + + /** + * Array of field labels. + * Used in forms. + **/ + protected $_labels = array( + 'title' => 'Title', + ); + + public static function count($id) + { + $query = DB::select(array(DB::expr('COUNT(*)'), 'cnt'))->from('clients_groups')->where('group_id', '=', $id); + return $query->execute()->get('cnt'); + } + + /** + * Return client count + **/ + public function count_clients() + { + return self::count($this->id); + } +} diff --git a/application/classes/Model/Instant.php b/application/classes/Model/Instant.php index 19f708e..6d00901 100644 --- a/application/classes/Model/Instant.php +++ b/application/classes/Model/Instant.php @@ -9,23 +9,23 @@ class Model_Instant extends ORM { protected $belongs_to = array( 'subscription' ); - + /** * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'subject' => array( - array('not_empty'), - array('max_length', array(':value', 128)), + array('not_empty'), + array('max_length', array(':value', 128)), ), 'text' => array( - array('not_empty'), - array('min_length', array(':value', 20)), + array('not_empty'), + array('min_length', array(':value', 20)), ), - ); - } + ); + } /** * Array of field labels. @@ -47,7 +47,7 @@ class Model_Instant extends ORM { $this->sent = TRUE; return self::_send($address, $this->text, $this->subject, $token); } - + /** * @param $address string or array of strings - email addresses * @param $text message body diff --git a/application/classes/Model/Letter.php b/application/classes/Model/Letter.php index 8c43b8c..30b66b4 100644 --- a/application/classes/Model/Letter.php +++ b/application/classes/Model/Letter.php @@ -9,26 +9,26 @@ class Model_Letter extends ORM { protected $belongs_to = array( 'course' ); - + /** * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'subject' => array( - array('not_empty'), - array('max_length', array(':value', 128)), + array('not_empty'), + array('max_length', array(':value', 128)), ), 'text' => array( - array('not_empty'), - array('min_length', array(':value', 20)), + array('not_empty'), + array('min_length', array(':value', 20)), ), 'order' => array( array('numeric') ) - ); - } + ); + } /** * Array of field labels. @@ -57,7 +57,7 @@ class Model_Letter extends ORM { { return self::_send($address, $this->text, $this->subject, $this->id, $token); } - + /** * @param $address string or array of strings - email addresses * @param $text message body diff --git a/application/classes/Model/Page.php b/application/classes/Model/Page.php index e62ab26..5467ea3 100644 --- a/application/classes/Model/Page.php +++ b/application/classes/Model/Page.php @@ -5,20 +5,20 @@ class Model_Page extends ORM { * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'name' => array( - array('not_empty'), + array('not_empty'), ), 'content' => array( - array('not_empty'), - array('min_length', array(':value', 4)), + array('not_empty'), + array('min_length', array(':value', 4)), ), 'draft' => array( array('numeric') ) - ); - } + ); + } /** * Array of field labels. diff --git a/application/classes/Model/Photo.php b/application/classes/Model/Photo.php index 6ac836e..0e36d4b 100644 --- a/application/classes/Model/Photo.php +++ b/application/classes/Model/Photo.php @@ -5,10 +5,10 @@ class Model_Photo extends ORM { * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'name' => array( - array('not_empty'), + array('not_empty'), ), 'filename' => array( array('not_empty') @@ -30,23 +30,23 @@ class Model_Photo extends ORM { } /** - * Function that adds suffix _thumb to file name: /home/dhawu.jpeg -> /home/dhawu_thumb.jpeg - * @param integer $width - * thumbnail width (manages the suffix) - * @param integer $height - * thumbnail height (manages the suffix) - * @retval string - */ + * Function that adds suffix _thumb to file name: /home/dhawu.jpeg -> /home/dhawu_thumb.jpeg + * @param integer $width + * thumbnail width (manages the suffix) + * @param integer $height + * thumbnail height (manages the suffix) + * @retval string + */ public function get_thumbnail_path($width = NULL, $height = NULL) { - $image_path = $this->get_image_path(); + $image_path = $this->get_image_path(); return $this->generate_thumbnail($image_path, $width, $height); } public static function generate_thumbnail($image_path, $width = 0, $height = 0) { if ($width == 0) $width = Kohana::$config->load('common.thumbnail_width'); - if ($height == 0) $height = Kohana::$config->load('common.thumbnail_height'); + if ($height == 0) $height = Kohana::$config->load('common.thumbnail_height'); if (!is_file(DOCROOT.$image_path)) { throw new HTTP_Exception_404('File not found'); @@ -55,26 +55,26 @@ class Model_Photo extends ORM { $thumbnail_path = self::generate_thumbnail_path($image_path, $width, $height); - if (!is_file(DOCROOT.$thumbnail_path)) { - $image = Image::factory(DOCROOT.$image_path); - $image->resize($width, $height, Image::WIDTH); - $image->crop($width, $height); - $image->save(DOCROOT.$thumbnail_path, 80); //save thumbnail with quality of 80 - } - return $thumbnail_path; + if (!is_file(DOCROOT.$thumbnail_path)) { + $image = Image::factory(DOCROOT.$image_path); + $image->resize($width, $height, Image::WIDTH); + $image->crop($width, $height); + $image->save(DOCROOT.$thumbnail_path, 80); //save thumbnail with quality of 80 + } + return $thumbnail_path; } public static function generate_thumbnail_path($image_path, $width = 0, $height = 0) { if ($width == 0) $width = Kohana::$config->load('common.thumbnail_width'); - if ($height == 0) $height = Kohana::$config->load('common.thumbnail_height'); + if ($height == 0) $height = Kohana::$config->load('common.thumbnail_height'); $parts = explode('.', $image_path); - $count = count($parts) - 2; - if ($count < 0) $count = 0; - $suffix = 'thumb'; - if ($width) $suffix .= $width; - if ($height) $suffix .= '_' . $height; - $parts[$count] .= '_' . $suffix; + $count = count($parts) - 2; + if ($count < 0) $count = 0; + $suffix = 'thumb'; + if ($width) $suffix .= $width; + if ($height) $suffix .= '_' . $height; + $parts[$count] .= '_' . $suffix; return implode('.', $parts); } diff --git a/application/classes/Model/Subscription.php b/application/classes/Model/Subscription.php index 7c6da57..9834e7c 100644 --- a/application/classes/Model/Subscription.php +++ b/application/classes/Model/Subscription.php @@ -20,25 +20,25 @@ class Model_Subscription extends ORM { * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'title' => array( - array('not_empty'), - array('min_length', array(':value', 4)), - array('max_length', array(':value', 100)), + array('not_empty'), + array('min_length', array(':value', 4)), + array('max_length', array(':value', 100)), ), 'description' => array( - array('not_empty'), - array('min_length', array(':value', 20)), + array('not_empty'), + array('min_length', array(':value', 20)), ), 'welcome' => array( - array('min_length', array(':value', 20)), + array('min_length', array(':value', 20)), ), 'price' => array( array('numeric') ) - ); - } + ); + } /** * Array of field labels. diff --git a/application/classes/Model/Task.php b/application/classes/Model/Task.php index f548043..1e43213 100644 --- a/application/classes/Model/Task.php +++ b/application/classes/Model/Task.php @@ -20,22 +20,22 @@ class Model_Task extends ORM { 'model' => 'Client' ) ); - + /** * @return array validation rules **/ public function rules() - { - return array( + { + return array( 'date' => array( - array('not_empty'), - array('date'), + array('not_empty'), + array('date'), ), 'status' => array( array('numeric') ) - ); - } + ); + } /** * Array of field labels. diff --git a/application/migrations/kangana/20161005095437_subscriber-groups.php b/application/migrations/kangana/20161005095437_subscriber-groups.php new file mode 100644 index 0000000..f6a681e --- /dev/null +++ b/application/migrations/kangana/20161005095437_subscriber-groups.php @@ -0,0 +1,48 @@ +query(NULL, " +CREATE TABLE IF NOT EXISTS `groups` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB;"); + $db->query(NULL, " +CREATE TABLE IF NOT EXISTS `clients_groups` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `client_id` int(11) NOT NULL, + `group_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_clients_groups_1_idx` (`client_id`), + KEY `fk_clients_groups_2_idx` (`group_id`) +) ENGINE=InnoDB;"); + $db->query(NULL, " +ALTER TABLE `clients_groups` + ADD CONSTRAINT `fk_clients_groups_1` FOREIGN KEY (`client_id`) REFERENCES `clients` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `fk_clients_groups_2` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + "); + } + + /** + * Run queries needed to remove this migration + * + * @param Kohana_Database $db Database connection + */ + public function down(Kohana_Database $db) + { + $db->query(NULL, "DROP TABLE `clients_groups`"); + $db->query(NULL, "DROP TABLE `groups`"); + } + +} diff --git a/composer.json b/composer.json index 0d57fef..4e6b06e 100644 --- a/composer.json +++ b/composer.json @@ -17,6 +17,12 @@ "irc": "irc://irc.freenode.net/kohana", "source": "http://github.com/kohana/kohana" }, + "repositories": [ + { + "type": "git", + "url": "https://github.com/zer0pants/kohana-migrations.git" + } + ], "require": { "php": ">=5.4.0", "kohana/core": "3.4.*", @@ -30,7 +36,8 @@ "psr/log": "^1.0", "zombor/kostache": "^4.0", "tscms/email": "dev-3.3/master", - "twbs/bootstrap-sass": "^3.3" + "twbs/bootstrap-sass": "^3.3", + "zer0pants/kohana-migrations": "dev-3.4/develop" }, "require-dev": { "phing/phing": "dev-master", diff --git a/composer.lock b/composer.lock index a7bcdfb..b8074a0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "a202bab921fd378ac0057369986e8e87", - "content-hash": "af95e96dce1b7590ce2b12c4c31db807", + "hash": "370816fa629c0856ac1c68ef503cd333", + "content-hash": "37236e1d636299186f13be656b62c8fa", "packages": [ { "name": "composer/installers", @@ -114,54 +114,6 @@ ], "time": "2016-08-13 20:53:52" }, - { - "name": "fortawesome/font-awesome", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/FortAwesome/Font-Awesome.git", - "reference": "48a7d9db28d450571a0882810d1591a2fadc39c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/48a7d9db28d450571a0882810d1591a2fadc39c6", - "reference": "48a7d9db28d450571a0882810d1591a2fadc39c6", - "shasum": "" - }, - "require-dev": { - "jekyll": "1.0.2", - "lessc": "1.4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.6.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "OFL-1.1", - "MIT" - ], - "authors": [ - { - "name": "Dave Gandy", - "email": "dave@fontawesome.io", - "homepage": "http://twitter.com/davegandy", - "role": "Developer" - } - ], - "description": "The iconic font and CSS framework", - "homepage": "http://fontawesome.io/", - "keywords": [ - "FontAwesome", - "awesome", - "bootstrap", - "font", - "icon" - ], - "time": "2016-09-18 14:27:31" - }, { "name": "kohana/auth", "version": "dev-3.4/develop", @@ -634,59 +586,6 @@ ], "time": "2015-11-26 06:12:04" }, - { - "name": "leafo/scssphp", - "version": "v0.6.6", - "source": { - "type": "git", - "url": "https://github.com/leafo/scssphp.git", - "reference": "6fdfe19d2b13a3f12ba0792227f0718809ce4e4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/leafo/scssphp/zipball/6fdfe19d2b13a3f12ba0792227f0718809ce4e4d", - "reference": "6fdfe19d2b13a3f12ba0792227f0718809ce4e4d", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "kherge/box": "~2.5", - "phpunit/phpunit": "~3.7", - "squizlabs/php_codesniffer": "~2.5" - }, - "bin": [ - "bin/pscss" - ], - "type": "library", - "autoload": { - "psr-4": { - "Leafo\\ScssPhp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Leaf Corcoran", - "email": "leafot@gmail.com", - "homepage": "http://leafo.net" - } - ], - "description": "scssphp is a compiler for SCSS written in PHP.", - "homepage": "http://leafo.github.io/scssphp/", - "keywords": [ - "css", - "less", - "sass", - "scss", - "stylesheet" - ], - "time": "2016-09-11 01:34:11" - }, { "name": "mustache/mustache", "version": "v2.6.1", @@ -937,6 +836,60 @@ ], "time": "2016-07-25 19:58:53" }, + { + "name": "zer0pants/kohana-migrations", + "version": "dev-3.4/develop", + "source": { + "type": "git", + "url": "https://github.com/zer0pants/kohana-migrations.git", + "reference": "420ad1ddb805b824e2c0e9a6624f951ecd075bc8" + }, + "require": { + "kohana/core": ">=3.4", + "kohana/minion": ">=3.4", + "php": ">=5.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-3.3/develop": "3.3.x-dev" + } + }, + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michael Roberts", + "email": "michael@verbate.co", + "role": "developer" + }, + { + "name": "Mitch", + "email": "mitch@verbate.co", + "role": "developer" + }, + { + "name": "Contributors", + "homepage": "https://github.com/kohana-minion/tasks-migrations/graphs/contributors", + "role": "contributor" + } + ], + "description": "Migration tasks for the kohana-minion cli framework", + "homepage": "https://github.com/kohana-minion/tasks-migrations", + "keywords": [ + "database", + "framework", + "kohana", + "migrations", + "tasks" + ], + "support": { + "issues": "https://github.com/kohana-minion/tasks-migrations/issues", + "source": "https://github.com/kohana-minion/tasks-migrations" + }, + "time": "2016-04-04 04:25:55" + }, { "name": "zombor/kostache", "version": "v4.0.3", @@ -1203,12 +1156,12 @@ "source": { "type": "git", "url": "https://github.com/phingofficial/phing.git", - "reference": "026cfeeac2bcc333f6c10e5b24077f022735f1d8" + "reference": "ea5617995882f0e0f90e5ba94dc4d1948c84388a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phingofficial/phing/zipball/026cfeeac2bcc333f6c10e5b24077f022735f1d8", - "reference": "026cfeeac2bcc333f6c10e5b24077f022735f1d8", + "url": "https://api.github.com/repos/phingofficial/phing/zipball/ea5617995882f0e0f90e5ba94dc4d1948c84388a", + "reference": "ea5617995882f0e0f90e5ba94dc4d1948c84388a", "shasum": "" }, "require": { @@ -1288,7 +1241,7 @@ "task", "tool" ], - "time": "2016-10-01 13:08:47" + "time": "2016-10-04 15:20:11" }, { "name": "phpdocumentor/reflection-common", @@ -1567,12 +1520,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", "shasum": "" }, "require": { @@ -1606,7 +1559,7 @@ "filesystem", "iterator" ], - "time": "2015-06-21 13:08:43" + "time": "2016-10-03 07:40:28" }, { "name": "phpunit/php-text-template", @@ -1699,12 +1652,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "cab6c6fefee93d7b7c3a01292a0fe0884ea66644" + "reference": "2ef59c57cd196301eeb88865d25916898dd72872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/cab6c6fefee93d7b7c3a01292a0fe0884ea66644", - "reference": "cab6c6fefee93d7b7c3a01292a0fe0884ea66644", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/2ef59c57cd196301eeb88865d25916898dd72872", + "reference": "2ef59c57cd196301eeb88865d25916898dd72872", "shasum": "" }, "require": { @@ -1740,7 +1693,7 @@ "keywords": [ "tokenizer" ], - "time": "2015-09-23 14:46:55" + "time": "2016-10-03 07:38:46" }, { "name": "phpunit/phpunit", @@ -1748,12 +1701,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d99e588e3cbab28db86f8da22e22c72d8cc38543" + "reference": "7b58ff0d8996b56675a3e05dcd563e0a4f244935" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d99e588e3cbab28db86f8da22e22c72d8cc38543", - "reference": "d99e588e3cbab28db86f8da22e22c72d8cc38543", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b58ff0d8996b56675a3e05dcd563e0a4f244935", + "reference": "7b58ff0d8996b56675a3e05dcd563e0a4f244935", "shasum": "" }, "require": { @@ -1812,7 +1765,7 @@ "testing", "xunit" ], - "time": "2016-09-22 17:37:27" + "time": "2016-10-03 13:00:58" }, { "name": "phpunit/phpunit-mock-objects", @@ -1876,12 +1829,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" + "reference": "21400bd9503c3782f5ee80349117483dcf8cec3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/21400bd9503c3782f5ee80349117483dcf8cec3f", + "reference": "21400bd9503c3782f5ee80349117483dcf8cec3f", "shasum": "" }, "require": { @@ -1932,7 +1885,7 @@ "compare", "equality" ], - "time": "2015-07-26 15:48:44" + "time": "2016-10-03 07:45:42" }, { "name": "sebastian/diff", @@ -1940,12 +1893,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + "reference": "d0814318784b7756fb932116acd19ee3b0cbe67a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/d0814318784b7756fb932116acd19ee3b0cbe67a", + "reference": "d0814318784b7756fb932116acd19ee3b0cbe67a", "shasum": "" }, "require": { @@ -1984,7 +1937,7 @@ "keywords": [ "diff" ], - "time": "2015-12-08 07:14:41" + "time": "2016-10-03 07:45:03" }, { "name": "sebastian/environment", @@ -2042,12 +1995,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + "reference": "7dfcd2418aacbdb5e123fb23ac735acfdd6c588d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7dfcd2418aacbdb5e123fb23ac735acfdd6c588d", + "reference": "7dfcd2418aacbdb5e123fb23ac735acfdd6c588d", "shasum": "" }, "require": { @@ -2101,7 +2054,7 @@ "export", "exporter" ], - "time": "2016-06-17 09:04:28" + "time": "2016-10-03 07:44:30" }, { "name": "sebastian/global-state", @@ -2160,12 +2113,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "7ff5b1b3dcc55b8ab8ae61ef99d4730940856ee7" + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/7ff5b1b3dcc55b8ab8ae61ef99d4730940856ee7", - "reference": "7ff5b1b3dcc55b8ab8ae61ef99d4730940856ee7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", "shasum": "" }, "require": { @@ -2205,7 +2158,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-01-28 05:39:29" + "time": "2016-10-03 07:41:43" }, { "name": "sebastian/version", @@ -2352,6 +2305,7 @@ "minimum-stability": "dev", "stability-flags": { "tscms/email": 20, + "zer0pants/kohana-migrations": 20, "phing/phing": 20 }, "prefer-stable": false, diff --git a/modules/migrations b/modules/migrations deleted file mode 160000 index 5f58475..0000000 --- a/modules/migrations +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5f584751d91f0348e96a989ed2b8d0ed399dbc1f