You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PlexShare/fuel/app/classes/controller/rest/library.php

53 lines
1.7 KiB

<?php
use Fuel\Core\Controller_Rest;
use Fuel\Core\FuelException;
use Fuel\Core\Input;
class Controller_Rest_Library extends Controller_Rest
{
public function post_permission()
{
try {
$library_id = Input::post('library_id');
$right_name = Input::post('right_name');
$checked = Input::post('checked');
$parameter = Input::post('parameter');
if ($library_id === null || $right_name === null || $checked === null)
throw new FuelException('Missing parameters');
$permission = Model_Permission::find_one_by('name', $right_name);
$permission_id = $permission->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()]);
}
}
}