diff --git a/fuel/app/classes/controller/home.php b/fuel/app/classes/controller/home.php
index ede3230..4dd4ca2 100755
--- a/fuel/app/classes/controller/home.php
+++ b/fuel/app/classes/controller/home.php
@@ -9,7 +9,7 @@ class Controller_Home extends Controller_Security
{
public $template = 'layout/index';
- private $_user;
+ protected $_user;
public function before()
{
diff --git a/fuel/app/classes/controller/movie.php b/fuel/app/classes/controller/movie.php
index 91d8e18..efd37dc 100644
--- a/fuel/app/classes/controller/movie.php
+++ b/fuel/app/classes/controller/movie.php
@@ -65,11 +65,37 @@ class Controller_Movie extends Controller_Home
if (!$movie)
throw new FuelException('No movie found');
+ $user_id = $this->_user->id;
+
+ $user_downloads = Model_User_Download::find(function ($query) use ($user_id) {
+ $startOfDay = date("Y-m-d 00:00:00");
+ $endOfDay = date("Y-m-d 23:59:59");
+ $query->where('user_id', $user_id)
+ ->and_where('date', '>=', strtotime($startOfDay))
+ ->and_where('date', '<=', strtotime($endOfDay))
+ ;
+ });
+
if (Model_Permission::isGranted('RIGHT_DOWNLOAD_DISABLED', $movie->getLibrary()))
throw new FuelException('You dont have the permission to download in this library!');
+ if (Model_Permission::isGranted('RIGHT_MAX_DOWNLOAD', $movie->getLibrary(), count($user_downloads)))
+ throw new FuelException('You reach the limit of download in this library today!');
+
$url = $movie->getDownloadLink();
+ $download = Model_User_Download::forge(array(
+ 'user_id' => $this->_user->id,
+ 'movie_id' => $movie_id,
+ 'date' => time()
+ ));
+
+ if(!$download->validates()) {
+ throw new FuelException($download->validation()->show_errors());
+ }
+
+ $download->save();
+
$filename = '';
$size = 0;
@@ -98,9 +124,9 @@ class Controller_Movie extends Controller_Home
header('Content-Length: '.$size);
// @TODO: add it to admin panel and permission
- $speed = 2000;
+ $speed = 5000;
- File::readChunked($url, $speed);
+ File::readChunked($url, $speed, 2048);
exit(200);
} catch (Exception $exception) {
@@ -113,6 +139,7 @@ class Controller_Movie extends Controller_Home
$movie_id = $this->param('movie_id');
$transcode = $this->param('transcode');
$session = $this->param('session');
+ $index = $this->param('index');
$base = $this->param('base');
$extension = Input::extension();
@@ -133,7 +160,7 @@ class Controller_Movie extends Controller_Home
$url .= 'video/:/';
$url .= 'transcode/' . $transcode . '/';
$url .= 'session/' . $session . '/';
- $url .= 'base/' . $base . '.' . $extension;
+ $url .= $index . '/' . $base . '.' . $extension;
readfile($url);
exit;
diff --git a/fuel/app/classes/controller/rest/install.php b/fuel/app/classes/controller/rest/install.php
index ed5cc3b..c16f612 100755
--- a/fuel/app/classes/controller/rest/install.php
+++ b/fuel/app/classes/controller/rest/install.php
@@ -2,13 +2,12 @@
use Fuel\Core\Config;
use Fuel\Core\Controller_Rest;
-use Fuel\Core\DB;
use Fuel\Core\DBUtil;
use Fuel\Core\FuelException;
use Fuel\Core\Input;
+use Fuel\Core\Migrate;
use Fuel\Core\Request;
use Fuel\Core\Str;
-use function PHPSTORM_META\type;
class Controller_Rest_Install extends Controller_Rest
{
@@ -84,421 +83,10 @@ class Controller_Rest_Install extends Controller_Rest
Config::load('db', true);
- $logs = '';
-
try {
- /**
- * CREATE TABLE USER
- */
- DBUtil::create_table(
- 'user',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'username' => array('constraint' => 255, 'type' => 'varchar'),
- 'email' => array('constraint' => 255, 'type' => 'varchar'),
- 'password' => array('constraint' => 255, 'type' => 'varchar'),
- 'admin' => array('constraint' => 1, 'type' => 'int', 'default' => 0),
- 'lastlogin' => array('constraint' => 11, 'type' => 'int'),
- 'parent_id' => array('constraint' => 36, 'type' => 'varchar', 'default' => null, 'null' => true),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
-
- $logs .= 'Table user created!'."\r\n";
-
- /**
- * CREATE TABLE SERVER
- */
- DBUtil::create_table(
- 'server',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'user_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'https' => array('constraint' => 1, 'type' => 'int'),
- 'url' => array('constraint' => 255, 'type' => 'varchar'),
- 'port' => array('constraint' => 2, 'type' => 'int', 'null' => true),
- 'token' => array('constraint' => 255, 'type' => 'varchar'),
- 'lastcheck' => array('constraint' => 11, 'type' => 'int'),
- 'name' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'plateforme' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'platformVersion' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'updatedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'version' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'online' => array('constraint' => 1, 'type' => 'int', 'default' => 0),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Server table created!'."\r\n";
-
- /**
- * CREATE TABLE LIBRARY
- */
- DBUtil::create_table(
- 'library',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'server_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'plex_key' => array('constraint' => 11, 'type' => 'int'),
- 'name' => array('constraint' => 255, 'type' => 'varchar'),
- 'type' => array('constraint' => 255, 'type' => 'varchar'),
- 'updatedAt' => array('constraint' => 11, 'type' => 'int'),
- 'createdAt' => array('constraint' => 11, 'type' => 'int'),
- 'scannedAt' => array('constraint' => 11, 'type' => 'int'),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Library table created!'."\r\n";
-
- /**
- * CREATE TABLE LIBRARY
- */
- DBUtil::create_table(
- 'tvshow',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'library_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'plex_key' => array('constraint' => 255, 'type' => 'varchar'),
- 'studio' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'title' => array('constraint' => 255, 'type' => 'varchar'),
- 'contentRating' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'summary' => array('type' => 'text', 'null' => true),
- 'rating' => array('constraint' => 4, 'type' => 'varchar', 'null' => true),
- 'year' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'thumb' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'art' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'banner' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'theme' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'originallyAvailableAt' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'leafCount' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'addedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'updatedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Library table created!'."\r\n";
-
- /**
- * CREATE TABLE SEASON
- */
- DBUtil::create_table(
- 'season',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'tv_show_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'plex_key' => array('constraint' => 36, 'type' => 'varchar'),
- 'number' => array('constraint' => 11, 'type' => 'int'),
- 'title' => array('constraint' => 255, 'type' => 'varchar'),
- 'thumb' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'art' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'leafCount' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'addedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'updatedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Season table created!'."\r\n";
-
- /**
- * CREATE TABLE SEASON
- */
- DBUtil::create_table(
- 'movie',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'library_id' => array('constraint' => 36, 'type' => 'varchar', 'null' => true),
- 'season_id' => array('constraint' => 36, 'type' => 'varchar', 'null' => true),
- 'plex_key' => array('constraint' => 36, 'type' => 'varchar'),
- 'type' => array('constraint' => 20, 'type' => 'varchar'),
- 'number' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'studio' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'title' => array('constraint' => 255, 'type' => 'varchar'),
- 'originalTitle' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'summary' => array('type' => 'text', 'null' => true),
- 'rating' => array('constraint' => 4, 'type' => 'varchar', 'null' => true),
- 'year' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'thumb' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'art' => array('constraint' => 255, 'type' => 'varchar', 'null' => true),
- 'duration' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'originallyAvailableAt' => array('constraint' => 11, 'type' => 'varchar', 'null' => true),
- 'addedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'updatedAt' => array('constraint' => 11, 'type' => 'int', 'null' => true),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- DBUtil::create_index('movie', 'title', 'searchTitle', 'fulltext');
- $logs .= 'Movie table created!'."\r\n";
-
- /**
- * CREATE TABLE CONFIGURATION
- */
- DBUtil::create_table(
- 'configurations',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'name' => array('constraint' => 255, 'type' => 'varchar'),
- 'data' => array('constraint' => 255, 'type' => 'varchar')
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Configuration table created!'."\r\n";
-
- /**
- * CREATE TABLE PERMISSION
- */
- DBUtil::create_table(
- 'permission',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'name' => array('constraint' => 255, 'type' => 'varchar'),
- 'parameters' => array('constraint' => 1, 'type' => 'int', 'default' => 0),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Permission table created!'."\r\n";
-
- /**
- * CREATE TABLE USER'S PERMISSION
- */
- DBUtil::create_table(
- 'library_permission',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'permission_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'library_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'value' => array('constraint' => 36, 'type' => 'varchar', 'null' => true),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'Libraries Permission table created!'."\r\n";
-
- /**
- * CREATE TABLE USER'S PERMISSION
- */
- DBUtil::create_table(
- 'user_permission',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'permission_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'user_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'library_id' => array('constraint' => 36, 'type' => 'varchar', 'null' => true),
- 'value' => array('constraint' => 36, 'type' => 'varchar'),
- 'disable' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'User Permission table created!'."\r\n";
-
- /**
- * CREATE TABLE USER'S WATCHING
- */
- DBUtil::create_table(
- 'user_history',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'user_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'movie_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'watching_time' => array('constraint' => 11, 'type' => 'int'),
- 'ended_time' => array('constraint' => 11, 'type' => 'int', 'default' => 0),
- 'is_ended' => array('constraint' => 1, 'type' => 'int', 'default' => 0)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'User Watching table create!'."\r\n";
-
- $logs .= 'Creation table user settings'."\r\n";
- /**
- * CREATE TABLE USER'S SETTINGS
- */
- DBUtil::create_table(
- 'user_settings',
- array(
- 'id' => array('constraint' => 36, 'type' => 'varchar'),
- 'user_id' => array('constraint' => 36, 'type' => 'varchar'),
- 'language' => array('constraint' => 36, 'type' => 'varchar', 'default' => 'english'),
- 'trailer_type' => array('constraint' => 36, 'type' => 'varchar', 'default' => 'Upcoming'),
- 'trailer' => array('constraint' => 11, 'type' => 'int', 'default' => 0),
- 'subtitle' => array('constraint' => 11, 'type' => 'int', 'default' => 100),
- 'maxdownloadspeed' => array('constraint' => 11, 'type' => 'int', 'default' => -1)
- ),
- array('id'), false, 'InnoDB', 'utf8_unicode_ci'
- );
- $logs .= 'User Setting table created!'."\r\n";
-
- /**
- * FOREIGN KEY
- */
- DBUtil::add_foreign_key('tvshow', array(
- 'constraint' => 'constraintTvShowLibrary',
- 'key' => 'library_id',
- 'reference' => array(
- 'table' => 'library',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('season', array(
- 'constraint' => 'constraintSeasonTvShow',
- 'key' => 'tv_show_id',
- 'reference' => array(
- 'table' => 'tvshow',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('movie', array(
- 'constraint' => 'constraintMovieLibrary',
- 'key' => 'library_id',
- 'reference' => array(
- 'table' => 'library',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('movie', array(
- 'constraint' => 'constraintMovieSeason',
- 'key' => 'season_id',
- 'reference' => array(
- 'table' => 'season',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('library_permission', array(
- 'constraint' => 'constraintPermissionLibrariesPermission',
- 'key' => 'permission_id',
- 'reference' => array(
- 'table' => 'permission',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('library_permission', array(
- 'constraint' => 'constraintLibraryLibrariesPermission',
- 'key' => 'library_id',
- 'reference' => array(
- 'table' => 'library',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user_permission', array(
- 'constraint' => 'constraintPermissionUserPermission',
- 'key' => 'permission_id',
- 'reference' => array(
- 'table' => 'permission',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user_permission', array(
- 'constraint' => 'constraintUserUserPermission',
- 'key' => 'user_id',
- 'reference' => array(
- 'table' => 'user',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user_permission', array(
- 'constraint' => 'constraintLibraryUserPermission',
- 'key' => 'library_id',
- 'reference' => array(
- 'table' => 'library',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user_history', array(
- 'constraint' => 'constraintUserUserHistory',
- 'key' => 'user_id',
- 'reference' => array(
- 'table' => 'user',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user_history', array(
- 'constraint' => 'constraintMovieHistory',
- 'key' => 'movie_id',
- 'reference' => array(
- 'table' => 'movie',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user_settings', array(
- 'constraint' => 'constraintUserUserSetting',
- 'key' => 'user_id',
- 'reference' => array(
- 'table' => 'user',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('library', array(
- 'constraint' => 'constraintServerLibrary',
- 'key' => 'server_id',
- 'reference' => array(
- 'table' => 'server',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('server', array(
- 'constraint' => 'constraintServerUser',
- 'key' => 'user_id',
- 'reference' => array(
- 'table' => 'user',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
- DBUtil::add_foreign_key('user', array(
- 'constraint' => 'constraintUserUser',
- 'key' => 'parent_id',
- 'reference' => array(
- 'table' => 'user',
- 'column' => 'id',
- ),
- 'on_update' => 'NO ACTION',
- 'on_delete' => 'NO ACTION',
- ));
-
- $logs .= 'Foreign key created!'."\r\n";
-
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_WATCH_DISABLED'])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_DOWNLOAD_DISABLED'])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_WATCH', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_QUALITY', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_CONCURRENT_STREAM', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_DOWNLOAD', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_DOWNLOAD_SPEED', 'parameters' => 1])->execute();
-
- $logs .= 'Permission created!'."\r\n";
+ $migration = Migrate::current();
- $logs .= 'All Tables and Foreign Key successfully!'."\r\n";
+ $logs = 'All Tables and Foreign Key are successfully install!'."\r\n";
return $this->response(['error' => false, 'message' => $logs]);
} catch (FuelException $e) {
diff --git a/fuel/app/classes/controller/rest/search.php b/fuel/app/classes/controller/rest/search.php
index d68c553..bcdd530 100644
--- a/fuel/app/classes/controller/rest/search.php
+++ b/fuel/app/classes/controller/rest/search.php
@@ -11,7 +11,12 @@ class Controller_Rest_Search extends Controller_Rest
{
$search = '%'.Input::get('search').'%';
- $query = DB::query('SELECT * FROM '.DB::table_prefix('movie').' WHERE '.DB::table_prefix('movie').'.type = :type AND ('.DB::table_prefix('movie').'.`title` LIKE :search OR MATCH('.DB::table_prefix('movie').'.`title`) AGAINST(:search)) ORDER BY MATCH('.DB::table_prefix('movie').'.`title`) AGAINST(:search) DESC LIMIT 5');
+ $query = DB::query('SELECT * FROM '.DB::table_prefix('movie').
+ ' WHERE '.DB::table_prefix('movie').'.type = :type
+ AND ('.DB::table_prefix('movie').'.`title` LIKE :search
+ OR MATCH('.DB::table_prefix('movie').'.`title`) AGAINST(:search))
+ ORDER BY MATCH('.DB::table_prefix('movie').'.`title`)
+ AGAINST(:search) DESC LIMIT 5');
$query->bind('search', $search);
diff --git a/fuel/app/classes/controller/settings.php b/fuel/app/classes/controller/settings.php
index 7badfc6..c09786d 100644
--- a/fuel/app/classes/controller/settings.php
+++ b/fuel/app/classes/controller/settings.php
@@ -3,7 +3,8 @@
use Fuel\Core\Config;
use Fuel\Core\Input;
use Fuel\Core\Lang;
-use Fuel\Core\Response;
+ use Fuel\Core\Migrate;
+ use Fuel\Core\Response;
use Fuel\Core\Session;
use Fuel\Core\View;
diff --git a/fuel/app/classes/model/movie.php b/fuel/app/classes/model/movie.php
index 3324ac5..5a02ac4 100644
--- a/fuel/app/classes/model/movie.php
+++ b/fuel/app/classes/model/movie.php
@@ -307,24 +307,25 @@ class Model_Movie extends Model_Overwrite
$request = $this->_server->https === '1' ? 'https' : 'http';
$request .= '://' . $this->_server->url . ($this->_server->port ? ':' . $this->_server->port : '');
- //$request .= '/video/:/transcode/universal/decision?hasMDE=1'; // DASH
+ //$request .= '/video/:/transcode/universal/start.mpd?hasMDE=1'; // DASH
$request .= '/video/:/transcode/universal/start.m3u8'; // HLS
$request .= '?identifier=[PlexShare_V0.0.1]';
$request .= '&path=http%3A%2F%2F127.0.0.1%3A32400' . urlencode($this->plex_key);
$request .= '&mediaIndex=0';
$request .= '&partIndex=0';
+ //$request .= '&protocol=dash';
$request .= '&protocol=hls';
$request .= '&offset=0';
$request .= '&fastSeek=1';
- $request .= '&directStream=0';
- $request .= '&directPlay=1';
+ $request .= '&directStream=1';
+ $request .= '&directPlay=0';
$request .= '&videoQuality=100';
$request .= '&maxVideoBitrate=' . $maxVideoBitrate;
$request .= '&subtitleSize=' . $subtitleSize;
$request .= '&audioBoost=100';
$request .= '&videoResolution=1920x1080';
$request .= '&Accept-Language=' . $language;
- $request .= '&X-Plex-Platform=Firefox';
+ $request .= '&X-Plex-Platform=Chrome';
$request .= '&X-Plex-Token=' . $this->_server->token;
$curl = Request::forge($request, 'curl');
@@ -357,9 +358,9 @@ class Model_Movie extends Model_Overwrite
//return ($this->_server->https === '1' ? 'https' : 'http') . '://' . $this->_server->url . ($this->_server->port ? ':' . $this->_server->port : '') . '/video/:/transcode/universal/session/' . $this->_session . '/base/index.m3u8';
} catch (Exception $exception) {
if($exception->getCode() === 403)
- throw new FuelException('Cannot connect to the server.
The token must be outdated!',$exception->getCode());
+ throw new FuelException('Cannot connect to the server.
The token must be outdated!', 200);
else
- throw new FuelException($exception->getMessage(),$exception->getCode());
+ throw new FuelException($exception->getMessage(), 200);
}
}
diff --git a/fuel/app/classes/model/permission.php b/fuel/app/classes/model/permission.php
index 3d61159..7adc4cf 100644
--- a/fuel/app/classes/model/permission.php
+++ b/fuel/app/classes/model/permission.php
@@ -6,6 +6,7 @@ class Model_Permission extends Model_Overwrite
{
/**
* RIGHT_WATCH_DISABLED
+ * RIGHT_TRAILER_DISABLED
* RIGHT_DOWNLOAD_DISABLED
* RIGHT_MAX_DOWNLOAD
* RIGHT_MAX_DOWNLOAD_SPEED
@@ -25,9 +26,9 @@ class Model_Permission extends Model_Overwrite
/**
* @param string $permission
* @param Model_Movie $movie
- * @return bool|int
+ * @return bool|int FALSE allow to download & TRUE block to download
*/
- public static function isGranted($permission, Model_Library $library = null, $data = null)
+ public static function isGranted($permission, Model_Library $library, $data = null)
{
$user = Session::get('user');
@@ -59,13 +60,25 @@ class Model_Permission extends Model_Overwrite
return true;
}
+ if ($permission->name === 'RIGHT_TRAILER_DISABLED') {
+ if($library_permission === null)
+ return false;
+ else
+ return true;
+ }
+
if ($permission->name === 'RIGHT_MAX_DOWNLOAD') {
- /** @TODO IF (NUMBER_DOWNLOAD <= MAX_DOWNLOAD) // in last 24h
- * RETURN TRUE
- * ELSE
+ /** @TODO IF (MAX_DOWNLOAD > NUMBER_DOWNLOAD) // in last 24h
* RETURN FALSE
+ * ELSE
+ * RETURN TRUE
*/
- return true;
+ if($library_permission === NULL)
+ return false;
+ else if((int)$library_permission->value > $data)
+ return false;
+ else
+ return true;
}
if ($permission->name === 'RIGHT_MAX_DOWNLOAD_SPEED') {
diff --git a/fuel/app/classes/model/plex.php b/fuel/app/classes/model/plex.php
deleted file mode 100644
index 8ea4ab3..0000000
--- a/fuel/app/classes/model/plex.php
+++ /dev/null
@@ -1,8 +0,0 @@
-select('movie.*', DB::expr('COUNT(' . DB::table_prefix('movie') . '.type) AS count'))
- ->join('season', 'LEFT')
- ->on('movie.season_id', '=', 'season.id')
- ->join('tvshow', 'LEFT')
- ->on('season.tv_show_id', '=', 'tvshow.id')
- ->join('library', 'LEFT')
- ->on('tvshow.library_id', '=', 'library.id')
- ->join('server', 'LEFT')
- ->on('library.server_id', '=', 'server.id')
- ->where('server.id', $server->id)
- ->and_where('server.online', 1)
- ->and_where('server.disable', 0)
- ->and_where('library.disable', 0)
- ->and_where('tvshow.disable', 0)
- ->and_where('season.disable', 0)
- ->and_where('movie.disable', 0)
- ->and_where('movie.type', 'episode')
- ->order_by('movie.addedAt', 'DESC')
- ->order_by(DB::expr('MAX(' . DB::table_prefix('movie') .'.addedAt)'), 'DESC ')//'movie.addedAt', 'DESC')
- ->group_by('movie.season_id')
- ->limit(30)
- ;
- });*/
}
public function getThirtyLastedMovies()
diff --git a/fuel/app/classes/model/user.php b/fuel/app/classes/model/user.php
index 304b102..7dd516d 100755
--- a/fuel/app/classes/model/user.php
+++ b/fuel/app/classes/model/user.php
@@ -36,7 +36,7 @@ class Model_User extends Model_Overwrite
public static function Login($login, $password)
{
- $result = self::find_by(function ($query) use ($login,$password){
+ $result = self::find_one_by(function ($query) use ($login,$password){
return $query
->where('password', $password)
->and_where('parent_id', null)
@@ -48,7 +48,7 @@ class Model_User extends Model_Overwrite
});
if($result !== null)
- return $result[0];
+ return $result;
else
return false;
}
diff --git a/fuel/app/classes/model/user/download.php b/fuel/app/classes/model/user/download.php
new file mode 100644
index 0000000..82b248b
--- /dev/null
+++ b/fuel/app/classes/model/user/download.php
@@ -0,0 +1,14 @@
+
+ array(
+ 'app' =>
+ array(
+ 'default' =>
+ array(
+ 0 => '001_create_configurations',
+ 1 => '002_create_library',
+ 2 => '003_create_library_permission',
+ 3 => '004_create_movie',
+ 4 => '005_create_permission',
+ 5 => '006_create_season',
+ 6 => '007_create_server',
+ 7 => '008_create_tvshow',
+ 8 => '009_create_user',
+ 9 => '010_create_user_history',
+ 10 => '011_create_user_permission',
+ 11 => '012_create_user_settings',
+ 12 => '013_create_user_download',
+ ),
+ ),
+ 'module' =>
+ array(
+ ),
+ 'package' =>
+ array(
+ ),
+ ),
+ 'folder' => 'migrations/',
+ 'table' => 'migration',
+ 'flush_cache' => false,
+);
diff --git a/fuel/app/config/routes.php b/fuel/app/config/routes.php
index ace2e67..448248e 100755
--- a/fuel/app/config/routes.php
+++ b/fuel/app/config/routes.php
@@ -9,7 +9,7 @@ return array(
'season/:season_id' => 'season/index',
'episode/:movie_id/download' => 'movie/download',
'episode/:episode_id' => 'episode/index',
- 'movie/:movie_id/video/\:/transcode/:transcode/session/:session/base/:base' => 'movie/stream',
+ 'movie/:movie_id/video/\:/transcode/:transcode/session/:session/:index/:base' => 'movie/stream',
'movie/:movie_id/download' => 'movie/download',
'movie/:movie_id' => 'movie/index',
'movie/list' => 'movie/list',
diff --git a/fuel/app/lang/en/home.php b/fuel/app/lang/en/home.php
index 9284439..56d3245 100644
--- a/fuel/app/lang/en/home.php
+++ b/fuel/app/lang/en/home.php
@@ -1,7 +1,10 @@
[
- 'tv_shows' => 'Recently added TV Show',
- 'movies' => 'Recently added Movies'
- ]
+ 'all_libraries' => 'All libraries',
+ 'continue_to_watch' => 'Continue to watch',
+ 'discover' => 'Discover',
+ 'recently' => [
+ 'tv_shows' => 'Recently added TV Show',
+ 'movies' => 'Recently added Movies'
+ ]
];
\ No newline at end of file
diff --git a/fuel/app/lang/en/permissions.php b/fuel/app/lang/en/permissions.php
index 9e41d4c..ba8d806 100644
--- a/fuel/app/lang/en/permissions.php
+++ b/fuel/app/lang/en/permissions.php
@@ -1,6 +1,8 @@
'Block Watch',
'RIGHT_WATCH_DISABLED_DESCRIPTION' => 'Block user to watch movie/tv show.',
+ 'RIGHT_TRAILER_DISABLED' => 'Block Trailer',
+ 'RIGHT_TRAILER_DISABLED_DESCRIPTION' => 'Block user to watch trailer of the movie.',
'RIGHT_MAX_WATCH' => 'Max watch in 24H',
'RIGHT_MAX_WATCH_DESCRIPTION' => 'Maximum number to watch movie/tv show in 24H by user.',
'RIGHT_MAX_QUALITY' => 'Stream Quality',
@@ -9,6 +11,8 @@
'RIGHT_MAX_CONCURRENT_STREAM_DESCRIPTION' => 'Number of concurrent stream allowed by user.',
'RIGHT_DOWNLOAD_DISABLED' => 'Block Download',
'RIGHT_DOWNLOAD_DISABLED_DESCRIPTION' => 'Remove the permission to a user to download movie/tv show.',
+ 'RIGHT_MAX_DOWNLOAD_SPEED' => 'Download speed',
+ 'RIGHT_MAX_DOWNLOAD_SPEED_DESCRIPTION' => 'You can put a limit of speed download to reduce the overload of the server',
'RIGHT_MAX_DOWNLOAD' => 'Max Download',
'RIGHT_MAX_DOWNLOAD_DESCRIPTION' => 'The maximum number of download allow to a user in 24H.',
];
\ No newline at end of file
diff --git a/fuel/app/logs/index.html b/fuel/app/logs/index.html
deleted file mode 100644
index 8b13789..0000000
--- a/fuel/app/logs/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/fuel/app/migrations/002_create_library.php b/fuel/app/migrations/002_create_library.php
index ebd384b..3a0fbf5 100644
--- a/fuel/app/migrations/002_create_library.php
+++ b/fuel/app/migrations/002_create_library.php
@@ -18,12 +18,12 @@ class Create_library
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintServerLibrary ON library(`server_id`)')->execute();
+ \DB::query('CREATE INDEX constraintServerLibrary ON ' . \DB::table_prefix('library') . '(`server_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintServerLibrary ON library')->execute();
+ \DB::query('DROP INDEX constraintServerLibrary ON ' . \DB::table_prefix('library'))->execute();
\DBUtil::drop_table('library');
}
diff --git a/fuel/app/migrations/003_create_library_permission.php b/fuel/app/migrations/003_create_library_permission.php
index c7ab039..9d90979 100644
--- a/fuel/app/migrations/003_create_library_permission.php
+++ b/fuel/app/migrations/003_create_library_permission.php
@@ -14,14 +14,14 @@ class Create_library_permission
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintPermissionLibrariesPermission ON library_permission(`permission_id`)')->execute();
- \DB::query('CREATE INDEX constraintLibraryLibrariesPermission ON library_permission(`library_id`)')->execute();
+ \DB::query('CREATE INDEX constraintPermissionLibrariesPermission ON ' . \DB::table_prefix('library_permission') . '(`permission_id`)')->execute();
+ \DB::query('CREATE INDEX constraintLibraryLibrariesPermission ON ' . \DB::table_prefix('library_permission') . '(`library_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintPermissionLibrariesPermission ON library_permission')->execute();
- \DB::query('DROP INDEX constraintLibraryLibrariesPermission ON library_permission')->execute();
+ \DB::query('DROP INDEX constraintPermissionLibrariesPermission ON ' . \DB::table_prefix('library_permission'))->execute();
+ \DB::query('DROP INDEX constraintLibraryLibrariesPermission ON ' . \DB::table_prefix('library_permission'))->execute();
\DBUtil::drop_table('library_permission');
}
diff --git a/fuel/app/migrations/004_create_movie.php b/fuel/app/migrations/004_create_movie.php
index 2ab6823..9bab534 100644
--- a/fuel/app/migrations/004_create_movie.php
+++ b/fuel/app/migrations/004_create_movie.php
@@ -28,16 +28,16 @@ class Create_movie
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintMovieLibrary ON movie(`library_id`)')->execute();
- \DB::query('CREATE INDEX constraintMovieSeason ON movie(`season_id`)')->execute();
- \DB::query('CREATE INDEX searchTitle ON movie(`title` DESC)')->execute();
+ \DB::query('CREATE INDEX constraintMovieLibrary ON ' . \DB::table_prefix('movie') . '(`library_id`)')->execute();
+ \DB::query('CREATE INDEX constraintMovieSeason ON ' . \DB::table_prefix('movie') . '(`season_id`)')->execute();
+ \DB::query('CREATE INDEX searchTitle ON ' . \DB::table_prefix('movie') . '(`title` DESC)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintMovieLibrary ON movie')->execute();
- \DB::query('DROP INDEX constraintMovieSeason ON movie')->execute();
- \DB::query('DROP INDEX searchTitle ON movie')->execute();
+ \DB::query('DROP INDEX constraintMovieLibrary ON ' . \DB::table_prefix('movie'))->execute();
+ \DB::query('DROP INDEX constraintMovieSeason ON ' . \DB::table_prefix('movie'))->execute();
+ \DB::query('DROP INDEX searchTitle ON ' . \DB::table_prefix('movie'))->execute();
\DBUtil::drop_table('movie');
}
diff --git a/fuel/app/migrations/005_create_permission.php b/fuel/app/migrations/005_create_permission.php
index 9943f20..c2359ca 100644
--- a/fuel/app/migrations/005_create_permission.php
+++ b/fuel/app/migrations/005_create_permission.php
@@ -13,14 +13,14 @@ class Create_permission
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_WATCH_DISABLED'])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_DOWNLOAD_DISABLED'])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_TRAILER_DISABLED'])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_WATCH', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_QUALITY', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_CONCURRENT_STREAM', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_DOWNLOAD', 'parameters' => 1])->execute();
- DB::insert('permission')->set(['id' => Str::random('uuid'), 'name' => 'RIGHT_MAX_DOWNLOAD_SPEED', 'parameters' => 1])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_WATCH_DISABLED'])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_DOWNLOAD_DISABLED'])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_TRAILER_DISABLED'])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_MAX_WATCH', 'parameters' => 1])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_MAX_QUALITY', 'parameters' => 1])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_MAX_CONCURRENT_STREAM', 'parameters' => 1])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_MAX_DOWNLOAD', 'parameters' => 1])->execute();
+ \DB::insert('permission')->set(['id' => \Str::random('uuid'), 'name' => 'RIGHT_MAX_DOWNLOAD_SPEED', 'parameters' => 1])->execute();
}
public function down()
diff --git a/fuel/app/migrations/006_create_season.php b/fuel/app/migrations/006_create_season.php
index 0f48f19..f6dc200 100644
--- a/fuel/app/migrations/006_create_season.php
+++ b/fuel/app/migrations/006_create_season.php
@@ -20,12 +20,12 @@ class Create_season
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintSeasonTvShow ON season(`tv_show_id`)')->execute();
+ \DB::query('CREATE INDEX constraintSeasonTvShow ON ' . \DB::table_prefix('season') . '(`tv_show_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintSeasonTvShow ON season')->execute();
+ \DB::query('DROP INDEX constraintSeasonTvShow ON ' . \DB::table_prefix('season'))->execute();
\DBUtil::drop_table('season');
}
diff --git a/fuel/app/migrations/007_create_server.php b/fuel/app/migrations/007_create_server.php
index c8466bd..c837764 100644
--- a/fuel/app/migrations/007_create_server.php
+++ b/fuel/app/migrations/007_create_server.php
@@ -23,12 +23,12 @@ class Create_server
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintServerUser ON server(`user_id`)')->execute();
+ \DB::query('CREATE INDEX constraintServerUser ON ' . \DB::table_prefix('server') . '(`user_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintServerUser ON server')->execute();
+ \DB::query('DROP INDEX constraintServerUser ON ' . \DB::table_prefix('server'))->execute();
\DBUtil::drop_table('server');
}
diff --git a/fuel/app/migrations/008_create_tvshow.php b/fuel/app/migrations/008_create_tvshow.php
index 0080914..16b31a2 100644
--- a/fuel/app/migrations/008_create_tvshow.php
+++ b/fuel/app/migrations/008_create_tvshow.php
@@ -27,12 +27,12 @@ class Create_tvshow
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintTvShowLibrary ON tvshow(`library_id`)')->execute();
+ \DB::query('CREATE INDEX constraintTvShowLibrary ON ' . \DB::table_prefix('tvshow') . '(`library_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintTvShowLibrary ON tvshow')->execute();
+ \DB::query('DROP INDEX constraintTvShowLibrary ON ' . \DB::table_prefix('tvshow'))->execute();
\DBUtil::drop_table('tvshow');
}
diff --git a/fuel/app/migrations/009_create_user.php b/fuel/app/migrations/009_create_user.php
index f31b51a..c945279 100644
--- a/fuel/app/migrations/009_create_user.php
+++ b/fuel/app/migrations/009_create_user.php
@@ -17,12 +17,12 @@ class Create_user
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintUserUser ON user(`parent_id`)')->execute();
+ \DB::query('CREATE INDEX constraintUserUser ON ' . \DB::table_prefix('user') . '(`parent_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintUserUser ON user')->execute();
+ \DB::query('DROP INDEX constraintUserUser ON ' . \DB::table_prefix('season'))->execute();
\DBUtil::drop_table('user');
}
diff --git a/fuel/app/migrations/010_create_user_history.php b/fuel/app/migrations/010_create_user_history.php
index 450da8b..8af598b 100644
--- a/fuel/app/migrations/010_create_user_history.php
+++ b/fuel/app/migrations/010_create_user_history.php
@@ -15,14 +15,14 @@ class Create_user_history
'is_ended' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintUserUserHistory ON user_history(`user_id`)')->execute();
- \DB::query('CREATE INDEX constraintMovieHistory ON user_history(`movie_id`)')->execute();
+ \DB::query('CREATE INDEX constraintUserUserHistory ON ' . \DB::table_prefix('user_history') . '(`user_id`)')->execute();
+ \DB::query('CREATE INDEX constraintMovieHistory ON ' . \DB::table_prefix('user_history') . '(`movie_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintUserUserHistory ON user_history')->execute();
- \DB::query('DROP INDEX constraintMovieHistory ON user_history')->execute();
+ \DB::query('DROP INDEX constraintUserUserHistory ON ' . \DB::table_prefix('user_history'))->execute();
+ \DB::query('DROP INDEX constraintMovieHistory ON ' . \DB::table_prefix('user_history'))->execute();
\DBUtil::drop_table('user_history');
}
diff --git a/fuel/app/migrations/011_create_user_permission.php b/fuel/app/migrations/011_create_user_permission.php
index 659c7c9..d961d13 100644
--- a/fuel/app/migrations/011_create_user_permission.php
+++ b/fuel/app/migrations/011_create_user_permission.php
@@ -15,16 +15,16 @@ class Create_user_permission
'disable' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id'));
- \DB::query('CREATE INDEX constraintPermissionUserPermission ON user_permission(`permission_id`)')->execute();
- \DB::query('CREATE INDEX constraintUserUserPermission ON user_permission(`user_id`)')->execute();
- \DB::query('CREATE INDEX constraintLibraryUserPermission ON user_permission(`library_id`)')->execute();
+ \DB::query('CREATE INDEX constraintPermissionUserPermission ON ' . \DB::table_prefix('user_permission') . '(`permission_id`)')->execute();
+ \DB::query('CREATE INDEX constraintUserUserPermission ON ' . \DB::table_prefix('user_permission') . '(`user_id`)')->execute();
+ \DB::query('CREATE INDEX constraintLibraryUserPermission ON ' . \DB::table_prefix('user_permission') . '(`library_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintPermissionUserPermission ON user_permission')->execute();
- \DB::query('DROP INDEX constraintUserUserPermission ON user_permission')->execute();
- \DB::query('DROP INDEX constraintLibraryUserPermission ON user_permission')->execute();
+ \DB::query('DROP INDEX constraintPermissionUserPermission ON ' . \DB::table_prefix('user_permission'))->execute();
+ \DB::query('DROP INDEX constraintUserUserPermission ON ' . \DB::table_prefix('user_permission'))->execute();
+ \DB::query('DROP INDEX constraintLibraryUserPermission ON ' . \DB::table_prefix('user_permission'))->execute();
\DBUtil::drop_table('user_permission');
}
diff --git a/fuel/app/migrations/012_create_user_settings.php b/fuel/app/migrations/012_create_user_settings.php
index f55ed27..80c91da 100644
--- a/fuel/app/migrations/012_create_user_settings.php
+++ b/fuel/app/migrations/012_create_user_settings.php
@@ -16,12 +16,12 @@ class Create_user_settings
'maxdownloadspeed' => array('default' => '-1', 'type' => 'int', 'null' => false, 'constraint' => 11),
), array('id'));
- \DB::query('CREATE INDEX constraintUserUserSetting ON user_settings(`user_id`)')->execute();
+ \DB::query('CREATE INDEX constraintUserUserSetting ON ' . \DB::table_prefix('user_settings') . '(`user_id`)')->execute();
}
public function down()
{
- \DB::query('DROP INDEX constraintUserUserSetting ON user_settings')->execute();
+ \DB::query('DROP INDEX constraintUserUserSetting ON ' . \DB::table_prefix('user_settings'))->execute();
\DBUtil::drop_table('user_settings');
}
diff --git a/fuel/app/migrations/013_create_user_download.php b/fuel/app/migrations/013_create_user_download.php
new file mode 100644
index 0000000..73ddd6b
--- /dev/null
+++ b/fuel/app/migrations/013_create_user_download.php
@@ -0,0 +1,27 @@
+ array('type' => 'varchar', 'null' => false, 'constraint' => 36),
+ 'user_id' => array('type' => 'varchar', 'null' => false, 'constraint' => 36),
+ 'movie_id' => array('type' => 'varchar', 'null' => false, 'constraint' => 36),
+ 'date' => array('type' => 'int', 'null' => false, 'constraint' => 11),
+ ), array('id'));
+
+ \DB::query('CREATE INDEX constraintDownloadUser ON ' . \DB::table_prefix('user_download') . '(`user_id`)')->execute();
+ \DB::query('CREATE INDEX constraintDownloadMovie ON ' . \DB::table_prefix('user_download') . '(`movie_id`)')->execute();
+ }
+
+ public function down()
+ {
+ \DB::query('DROP INDEX constraintDownloadUser ON ' . \DB::table_prefix('user_download'))->execute();
+ \DB::query('DROP INDEX constraintDownloadMovie ON ' . \DB::table_prefix('user_download'))->execute();
+
+ \DBUtil::drop_table('user_download');
+ }
+}
\ No newline at end of file
diff --git a/fuel/app/views/home/index.php b/fuel/app/views/home/index.php
index 627eed0..fdb73ef 100755
--- a/fuel/app/views/home/index.php
+++ b/fuel/app/views/home/index.php
@@ -1,9 +1,9 @@