Ejemplo n.º 1
0
 public function testBasics()
 {
     $user = new User();
     $user->setUsername("felicitus");
     $this->assertEquals($user->getUsername(), "felicitus");
     $user->setUsername("Timo A. Hummel");
     $this->assertEquals($user->getUsername(), "Timo A. Hummel");
     $user->setPassword("foobar");
     $hashedPassword = "******";
     $this->assertEquals($user->comparePassword("foobar"), true, "Error comparing passwords: PasswordTest01");
     $this->assertEquals($user->compareHashedPassword($hashedPassword), true, "Error comparing passwords: PasswordTest02");
     $user->setHashedPassword($hashedPassword);
     $this->assertEquals($user->comparePassword("foobar"), true, "Error comparing passwords: PasswordTest03");
     $this->assertEquals($user->compareHashedPassword($hashedPassword), true, "Error comparing passwords: PasswordTest04");
 }
Ejemplo n.º 2
0
 public function run()
 {
     $dql = "SELECT COUNT(u) FROM PartKeepr\\User\\User u WHERE u.username = :username OR u.admin = :admin";
     $query = $this->entityManager->createQuery($dql);
     $query->setParameter("username", "admin");
     $query->setParameter("admin", true);
     if ($query->getSingleScalarResult() == 0) {
         $user = new User();
         $user->setUsername("admin");
         $user->setPassword("admin");
         $user->setAdmin(true);
         $this->entityManager->persist($user);
         $this->entityManager->flush();
         $this->logMessage("Admin User created");
     } else {
         $this->logMessage("Skipped admin user creation, because an user named 'admin'" . "or another user with an admin flag already exists");
     }
 }
Ejemplo n.º 3
0
/**
 * Initializes a bootstrapped PartKeepr environment.
 * 
 * This is done within a function because we don't want to pollute the globals, which would give the following message
 * during unit tests:
 * 
 * "PDOException: You cannot serialize or unserialize PDO instances"
 */
function initializeEnvironment()
{
    PartKeepr::initialize("test");
    $tool = new \Doctrine\ORM\Tools\SchemaTool(PartKeepr::getEM());
    $classes = PartKeepr::getClassMetaData();
    $tool->dropDatabase();
    $tool->createSchema($classes);
    /* Some very basic installation things */
    PartCategoryManager::getInstance()->ensureRootExists();
    /* Create a blank admin user */
    $user = new User();
    $user->setUsername("admin");
    $user->setPassword("admin");
    $user->setAdmin(true);
    PartKeepr::getEM()->persist($user);
    /* Create a blank regular user */
    $user2 = new User();
    $user2->setUsername("regular");
    $user2->setPassword("regular");
    $user2->setAdmin(false);
    PartKeepr::getEM()->persist($user2);
    PartKeepr::getEM()->flush();
}
Ejemplo n.º 4
0
$aParameters = array();
$aParameters["doctrine_orm_version"] = \Doctrine\ORM\Version::VERSION;
$aParameters["doctrine_dbal_version"] = \Doctrine\DBAL\Version::VERSION;
$aParameters["doctrine_common_version"] = \Doctrine\Common\Version::VERSION;
$aParameters["php_version"] = phpversion();
/* HTTP auth */
if (Configuration::getOption("partkeepr.auth.http", false) === true) {
    if (!isset($_SERVER["PHP_AUTH_USER"])) {
        // @todo Redirect to permission denied page
        die("Permission denied");
    }
    try {
        $user = User::loadByName($_SERVER['PHP_AUTH_USER']);
    } catch (\Doctrine\ORM\NoResultException $e) {
        $user = new User();
        $user->setUsername($_SERVER['PHP_AUTH_USER']);
        $user->setPassword("invalid");
        PartKeepr::getEM()->persist($user);
        PartKeepr::getEM()->flush();
    }
    $session = SessionManager::getInstance()->startSession($user);
    $aParameters["autoLoginUsername"] = $user->getUsername();
    $aParameters["auto_start_session"] = $session->getSessionID();
    $aPreferences = array();
    foreach ($user->getPreferences() as $result) {
        $aPreferences[] = $result->serialize();
    }
    $aParameters["userPreferences"] = array("response" => array("data" => $aPreferences));
}
\Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem(dirname(__FILE__) . '/templates/');