Esempio n. 1
0
 /**
  * Insert settings.
  */
 public function insertSettings()
 {
     $settings = ['title' => "Traq", 'theme' => "default", 'site_name' => "", 'site_url' => "", 'db_revision' => \Traq\DB_REVISION, 'locale' => "en_AU", 'check_for_update' => 1, 'last_update_check' => time(), 'anonymous_user_id' => $this->createAnonymousUser(), 'allow_registration' => 1, 'email_validation' => 0, 'date_format' => "d/m/Y", 'date_time_format' => "g:iA d/m/Y", 'notification_from_email' => "noreply@" . $_SERVER['HTTP_HOST'], 'ticket_creation_delay' => 30, 'ticket_history_sorting' => "oldest_first", 'tickets_per_page' => 25, 'timeline_day_format' => "l, jS F Y", 'timeline_days_per_page' => 10, 'timeline_time_format' => "h:iA"];
     foreach ($settings as $setting => $value) {
         $model = new Setting(['setting' => $setting, 'value' => $value]);
         $model->save();
     }
 }
Esempio n. 2
0
/**
 * Get setting.
 *
 * @param string $settingName
 *
 * @return mixed
 */
function setting($settingName)
{
    static $settings = [];
    if (!count($settings)) {
        foreach (Setting::all() as $setting) {
            $settings[$setting['setting']] = $setting['value'];
        }
    }
    return $settings[$settingName];
}
Esempio n. 3
0
 /**
  * Save settings.
  *
  * @return \Avalon\Http\RedirectResponse
  */
 public function saveAction()
 {
     foreach (Request::$post->get('settings', [], false) as $setting => $value) {
         $setting = Setting::find("setting", $setting);
         if ($setting) {
             $setting->value = $value;
             $setting->save();
         }
     }
     return $this->redirectTo("admin_settings");
 }
Esempio n. 4
0
 /**
  * Dashboard index page.
  */
 public function indexAction()
 {
     // Check for update
     $lastUpdateCheck = Setting::find('setting', 'last_update_check');
     if ($lastUpdateCheck->value <= time() - 86400) {
         $this->checkForUpdate();
         $lastUpdateCheck->value = time();
         $lastUpdateCheck->save();
     }
     // Get information
     $info = ['users' => User::select('id')->rowCount(), 'newestUser' => User::select('id', 'name')->orderBy('id', 'DESC')->execute()->fetch(), 'projects' => User::select('id')->rowCount()];
     // Issues
     $info['tickets'] = ['open' => Ticket::select('id')->where('is_closed = ?')->setParameter(0, 0)->rowCount(), 'closed' => Ticket::select('id')->where('is_closed = ?')->setParameter(0, 1)->rowCount()];
     return $this->render('admin/dashboard/index.phtml', $info);
 }
Esempio n. 5
0
<?php

use Traq\Models\Setting;
$testSuite->createGroup('Requests / Admin / Settings', function ($g) {
    $admin = createAdmin();
    $g->test('Traq Settings', function ($t) use($admin) {
        $resp = $t->visit('admin_settings', ['cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertEquals(200, $resp->status);
        $t->assertContains('<h1 class="page-header">Settings</h1>', $resp->body);
    });
    $g->test('Save settings', function ($t) use($admin) {
        $resp = $t->visit('admin_settings_save', ['method' => 'POST', 'post' => ['settings' => ['title' => 'New Title']], 'cookie' => ['traq' => $admin['session_hash']]]);
        $t->assertRedirectTo($t->generateUrl('admin_settings'), $resp);
        $t->assertEquals('New Title', Setting::find('setting', 'title')['value']);
    });
});