Exemplo n.º 1
0
 /**
  * Prepare the object to retrieve access token for
  * specific driver
  */
 public function __construct($provider)
 {
     if (!isset(Tool::getConfig()['oauth'][$provider])) {
         Tool::log('OAuth settings not configured for provider \'' . $provider . '\' in config.php');
         Tool::endWithJson([], 500);
         exit;
     }
     $config = Tool::getConfig()['oauth'][$provider];
     $this->service = $provider;
     if ($provider == 'github') {
         $this->provider = new \League\OAuth2\Client\Provider\Github(['clientId' => $config['clientId'], 'clientSecret' => $config['clientSecret']]);
     } else {
         Tool::endWithJson(["error" => "OAuth Provider " . $provider . " doesn\\'t exist"], 500);
         exit;
     }
 }
Exemplo n.º 2
0
 private function parseRangeHeader()
 {
     global $app;
     $requested = new \stdClass();
     $returned = new \stdClass();
     // Parsing requested header of fallback
     // to a default value
     if ($app->request->headers['x-range'] && preg_match('/^([0-9]+)-([0-9]+)$/', $app->request->headers['x-range'], $start_end)) {
         array_splice($start_end, 0, 1);
         $requested->startIndex = $start_end[0];
         $requested->endIndex = $start_end[1];
     } else {
         if (!isset(Tool::getConfig()['default_number_of_models_per_page'])) {
             $app->error(new \Exception('default_number_of_models_per_page is not set in config.php'));
         }
         $defaultLength = Tool::getConfig()['default_number_of_models_per_page'];
         $requested->startIndex = 0;
         $requested->endIndex = --$defaultLength;
     }
     if ($this->length == 0) {
         $this->responseStatus = 200;
         $this->page = [];
         return;
     } elseif ($requested->startIndex >= $this->length) {
         $this->responseStatus = 400;
         $this->page = ["error" => "Start at unexisting index"];
         return;
     } elseif ($requested->endIndex >= $this->length) {
         $returned->endIndex = $this->length - 1;
     } else {
         $returned->endIndex = $requested->endIndex;
     }
     $returned->startIndex = $requested->startIndex;
     if ($returned->startIndex == 0 && $returned->endIndex == $this->length - 1) {
         $this->responseStatus = 200;
     } else {
         $this->responseStatus = 206;
     }
     $this->currentRange = $returned;
 }