/** * unserialize rekursiv * * @param Array | String $array * @return Array */ function multi_unserialize($array) { if (!is_array($array)) { return $array; } foreach ($array as $key => $value) { if (is_array($value)) { $array[$key] = General::multi_unserialize($value); } elseif (strpos($value, '{') && strpos($value, ':')) { $array[$key] = General::multi_unserialize(unserialize($value)); } else { $array[$key] = $value; } } return $array; }
function group_table_update() { $this->existent_groups = General::multi_unserialize($this->connection->db_assoc("SELECT * FROM `{$this->groups_table}`")); }
function existent_groups() { return General::multi_unserialize($this->connection->db_assoc("SELECT * FROM `{$this->groups_table}` ORDER BY `Name`")); }
function check_login(&$system) { if (!isset($_SESSION)) { session_start(); } if (isset($_GET['logout'])) { if ($_GET['logout'] == '') { $_GET['logout'] = $_SESSION['RheinaufCMS_User']['Anrede'] . ' ' . $_SESSION['RheinaufCMS_User']['Name']; } unset($_SESSION['RheinaufCMS_User']); setcookie('RheinaufCMS_user', false, time() - 3600, '/'); } if ($_SESSION['RheinaufCMS_User']) { $system->user = $_SESSION['RheinaufCMS_User']; $system->valid_user = true; return true; } $user = General::input_clean($_POST['user']); $pass = General::input_clean($_POST['pass']); $a = array(); foreach ($system->user_tables as $t) { $sql = "SELECT * FROM `{$t}` WHERE `Login`='{$user}' AND `Password`='{$pass}'"; $result = $system->connection->db_single_row($sql); if ($result) { break; } } if ($user && $pass && $result['Login'] == $user && $result['Password'] == $pass && $_SESSION['uuid'] == $_POST['uuid']) { $_SESSION['RheinaufCMS_User'] = $system->user = General::multi_unserialize($result); $_SESSION['RheinaufCMS_User']['user_found_in'] = $t; setcookie('RheinaufCMS_user', $user, 0, '/'); $system->connection->db_update($t, array('last_login' => Date::now()), "id = '" . $result['id'] . "'"); if (isset($_SESSION['RheinaufCMS_User'])) { $system->rechte = array(); if ($_SESSION['RheinaufCMS_User']['Group'] == 'dev') { $rechte = $system->connection->db_assoc("SELECT * FROM `RheinaufCMS>Rechte`"); for ($i = 0; $i < count($rechte); $i++) { $system->rechte[] = $rechte[$i]['id']; } $_SESSION['RheinaufCMS_User']['allowed_actions'] = $system->rechte; } else { $rechte = General::multi_unserialize($system->connection->db_single_row("SELECT * FROM `RheinaufCMS>Groups` WHERE `Name` ='" . $_SESSION['RheinaufCMS_User']['Group'] . "'")); $_SESSION['RheinaufCMS_User']['allowed_actions'] = $system->rechte = $rechte['Rechte']; } } unset($_SESSION['uuid']); $system->valid_user = true; return true; } else { } return false; }
function frontend_install($module) { $this->navi = General::multi_unserialize($this->connection->db_assoc("SELECT * FROM `RheinaufCMS>Navi`")); $name = rawurldecode($module); if (!isset($_GET['newrubrik'])) { $return = Html::p('Bitte wählen Sie unter welcher Rubrik diese Modul eingeordnet werden soll.'); for ($i = 0; $i < count($this->navi); $i++) { $return .= Html::div(Html::a('/Admin/Module?newrubrik=' . $i . '&newfrontend=' . $module, $this->navi[$i]['Rubrik'])); } $return .= Html::div(Html::a('/Admin/Module?newrubrik=' . $i . '&newfrontend=' . $module, $this->images['plus'] . ' Neue Rubrik')); $this->return = $return; return; } else { if ($_GET['newrubrik'] == count($this->navi)) { $this->new_rubrik_create($name, count($this->navi)); } else { $this->new_page_create($name, $_GET['newrubrik']); } } include_once INSTALL_PATH . '/Module/' . $module . '.php'; $id = count($this->frontend_installed); $class = new $module($this->connection, $this->path_information); if (method_exists($class, 'install') && !$extern) { $class->install(); } $this->connection->db_query("INSERT INTO `RheinaufCMS>Module` \t( `id` , `Name`)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVALUES ('{$id}', '{$module}')"); }
function check_login() { if (!isset($_SESSION)) { session_start(); } $user = General::input_clean($_POST['user']); $pass = General::input_clean($_POST['pass']); $result = $this->connection->db_assoc("SELECT * FROM `{$this->user_table}` WHERE `Name`='{$user}' AND `Password`='{$pass}'"); if ($result[0]['Name'] == $user && $result[0]['Password'] == $pass) { $_SESSION['RheinaufCMS_User'] = General::multi_unserialize($result[0]); setcookie('RheinaufCMS_user', $user, 0, '/'); if (isset($_SESSION['RheinaufCMS_User'])) { $this->rechte = array(); if ($_SESSION['RheinaufCMS_User']['Group'] == 'dev') { $rechte = $this->connection->db_assoc("SELECT * FROM `{$this->rechte_table}`"); for ($i = 0; $i < count($rechte); $i++) { $this->rechte[] = $rechte[$i]['id']; } $_SESSION['RheinaufCMS_User']['allowed_actions'] = $this->rechte; } else { $this->rechte = General::multi_unserialize($this->connection->db_assoc("SELECT * FROM `{$this->groups_table}` WHERE `Name` ='" . $_SESSION['RheinaufCMS_User']['Group'] . "'")); $_SESSION['RheinaufCMS_User']['allowed_actions'] = $this->rechte[0]['Rechte']; } } return true; } else { return false; } }