コード例 #1
0
ファイル: Url.php プロジェクト: rukzuk/rukzuk
 /**
  * @return string
  */
 public function get($useInternalUrl = false)
 {
     $config = Registry::getConfig();
     $credential = null;
     if ($config->screens->accessticket->authentication) {
         $credential = array('username' => RandomGenerator::generateString(10), 'password' => RandomGenerator::generateString(10));
     }
     $requestConfig = $this->getShootRequest();
     \Seitenbau\Registry::getLogger()->logData(__METHOD__, __LINE__, "ShootRequest:", $requestConfig, \Seitenbau\Log::DEBUG);
     $ticketUrl = '';
     if (isset($requestConfig) && !empty($requestConfig)) {
         $ticketBusiness = $this->newTicketInstance();
         $ticketUrl = $ticketBusiness->createTicketUrl($this->websiteId, false, true, $requestConfig, $config->screens->accessticket->ticketLifetime, $config->screens->accessticket->remainingCalls, $config->screens->accessticket->sessionLifetime, $credential, $credential, $useInternalUrl);
     }
     return $ticketUrl;
 }
コード例 #2
0
ファイル: Doctrine.php プロジェクト: rukzuk/rukzuk
 /**
  * @param  string   $websiteId
  * @param  boolean  $isRedirect
  * @param  boolean  $isGet
  * @param  string   $requestConfig
  * @param  integer  $ticketLifetime
  * @param  integer  $remainingCalls
  * @param  integer  $sessionLifetime
  * @param  string   $credentials
  * @return string   ID des Tickets
  */
 public function create($websiteId, $isRedirect, $isGet, $requestConfig, $ticketLifetime, $remainingCalls, $sessionLifetime, $credentials)
 {
     // Neues (nicht vorhandenes) Ticket erstellen
     $newTicketId = null;
     $secCounter = 0;
     $ticketExists = true;
     do {
         $newTicketId = RandomGenerator::generateString(Dao::TICKET_LENGTH, Dao::TICKET_CHARS);
         if (strlen($newTicketId) != Dao::TICKET_LENGTH) {
             echo '<b>Falsche Ticketlänge: ' . $newTicketId . "<br />";
             exit;
         }
         $ticketExists = $this->existsTicket($newTicketId);
     } while ($ticketExists && $secCounter++ < 1000);
     if ($ticketExists) {
         throw new CmsException(1302, __METHOD__, __LINE__);
     }
     try {
         $ticket = new \Orm\Entity\Ticket();
         $ticket->setId($newTicketId);
         $ticket->setTimestamp(time());
         $ticket->setWebsiteid($websiteId);
         $ticket->setIsredirect($isRedirect);
         $ticket->setIsget($isGet);
         $ticket->setRequestconfig(\Zend_Json::encode($requestConfig));
         $ticket->setTicketLifetime($ticketLifetime);
         $ticket->setRemainingCalls($remainingCalls);
         $ticket->setSessionLifetime($sessionLifetime);
         $ticket->setCredentials($credentials);
         $this->getEntityManager()->persist($ticket);
         $this->getEntityManager()->flush();
     } catch (Exception $e) {
         throw new CmsException(1301, __METHOD__, __LINE__, null, $e);
     }
     return $ticket;
 }
コード例 #3
0
ファイル: Indexer.php プロジェクト: rukzuk/rukzuk
 /**
  * @param  string $websiteId
  * @param  string $url
  * @return String
  */
 private function createTicketUrl($websiteId, $controler, $action, $params)
 {
     // init
     $config = Registry::getConfig();
     // Params als JSON-String
     $paramsAsJson = \Zend_Json::encode($params);
     $params = array($config->request->parameter => $paramsAsJson);
     // Ticket aus Render Url erstellen
     $credential = null;
     if ($config->indexing->accessticket->authentication) {
         $credential = array('username' => RandomGenerator::generateString(10), 'password' => RandomGenerator::generateString(10));
     }
     $ticketUrl = $this->getService('Ticket')->createTicketUrl($websiteId, false, true, array('controller' => $controler, 'action' => $action, 'params' => $params), $config->indexing->accessticket->ticketLifetime, $config->indexing->accessticket->remainingCalls, $config->indexing->accessticket->sessionLifetime, $credential, $credential);
     return $ticketUrl;
 }