コード例 #1
0
ファイル: install.php プロジェクト: JoseCOCA/baudprint
         $error .= $language['pass_err'] . '<br />';
     } else {
         setTmpConfig('admin_password', $superCage->post->getEscaped('admin_password'));
     }
     $email = $superCage->post->getMatched('admin_email', '/\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b/i');
     $ver_email = $superCage->post->getMatched('admin_email_verif', '/\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b/i');
     if ($email[0] != $ver_email[0] || $email[0] == '') {
         // admin email not correct
         $error .= $language['email_no_match'] . '<br />';
     } else {
         setTmpConfig('admin_email', $email[0]);
     }
 }
 if (isset($config['admin_username']) && isset($config['admin_password']) && isset($config['admin_email']) && !isset($config['install_finished'])) {
     // create admin
     if (createAdmin()) {
         // add finished flag to config
         setTmpConfig('install_finished', 'done');
         // redirect to last page
         header('Location: install.php?step=' . ($step + 1));
         exit;
     }
 }
 html_header();
 if ($error != '') {
     html_error();
 } else {
     if (isset($config['admin_username'])) {
         setTmpConfig('step', STEP_FINALISE);
     }
 }
コード例 #2
0
ファイル: statuses.php プロジェクト: nirix/traq
<?php

$testSuite->createGroup('Requests / Admin / Statuses', function ($g) {
    $admin = createAdmin();
    $status = createStatus();
    $g->test('List statuses', function ($t) use($admin, $status) {
        $resp = $t->visit('admin_statuses', ['cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertEquals(200, $resp->status);
        $t->assertContains($status['name'], $resp->body);
    });
    $g->test('New status form', function ($t) use($admin) {
        $resp = $t->visit('admin_new_status', ['cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertEquals(200, $resp->status);
        $t->assertContains('<h1 class="page-header">New Status</h1>', $resp->body);
    });
    $g->test('Create status', function ($t) use($admin) {
        $resp = $t->visit('admin_create_status', ['method' => 'POST', 'post' => ['name' => 'My Status', 'level' => 5], 'cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertRedirectTo($t->generateUrl('admin_statuses'), $resp);
    });
    $g->test('Name in use', function ($t) use($admin) {
        $resp = $t->visit('admin_create_status', ['method' => 'POST', 'post' => ['name' => 'New'], 'cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertContains('Name is already in use', $resp->body);
    });
    $g->test('Edit status form', function ($t) use($admin, $status) {
        $resp = $t->visit('admin_edit_status', ['routeTokens' => ['id' => $status['id']], 'cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertContains('<h1 class="page-header">Edit Status</h1>', $resp->body);
    });
    $g->test('Update status', function ($t) use($admin, $status) {
        $resp = $t->visit('admin_save_status', ['method' => 'PATCH', 'routeTokens' => ['id' => $status['id']], 'post' => ['name' => 'Just Another Status'], 'cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertRedirectTo($t->generateUrl('admin_statuses'), $resp);
    });
コード例 #3
0
<?php

$config = (require __DIR__ . '/config.php');
foreach ($config['databases'] as $databaseKey => $databaseData) {
    if (isset($databaseData['create']) && $databaseData['create'] === false) {
        continue;
    }
    createDatabase($databaseData['host'], $databaseData['dbname']);
    checkDatabase($databaseData['host'], $databaseData['dbname']);
    if (isset($databaseData['isadmin']) && $databaseData['isadmin']) {
        createAdmin($databaseData['host'], $databaseData['user'], $databaseData['password']);
    } elseif (isset($databaseData['user'])) {
        // create user
    }
}
function createDatabase($host, $dbname)
{
    $url = 'http://' . $host . '/' . $dbname;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_PUT, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // führe die Aktion aus und gebe die Daten an den Browser weiter
    curl_exec($ch);
    // schließe den cURL-Handle und gebe die Systemresourcen frei
    curl_close($ch);
}
function createAdmin($host, $user, $password)
{
    $url = $host . '/_config/admins/' . $user;
コード例 #4
0
ファイル: install.php プロジェクト: revcozmo/ProQuiz
function processSetup()
{
    global $i, $c;
    $i = 0;
    $c = 0;
    // Database Connectivity Checking
    if ($error = checkDb($_POST)) {
        $_SESSION['ERROR'][$i]['type'] = 'Done';
        $_SESSION['ERROR'][$i]['reason'] = 'Connected to Database';
        $i++;
        $c++;
    } else {
        $_SESSION['ERROR'][$i]['type'] = 'Error';
        $_SESSION['ERROR'][$i]['reason'] = 'Error Connecting to Database :' . mysql_error();
        $i++;
    }
    // Database Name Check
    if ($error = selectDb($_POST)) {
        $_SESSION['ERROR'][$i]['type'] = 'Done';
        $_SESSION['ERROR'][$i]['reason'] = 'Selected Database "' . $_POST['db_name'] . '"';
        $i++;
        $c++;
    } else {
        $_SESSION['ERROR'][$i]['type'] = 'Error';
        $_SESSION['ERROR'][$i]['reason'] = 'Error Selecting Database :' . mysql_error();
        $i++;
    }
    // Creating Tables
    if ($error = createTables($_POST)) {
        $_SESSION['ERROR'][$i]['type'] = 'Done';
        $_SESSION['ERROR'][$i]['reason'] = 'Tables Created Successfully';
        $i++;
        $c++;
    } else {
        $_SESSION['ERROR'][$i]['type'] = 'Error';
        $_SESSION['ERROR'][$i]['reason'] = 'Error Creating Tables :' . mysql_error();
        $i++;
    }
    // Sample Questions
    if ($_POST['sample_qstn'] == 'yes') {
        if ($error = insertSQstn($_POST)) {
            $_SESSION['ERROR'][$i]['type'] = 'Done';
            $_SESSION['ERROR'][$i]['reason'] = 'Sample Questions inserted Successfully';
            $i++;
        } else {
            $_SESSION['ERROR'][$i]['type'] = 'Error';
            $_SESSION['ERROR'][$i]['reason'] = 'Error Inserting Sample Questions :' . mysql_error();
            $i++;
        }
    }
    // Creating Admin Account
    if ($error = createAdmin($_POST)) {
        $_SESSION['ERROR'][$i]['type'] = 'Done';
        $_SESSION['ERROR'][$i]['reason'] = 'Admin Account Created Successfully';
        $i++;
        $c++;
    } else {
        $_SESSION['ERROR'][$i]['type'] = 'Error';
        $_SESSION['ERROR'][$i]['reason'] = 'Error Creating Admin Account :' . mysql_error();
        $i++;
    }
    // Creating Mail Settings
    if ($error = addMailSett($_POST)) {
        $_SESSION['ERROR'][$i]['type'] = 'Done';
        $_SESSION['ERROR'][$i]['reason'] = 'Mail Settings Updated Successfully';
        $i++;
    } else {
        $_SESSION['ERROR'][$i]['type'] = 'Error';
        $_SESSION['ERROR'][$i]['reason'] = 'Error Updating Mail Settings :' . mysql_error();
        $i++;
    }
    // Create Config File
    if ($c >= 4) {
        if ($error = createConfig($_POST)) {
            $_SESSION['ERROR'][$i]['type'] = 'Done';
            $_SESSION['ERROR'][$i]['reason'] = 'Config File Created Successfully';
            $mail = new PHPMailer();
            PQmail($mail, $_POST);
            $i++;
            $c++;
        } else {
            $_SESSION['ERROR'][$i]['type'] = 'Error';
            $_SESSION['ERROR'][$i]['reason'] = 'Error Creating Config File ';
            $i++;
        }
    }
}
コード例 #5
0
ファイル: update.php プロジェクト: nirix/traq
<?php

$testSuite->createGroup('Requests / Tickets / Update', function ($g) {
    $user = createAdmin();
    $project = createProject();
    $ticket = createTicket($project);
    $milestone = createMilestone($project);
    $g->test('Change milestone', function ($t) use($user, $project, $ticket, $milestone) {
        $originalMilestone = $ticket->milestone();
        // Fetch current ticket
        $resp = $t->visit('ticket', ['routeTokens' => ['pslug' => $project['slug'], 'id' => $ticket['ticket_id']]]);
        $t->assertContains($originalMilestone['name'], $resp->body);
        $t->assertNotContains('Changed <span class="ticket-history-property">Milestone</span>', $resp->body);
        // Send PUT request to update milestone
        $updateResp = $t->visit('update_ticket', ['method' => 'PUT', 'routeTokens' => ['pslug' => $project['slug'], 'id' => $ticket['ticket_id']], 'post' => ['milestone_id' => $milestone['id']], 'cookie' => ['traq' => $user['session_hash']]]);
        $redirectUrl = $t->generateUrl('ticket', ['pslug' => $project['slug'], 'id' => $ticket['ticket_id']]);
        $t->assertRedirectTo($redirectUrl, $updateResp);
        // Check the milestone changed
        $checkResp = $t->visit('ticket', ['routeTokens' => ['pslug' => $project['slug'], 'id' => $ticket['ticket_id']]]);
        $t->assertContains($project['name'], $checkResp->body);
        $t->assertContains('Changed <span class="ticket-history-property">Milestone</span>', $checkResp->body);
        $t->assertContains($milestone['name'], $checkResp->body);
        $t->assertContains($originalMilestone['name'], $checkResp->body);
    });
});