Example #1
0
<?php

use ponbiki\FTW as ftw;
$app->post('/user/account/manage', function () use($app) {
    if ($_SESSION['loggedin'] !== TRUE) {
        $app->redirect('/');
    }
    $con = new ftw\Database();
    $con->confAvail();
    $page = "Manage User";
    $meta = "User Management";
    $user = $con->userOption();
    if ($_SESSION['useradmin'] === TRUE) {
        $usradm = \TRUE;
    } else {
        unset($usradm);
    }
    $app->render('user/menu.html.twig', ['page' => $page, 'meta' => $meta, 'loggedin' => $_SESSION['loggedin'], 'error' => $_SESSION['error'], 'info' => $_SESSION['info'], 'usradm' => $usradm, 'user' => $user]);
    ftw\Session::clear();
})->name('user.account.manage');
Example #2
0
        if ($_SESSION['admin']) {
            $app->redirect('/admin/menu');
        } else {
            $app->redirect('/user/menu');
        }
    }
    $page = "FTW Log In";
    $meta = "Login";
    $app->render('home.html.twig', ['page' => $page, 'meta' => $meta, 'error' => $_SESSION['error']]);
    ftw\Session::clear();
})->name('home');
$app->post('/', function () use($app) {
    $user = filter_var($app->request()->post('user'), FILTER_SANITIZE_STRING);
    $pass = filter_var($app->request()->post('pass'), FILTER_SANITIZE_STRING);
    if ($user == "" || $pass == "") {
        $_SESSION['error'][] = "Not all fields were entered";
        $app->redirect('/');
    } else {
        $con = new ftw\Database();
        if (!($_SESSION['error'][] = $con->auth($user, $pass))) {
            if ($_SESSION['admin'] === TRUE) {
                $app->redirect('/admin/menu');
            } elseif ($_SESSION['loggedin'] === TRUE) {
                ftw\Session::clear();
                $app->redirect('/user/menu');
            }
        } else {
            $app->redirect('/');
        }
    }
});
Example #3
0
 public function loadConf($conf)
 {
     if (!($file = \file_get_contents(iConf::tmp_path . $conf))) {
         throw new \Exception("There was an issue loading {$conf}");
     } else {
         $con = new ftw\Database();
         $con->confBackup($conf, $file);
         $file_array = explode(PHP_EOL, $file);
         foreach ($file_array as $value) {
             if (\preg_match('/^\\$name\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $name);
                 $this->confvals['name'] = $name[1];
             } elseif (\preg_match('/^\\$hostname\\[\\]\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $hostname);
                 $this->confvals['hostname'][] = $hostname[1];
             } elseif (\preg_match('/^\\$sslhostname\\[\\]\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $sslhostname);
                 $this->confvals['sslhostname'][] = $sslhostname[1];
             } elseif (\preg_match('/^\\$checkurl\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $checkurl);
                 $this->confvals['checkurl'] = $checkurl[1];
             } elseif (\preg_match('/^\\$checkhost\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $checkhost);
                 $this->confvals['checkhost'] = $checkhost[1];
             } elseif (\preg_match('/^\\$backend\\[\\]\\s*=/', $value)) {
                 \preg_match('/\\(\\s*[\'"]?ip[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $ip);
                 \preg_match('/,\\s*[\'"]?port[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $port);
                 \preg_match('/,\\s*[\'"]?sport[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $sport);
                 \preg_match('/,\\s*[\'"]?weight[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $weight);
                 \preg_match('/,\\s*[\'"]?maxconn[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*\\)/', $value, $maxconn);
                 $this->confvals['backend'][] = ['ip' => $ip[1], 'port' => $port[1], 'sport' => $sport[1], 'weight' => $weight[1], 'maxconn' => $maxconn[1]];
             } elseif (\preg_match('/^\\$origin\\[[\'\\"].*[\'\\"]\\]\\s*=/', $value)) {
                 \preg_match('/\\[[\'"](.*)[\'"]\\]/', $value, $origin_id);
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $server);
                 $this->confvals['origin'][$origin_id[1]] = $server[1];
             } elseif (\preg_match('/^\\$server_to\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $server_to);
                 $this->confvals['server_to'] = $server_to[1];
             } elseif (\preg_match('/^\\$probe_to\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $probe_to);
                 $this->confvals['probe_to'] = $probe_to[1];
             } elseif (\preg_match('/^\\$ssd\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $ssd);
                 $this->confvals['ssd'] = $ssd[1];
             } elseif (\preg_match('/^\\$ddos\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $ddos);
                 $this->confvals['ddos'] = $ddos[1];
             } elseif (\preg_match('/^\\$limit_error\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $limit_error);
                 $this->confvals['limit_error'] = $limit_error[1];
             } elseif (\preg_match('/^\\$limit_post\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $limit_post);
                 $this->confvals['limit_post'] = $limit_post[1];
             } elseif (\preg_match('/^\\$varnish_pool\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $varnish_pool);
                 $this->confvals['varnish_pool'] = $varnish_pool[1];
             } elseif (\preg_match('/^\\$static_ttl\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $static_ttl);
                 $this->confvals['static_ttl'] = $static_ttl[1];
             } elseif (\preg_match('/^\\$dynamic_ttl\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $dynamic_ttl);
                 $this->confvals['dynamic_ttl'] = $dynamic_ttl[1];
             } elseif (\preg_match('/^\\$keep\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $keep);
                 $this->confvals['keep'] = $keep[1];
             } elseif (\preg_match('/^\\$use_device_global\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $use_device_global);
                 $this->confvals['use_device_global'] = $use_device_global[1];
             } elseif (\preg_match('/^\\$use_device\\[\\]\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $use_device);
                 $this->confvals['use_device'][] = $use_device[1];
             } elseif (\preg_match('/^\\$zone\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $zone);
                 $this->confvals['zone'] = $zone[1];
             } elseif (\preg_match('/^\\$pool\\s*=/', $value)) {
                 \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $pool);
                 $this->confvals['pool'] = $pool[1];
             } elseif (\preg_match('/^\\/\\/\\$/', $value)) {
                 $value = str_replace("//", "", $value);
                 if (\preg_match('/^\\$name\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $name);
                     $this->confvals['disabled']['name'] = $name[1];
                 } elseif (\preg_match('/^\\$hostname\\[\\]\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $hostname);
                     $this->confvals['disabled']['hostname'][] = $hostname[1];
                 } elseif (\preg_match('/^\\$sslhostname\\[\\]\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $sslhostname);
                     $this->confvals['disabled']['sslhostname'][] = $sslhostname[1];
                 } elseif (\preg_match('/^\\$checkurl\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $checkurl);
                     $this->confvals['disabled']['checkurl'] = $checkurl[1];
                 } elseif (\preg_match('/^\\$checkhost\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $checkhost);
                     $this->confvals['disabled']['checkhost'] = $checkhost[1];
                 } elseif (\preg_match('/^\\$backend\\[\\]\\s*=/', $value)) {
                     \preg_match('/\\(\\s*[\'"]?ip[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $ip);
                     \preg_match('/,\\s*[\'"]?port[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $port);
                     \preg_match('/,\\s*[\'"]?sport[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $sport);
                     \preg_match('/,\\s*[\'"]?weight[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*,/', $value, $weight);
                     \preg_match('/,\\s*[\'"]?maxconn[\'"]?\\s*=>\\s*[\'"]?(.*?)[\'"]?\\s*\\)/', $value, $maxconn);
                     $this->confvals['disabled']['backend'][] = ['ip' => $ip[1], 'port' => $port[1], 'sport' => $sport[1], 'weight' => $weight[1], 'maxconn' => $maxconn[1]];
                 } elseif (\preg_match('/^\\$origin\\[[\'\\"].*[\'\\"]\\]\\s*=/', $value)) {
                     \preg_match('/\\[[\'"](.*)[\'"]\\]/', $value, $origin_id);
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $server);
                     $this->confvals['disabled']['origin'][$origin_id[1]] = $server[1];
                 } elseif (\preg_match('/^\\$server_to\\s*=/', $value)) {
                     \preg_match('/\\=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $server_to);
                     $this->confvals['disabled']['server_to'] = $server_to[1];
                 } elseif (\preg_match('/^\\$probe_to\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $probe_to);
                     $this->confvals['disabled']['probe_to'] = $probe_to[1];
                 } elseif (\preg_match('/^\\$ssd\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $ssd);
                     $this->confvals['disabled']['ssd'] = $ssd[1];
                 } elseif (\preg_match('/^\\$ddos\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $ddos);
                     $this->confvals['disabled']['ddos'] = $ddos[1];
                 } elseif (\preg_match('/^\\$limit_error\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $limit_error);
                     $this->confvals['disabled']['limit_error'] = $limit_error[1];
                 } elseif (\preg_match('/^\\$limit_post\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $limit_post);
                     $this->confvals['disabled']['limit_post'] = $limit_post[1];
                 } elseif (\preg_match('/^\\$varnish_pool\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $varnish_pool);
                     $this->confvals['disabled']['varnish_pool'] = $varnish_pool[1];
                 } elseif (\preg_match('/^\\$static_ttl\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $static_ttl);
                     $this->confvals['disabled']['static_ttl'] = $static_ttl[1];
                 } elseif (\preg_match('/^\\$dynamic_ttl\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $dynamic_ttl);
                     $this->confvals['disabled']['dynamic_ttl'] = $dynamic_ttl[1];
                 } elseif (\preg_match('/^\\$keep\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $keep);
                     $this->confvals['disabled']['keep'] = $keep[1];
                 } elseif (\preg_match('/^\\$use_device_global\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $use_device_global);
                     $this->confvals['disabled']['use_device_global'] = $use_device_global[1];
                 } elseif (\preg_match('/^\\$use_device\\[\\]\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $use_device);
                     $this->confvals['disabled']['use_device'][] = $use_device[1];
                 } elseif (\preg_match('/^\\$zone\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $zone);
                     $this->confvals['disabled']['zone'] = $zone[1];
                 } elseif (\preg_match('/^\\$pool\\s*=/', $value)) {
                     \preg_match('/=\\s*[\'"]?(.*?)[\'"]?\\s*;/', $value, $pool);
                     $this->confvals['disabled']['pool'] = $pool[1];
                 }
             }
         }
         return $this->confvals;
     }
 }