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 @@ +
-Description of the right, will come here!
+ parameters === 1) : ?> + +