foreach ($models as $model) { $variable = lcfirst($model) . 'Model'; $class = '\\Model\\' . $model; ${$variable} = new $class($container); } foreach ($events as $class) { ${$class}->attachEvents(); } $configModel->setupTranslations(); $configModel->setupTimezone(); $server = new JsonRPC\Server(); $server->authentication(array('jsonrpc' => $configModel->get('api_token'))); /** * Project procedures */ $server->bind('getProjectById', $projectModel, 'getById'); $server->bind('getProjectByName', $projectModel, 'getByName'); $server->bind('getAllProjects', $projectModel, 'getAll'); $server->bind('removeProject', $projectModel, 'remove'); $server->bind('enableProject', $projectModel, 'enable'); $server->bind('disableProject', $projectModel, 'disable'); $server->bind('enableProjectPublicAccess', $projectModel, 'enablePublicAccess'); $server->bind('disableProjectPublicAccess', $projectModel, 'disablePublicAccess'); $server->register('createProject', function ($name) use($projectModel) { $values = array('name' => $name); list($valid, ) = $projectModel->validateCreation($values); return $valid && $projectModel->create($values); }); $server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($projectModel) { $values = array('id' => $id, 'name' => $name, 'is_active' => $is_active, 'is_public' => $is_public, 'token' => $token); foreach ($values as $key => $value) {
<?php require __DIR__ . '/app/common.php'; use Symfony\Component\EventDispatcher\Event; $container['dispatcher']->dispatch('api.bootstrap', new Event()); $server = new JsonRPC\Server(); $server->authentication(array('jsonrpc' => $container['config']->get('api_token'))); /** * Project procedures */ $server->bind('getProjectById', $container['project'], 'getById'); $server->bind('getProjectByName', $container['project'], 'getByName'); $server->bind('getAllProjects', $container['project'], 'getAll'); $server->bind('removeProject', $container['project'], 'remove'); $server->bind('enableProject', $container['project'], 'enable'); $server->bind('disableProject', $container['project'], 'disable'); $server->bind('enableProjectPublicAccess', $container['project'], 'enablePublicAccess'); $server->bind('disableProjectPublicAccess', $container['project'], 'disablePublicAccess'); $server->bind('getProjectActivity', $container['projectActivity'], 'getProjects'); $server->register('createProject', function ($name) use($container) { $values = array('name' => $name); list($valid, ) = $container['project']->validateCreation($values); return $valid ? $container['project']->create($values) : false; }); $server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($container) { $values = array('id' => $id, 'name' => $name, 'is_active' => $is_active, 'is_public' => $is_public, 'token' => $token); foreach ($values as $key => $value) { if (is_null($value)) { unset($values[$key]); } }