Beispiel #1
0
 public function __construct(Project $project, $inTests = FALSE)
 {
     parent::__construct($project);
     $this->entitiesNamespace = Config::get('doctrine.entities.namespace') ?: $this->project->getNamespace() . '\\Entities';
     $this->manager = PSC::getEventManager();
     $this->connectionName = $inTests ? 'tests' : 'default';
 }
Beispiel #2
0
 public function testRegister()
 {
     $this->assertInstanceOf($this->c, PSC::registerErrorHandler());
     $eh = PSC::getEnvironment()->getErrorHandler();
     $this->assertEquals(\Psc\Config::get('debug.errorRecipient.mail'), $eh->getRecipient());
     // denn das steht in der Config
     PSC::unregisterErrorHandler();
 }
Beispiel #3
0
 /**
  * Inkludiert ein Template und gibt das HTML zurück
  * 
  * Das Template wird inkludiert und das ausgegebene HTML als String zurückgegeben.<br />
  * Nur die definierten Variablen in <var>$__variablesDefinitions</var> werden an das Template weitergereicht.<br />
  * 
  * Im Template werden Smarty ähmliche Variablen Bezeichner wie z.b. {$title} mit dem Inhalt der Variable als String umgewandelt ersetzt.
  * @param string $tpl der Name des templates wird zu tpl/<var>$__templateName</var>.php ergänzt wird als array mit unterverzeichnissen interpretiert
  * @param array $__variablesDefinitions die Variablen die ans Template übergeben werden sollen. Schlüssel sind die Variablen Bezeichner.
  * @return string
  */
 public static function get($tpl, array $__variablesDefinitions = NULL, $__indent = NULL)
 {
     $tpl = new Template($tpl);
     $tpl->setLanguage(Config::req('i18n.language'));
     $tpl->setVars($__variablesDefinitions);
     //if (FALSE) {
     //  print 'Variables for "'.$__templateName.'": '."\n";
     //  print_r($__variablesDefinitions);
     //  print "\n\n";
     //}
     return $tpl->get();
 }
Beispiel #4
0
 public function getConnection()
 {
     $conf = Config::req('db', 'tests');
     $this->assertEquals('_tests', mb_substr(Config::req('db', 'tests', 'database'), -6));
     if ($this->connection == NULL) {
         if (self::$pdo == NULL) {
             self::$pdo = new PDO('tests');
             self::$pdo->registerWithDoctrine();
         }
         $this->connection = $this->createDefaultDBConnection(self::$pdo, 'tests');
         if (isset($conf['charset'])) {
             $this->connection->getConnection()->query("SET CHARACTER SET '" . $conf['charset'] . "'");
         }
     }
     return $this->connection;
 }
Beispiel #5
0
 /**
  * @controller-api
  */
 public function get(array $tplName)
 {
     $__variablesDefinitions = array();
     try {
         $tpl = new Template($tplName);
         $tpl->setLanguage(Config::req('i18n.language'));
         $tpl->setVars($__variablesDefinitions);
         if (!$tpl->validate()) {
             throw new \Psc\TPL\MissingFileException('Template ist nicht valid!');
         }
         if (!$tpl->getFile()->exists()) {
             throw new \Psc\TPL\MissingFileException('Template-File: ' . $tpl->getFile() . ' existiert nicht');
         }
         return $tpl->get();
     } catch (\Psc\TPL\MissingFileException $e) {
         throw HTTPException::NotFound('Das Template: ' . Code::varInfo($tplName) . ' ist nicht vorhanden', $e);
     }
 }
Beispiel #6
0
 /**
  * Sendet die Message
  *
  * Wird Transport und Mailer nicht angegeben, werden diese erstellt
  * Ist ein Mailer angegeben wird transport nicht erstellt (wird ignoriert)
  *
  * wenn ein SMTP Zugang mit Config[mail.smtp.user] und Config[mail.smtp.password] gesetzt wurde,
  * wird dieser als Transport genutzt ansonsten der lokale Mailer
  * @return die Ausgabe von mailer->send() (int $sent)
  */
 public static function send(Swift_Message $message, Swift_SmtpTransport $transport = NULL, Swift_Mailer $mailer = NULL)
 {
     if (!isset($transport) && !isset($mailer)) {
         if (Config::req('mail.smtp.user') != NULL) {
             $transport = Swift_SmtpTransport::newInstance('smtprelaypool.ispgateway.de', 465, 'ssl')->setUsername(Config::req('mail.smtp.user'))->setPassword(Config::req('mail.smtp.password'));
         } else {
             $transport = Swift_Mailtransport::newInstance();
             // lokaler mailer
         }
     }
     if (!isset($mailer)) {
         $mailer = \Swift_Mailer::newInstance($transport);
     }
     return $mailer->send($message);
 }
Beispiel #7
0
 public static function registerFatalErrorHandler()
 {
     if (self::getEnvironment()->getFatalErrorHandler() === NULL) {
         $recipient = Config::getDefault(array('debug', 'errorRecipient', 'mail'), NULL);
         if ($recipient !== NULL) {
             self::getEnvironment()->setFatalErrorHandler($handler = new FatalErrorHandler($recipient));
             $handler->register();
         }
     }
 }
Beispiel #8
0
    /**
     * @TODO das hier geht noch nicht
     * Das Problem ist, dass ich nicht weiß ,wie ich Abfrage ob User oder eine Subklasse von User schon von doctrine geladen wird (dann wollen wir nicht automatisch installieren)
     * */
    public static function installEntity(\Psc\Doctrine\Object $object)
    {
        $em = $object->getEM();
        throw new Exception('Dies hier muss noch gebaut werden');
        if (Config::get('cms.installEntities') == TRUE) {
            $code = '
namespace Entities;

/**
 * @Entity
 * @Table(name="users")
 */
class User extends \\Psc\\CMS\\User {
  
}';
        }
    }