<?php
function get_mysql_accounts($UID)
{
$UID = (int) $UID;
$result = db_query("SELECT username, description, created FROM misc.mysql_accounts WHERE useraccount=$UID");
if (mysql_num_rows($result) == 0)
return array();
$list = array();
while ($item = mysql_fetch_assoc($result))
{
$list[] = $item;
}
return $list;
}
function get_mysql_databases($UID)
{
$UID = (int) $UID;
$result = db_query("SELECT id, name, description, created FROM misc.mysql_database WHERE useraccount=$UID");
if (mysql_num_rows($result) == 0)
return array();
$list = array();
while ($item = mysql_fetch_assoc($result))
{
$list[] = $item;
}
return $list;
}
function server_for_database($id)
{
$id = (int) $id;
$result = db_query("SELECT hostname FROM misc.mysql_database AS db LEFT JOIN system.useraccounts AS u ON (db.useraccount=u.uid) LEFT JOIN system.servers ON (COALESCE(db.server, u.server) = servers.id) WHERE db.id={$id}");
if (mysql_num_rows($result) != 1)
system_failure("Fehler beim auslesen des zuständigen Servers");
$s = mysql_fetch_assoc($result);
return $s["hostname"];
}
function get_mysql_access($db, $account)
{
$uid = $_SESSION['userinfo']['uid'];
global $mysql_access;
if (!is_array($mysql_access))
{
$mysql_access = array();
$result = db_query("SELECT db.name AS db, acc.username AS user FROM misc.mysql_access AS access LEFT JOIN misc.mysql_database AS db ON (db.id=access.database) LEFT JOIN misc.mysql_accounts AS acc ON (acc.id = access.user) WHERE acc.useraccount={$uid} OR db.useraccount={$uid};");