Example #1
0
use fkooman\OAuth\Storage\PdoApprovalStorage;
use fkooman\RemoteStorage\RemoteStorageClientStorage;
use fkooman\RemoteStorage\DbTokenValidator;
use fkooman\RemoteStorage\DocumentStorage;
use fkooman\RemoteStorage\MetadataStorage;
use fkooman\RemoteStorage\RemoteStorage;
use fkooman\RemoteStorage\RemoteStorageResourceServer;
use fkooman\RemoteStorage\RemoteStorageService;
use fkooman\RemoteStorage\ApprovalManagementStorage;
use fkooman\Rest\Plugin\Authentication\AuthenticationPlugin;
use fkooman\Rest\Plugin\Authentication\Bearer\BearerAuthentication;
use fkooman\Rest\Plugin\Authentication\Form\FormAuthentication;
use fkooman\Tpl\Twig\TwigTemplateManager;
try {
    $request = new Request($_SERVER);
    $configReader = new Reader(new YamlFile(dirname(__DIR__) . '/config/server.yaml'));
    $serverMode = $configReader->v('serverMode', false, 'production');
    $document = new DocumentStorage($configReader->v('storageDir', false, sprintf('%s/data/storage', dirname(__DIR__))));
    $dbDsn = $configReader->v('Db', 'dsn', false, sprintf('sqlite:%s/data/rs.sqlite', dirname(__DIR__)));
    // if we use sqlite, and database is not initialized we will initialize
    // all tables here. No need to manually initialize the database then!
    $initDb = false;
    if (0 === strpos($dbDsn, 'sqlite:')) {
        // sqlite
        if (!file_exists(substr($dbDsn, 7))) {
            // sqlite file does not exist
            $initDb = true;
        }
    }
    $db = new PDO($dbDsn, $configReader->v('Db', 'username', false), $configReader->v('Db', 'password', false));
    // only enable templateCache when in production mode
Example #2
0
use fkooman\OAuth\Storage\PdoAuthorizationCodeStorage;
use fkooman\OAuth\Storage\PdoApprovalStorage;
use fkooman\RemoteStorage\RemoteStorageClientStorage;
use fkooman\RemoteStorage\DbTokenValidator;
use fkooman\RemoteStorage\DocumentStorage;
use fkooman\RemoteStorage\MetadataStorage;
use fkooman\RemoteStorage\RemoteStorage;
use fkooman\RemoteStorage\RemoteStorageResourceServer;
use fkooman\RemoteStorage\RemoteStorageService;
use fkooman\RemoteStorage\ApprovalManagementStorage;
use fkooman\Rest\Plugin\Authentication\AuthenticationPlugin;
use fkooman\Rest\Plugin\Authentication\Bearer\BearerAuthentication;
use fkooman\Rest\Plugin\Authentication\Form\FormAuthentication;
use fkooman\Tpl\Twig\TwigTemplateManager;
try {
    $configReader = new Reader(new YamlFile(dirname(__DIR__) . '/config/server.yaml'));
    $serverMode = $configReader->v('serverMode', false, 'production');
    $db = new PDO($configReader->v('Db', 'dsn', false, sprintf('sqlite:%s/data/rs.sqlite', dirname(__DIR__))), $configReader->v('Db', 'username', false), $configReader->v('Db', 'password', false));
    $request = new Request($_SERVER);
    $templateManager = new TwigTemplateManager(array(dirname(__DIR__) . '/views', dirname(__DIR__) . '/config/views'), $configReader->v('templateCache', false, null));
    $templateManager->setDefault(array('rootFolder' => $request->getUrl()->getRoot(), 'serverMode' => $serverMode));
    $approvalStorage = new PdoApprovalStorage($db);
    $authorizationCodeStorage = new PdoAuthorizationCodeStorage($db);
    $accessTokenStorage = new PdoAccessTokenStorage($db);
    $md = new MetadataStorage($db);
    $document = new DocumentStorage($configReader->v('storageDir', false, sprintf('%s/data/storage', dirname(__DIR__))));
    $remoteStorage = new RemoteStorage($md, $document);
    $session = new Session('php-remote-storage', array('secure' => 'development' !== $serverMode));
    $userAuth = new FormAuthentication(function ($userId) use($configReader) {
        $userList = $configReader->v('Users');
        if (null === $userList || !array_key_exists($userId, $userList)) {
Example #3
0
 public function testConfigValues()
 {
     $this->assertSame(array('foo'), Reader::configValues(array('foo', false, 'bar')));
     $this->assertSame(array('foo'), Reader::configValues(array('foo')));
     $this->assertSame(array('foo'), Reader::configValues(array('foo', true)));
 }
Example #4
0
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
require_once dirname(__DIR__) . '/vendor/autoload.php';
use fkooman\Config\YamlFile;
use fkooman\Config\Reader;
use fkooman\RemoteStorage\MetadataStorage;
use fkooman\OAuth\Storage\PdoAccessTokenStorage;
use fkooman\OAuth\Storage\PdoAuthorizationCodeStorage;
use fkooman\OAuth\Storage\PdoApprovalStorage;
try {
    $configReader = new Reader(new YamlFile(dirname(__DIR__) . '/config/server.yaml'));
    $db = new PDO($configReader->v('Db', 'dsn', false, sprintf('sqlite:%s/data/rs.sqlite', dirname(__DIR__))), $configReader->v('Db', 'username', false), $configReader->v('Db', 'password', false));
    $metadataStorage = new MetadataStorage($db);
    $metadataStorage->initDatabase();
    $approvalStorage = new PdoApprovalStorage($db);
    $approvalStorage->initDatabase();
    $authorizationCodeStorage = new PdoAuthorizationCodeStorage($db);
    $authorizationCodeStorage->initDatabase();
    $accessTokenStorage = new PdoAccessTokenStorage($db);
    $accessTokenStorage->initDatabase();
} catch (Exception $e) {
    echo $e->getMessage() . PHP_EOL;
    exit(1);
}