diff --git a/fuel/app/classes/controller/rest/install.php b/fuel/app/classes/controller/rest/install.php index 36efaa7..9d7453d 100755 --- a/fuel/app/classes/controller/rest/install.php +++ b/fuel/app/classes/controller/rest/install.php @@ -109,6 +109,7 @@ class Controller_Rest_Install extends Controller_Rest 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'), @@ -228,6 +229,7 @@ class Controller_Rest_Install extends Controller_Rest ), array('id'), false, 'InnoDB', 'utf8_unicode_ci' ); + DBUtil::create_index('movie', 'title', 'searchTitle', 'fulltext'); $logs .= 'Movie table create!'."\r\n"; $logs .= 'Creation table configuration'."\r\n"; @@ -254,6 +256,7 @@ class Controller_Rest_Install extends Controller_Rest 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' @@ -265,7 +268,7 @@ class Controller_Rest_Install extends Controller_Rest * CREATE TABLE USER'S PERMISSION */ DBUtil::create_table( - 'libraries_permission', + 'library_permission', array( 'id' => array('constraint' => 36, 'type' => 'varchar'), 'permission_id' => array('constraint' => 36, 'type' => 'varchar'), @@ -376,7 +379,7 @@ class Controller_Rest_Install extends Controller_Rest 'on_update' => 'NO ACTION', 'on_delete' => 'NO ACTION', )); - DBUtil::add_foreign_key('libraries_permission', array( + DBUtil::add_foreign_key('library_permission', array( 'constraint' => 'constraintPermissionLibrariesPermission', 'key' => 'permission_id', 'reference' => array( @@ -386,11 +389,11 @@ class Controller_Rest_Install extends Controller_Rest 'on_update' => 'NO ACTION', 'on_delete' => 'NO ACTION', )); - DBUtil::add_foreign_key('libraries_permission', array( + DBUtil::add_foreign_key('library_permission', array( 'constraint' => 'constraintLibraryLibrariesPermission', 'key' => 'library_id', 'reference' => array( - 'table' => 'permission', + 'table' => 'library', 'column' => 'id', ), 'on_update' => 'NO ACTION', @@ -469,6 +472,15 @@ class Controller_Rest_Install extends Controller_Rest $logs .= 'Foreign key create!'."\r\n"; + DB::insert('permission',['name', 'parameters']) + ->values(['RIGHT_WATCH']) + ->values(['RIGHT_MAX_WATCH', 1]) + ->values(['RIGHT_MAX_QUALITY', 1]) + ->values(['RIGHT_MAX_CONCURRENT_STREAM', 1]) + ->values(['RIGHT_DOWNLOAD', 1]) + ->values(['RIGHT_MAX_DOWNLOAD', 1]) + ; + DB::commit_transaction(); $logs .= 'All Tables and Foreign Key successfully!'."\r\n"; diff --git a/fuel/app/classes/controller/rest/library.php b/fuel/app/classes/controller/rest/library.php new file mode 100644 index 0000000..dd622d2 --- /dev/null +++ b/fuel/app/classes/controller/rest/library.php @@ -0,0 +1,52 @@ +id; + + $library_permission = Model_Library_Permission::find_one_by(function ($query) use ($library_id, $permission_id) { + $query + ->where('library_id', $library_id) + ->and_where('permission_id', $permission_id); + }); + + + if ($library_permission === null) { + $library_permission = new Model_Library_Permission(); + $library_permission->library_id = $library_id; + $library_permission->permission_id = $permission_id; + } + + if ($checked === 'false') + $library_permission->disable = true; + else + $library_permission->disable = false; + + if($parameter !== null) + $library_permission->value = $parameter; + + $library_permission->save(); + + return $this->response(['error' => false, 'message' => 'Permission modify successfully']); + } catch (Exception $exception) { + return $this->response(['error' => true, 'message' => $exception->getMessage()]); + } + } +} \ No newline at end of file diff --git a/fuel/app/classes/controller/settings/libraries.php b/fuel/app/classes/controller/settings/libraries.php index 55bd32a..275f7ba 100644 --- a/fuel/app/classes/controller/settings/libraries.php +++ b/fuel/app/classes/controller/settings/libraries.php @@ -8,6 +8,7 @@ class Controller_Settings_Libraries extends Controller_Settings public function action_index() { $this->template->js_bottom = ['plex_alert.js', 'server_refresh.js']; + $this->template->css = ['settings.css']; $body = View::forge('settings/libraries'); @@ -27,7 +28,22 @@ class Controller_Settings_Libraries extends Controller_Settings $permissions = Model_Permission::find_all(); + $library_permissions = Model_Library_Permission::find_by('library_id', $library_id); + + $library_permissions = $library_permissions ?: []; + + $temp = []; + + // ORDER ARRAY BY PERMISSION ID + foreach ($library_permissions as $library_permission) { + $temp[$library_permission->permission_id] = $library_permission; + } + + $library_permissions = $temp; + + $body->set('library_id', $library_id); $body->set('permissions', $permissions); + $body->set('library_permissions', $library_permissions); $body->set('user', Session::get('user')); $this->template->body = $body; diff --git a/fuel/app/classes/model/library/permission.php b/fuel/app/classes/model/library/permission.php new file mode 100644 index 0000000..908b8a2 --- /dev/null +++ b/fuel/app/classes/model/library/permission.php @@ -0,0 +1,17 @@ +
-
-
-
-
-
SAISONS
-
-
-
-
- -
-
-
- -
- name; ?> - -
-
-
-
- 13 épisodes -
-
-
- -
-
-
+ + +
+
+
+ name; ?> + + + +

Description of the right, will come here!

+ parameters === 1) : ?> +

+
-
\ No newline at end of file + + +
+ \ No newline at end of file diff --git a/public/assets/css/settings.css b/public/assets/css/settings.css index 5943f06..408bdcf 100644 --- a/public/assets/css/settings.css +++ b/public/assets/css/settings.css @@ -23,4 +23,67 @@ -webkit-animation: rotating 1s linear infinite;; -o-animation: rotating 1s linear infinite;; animation: rotating 1s linear infinite;; +} + +/* The switch - the box around the slider */ +.switch { + position: relative; + display: inline-block; + width: 40px; + height: 18px; +} + +/* Hide default HTML checkbox */ +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +/* The slider */ +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #636363; + -webkit-transition: .4s; + transition: .4s; +} + +.slider:before { + position: absolute; + content: ""; + height: 14px; + width: 14px; + left: 2px; + bottom: 2px; + background-color: white; + -webkit-transition: .4s; + transition: .4s; +} + +input:checked + .slider { + background-color: #cc7b19; +} + +input:focus + .slider { + box-shadow: 0 0 1px #cc7b19; +} + +input:checked + .slider:before { + -webkit-transform: translateX(22px); + -ms-transform: translateX(22px); + transform: translateX(22px); +} + +/* Rounded sliders */ +.slider.round { + border-radius: 34px; +} + +.slider.round:before { + border-radius: 50%; } \ No newline at end of file