Author: th
Author: sl
Author: Kevin Papst
Beispiel #1
0
 /**
  * edit exp entry
  *
  * @param integer $id
  * @param array $data
  * @return object
  */
 public function expense_edit($id, array $data)
 {
     $conn = $this->conn;
     $data = $this->dbLayer->clean_data($data);
     $original_array = $this->expense_get($id);
     $new_array = array();
     foreach ($original_array as $key => $value) {
         if (isset($data[$key]) == true) {
             $new_array[$key] = $data[$key];
         } else {
             $new_array[$key] = $original_array[$key];
         }
     }
     $values['projectID'] = MySQL::SQLValue($new_array['projectID'], MySQL::SQLVALUE_NUMBER);
     $values['designation'] = MySQL::SQLValue($new_array['designation']);
     $values['comment'] = MySQL::SQLValue($new_array['comment']);
     $values['commentType'] = MySQL::SQLValue($new_array['commentType'], MySQL::SQLVALUE_NUMBER);
     $values['timestamp'] = MySQL::SQLValue($new_array['timestamp'], MySQL::SQLVALUE_NUMBER);
     $values['multiplier'] = MySQL::SQLValue($new_array['multiplier'], MySQL::SQLVALUE_NUMBER);
     $values['value'] = MySQL::SQLValue($new_array['value'], MySQL::SQLVALUE_NUMBER);
     $values['refundable'] = MySQL::SQLValue($new_array['refundable'], MySQL::SQLVALUE_NUMBER);
     $values['cleared'] = MySQL::SQLValue($new_array['cleared'], MySQL::SQLVALUE_NUMBER);
     $filter['expenseID'] = MySQL::SQLValue($id, MySQL::SQLVALUE_NUMBER);
     $table = $this->getExpenseTable();
     $query = MySQL::BuildSQLUpdate($table, $values, $filter);
     return $conn->Query($query);
 }
Beispiel #2
0
        write_config_file($database, $hostname, $username, $password, $db_layer, $db_type, $prefix, $lang, $salt, $timezone);
        break;
        /**
         * Create the database.
         */
    /**
     * Create the database.
     */
    case "make_database":
        $databaseName = $_REQUEST['database'];
        $hostname = $_REQUEST['hostname'];
        $username = $_REQUEST['username'];
        $password = $_REQUEST['password'];
        $server_type = $_REQUEST['db_type'];
        $db_layer = $_REQUEST['db_layer'];
        $db_error = false;
        $result = false;
        $database = new Kimai_Database_Mysql($result);
        $database->connect($hostname, null, $username, $password, true, $server_type);
        $conn = $database->getConnectionHandler();
        $query = "CREATE DATABASE `" . $databaseName . "` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
        $result = $conn->Query($query);
        if ($result !== false) {
            echo "1";
            // <-- hat geklappt
        } else {
            echo "0";
            // <-- schief gegangen
        }
        break;
}
Beispiel #3
0
} else {
    if (isset($_COOKIE['kimai_db']) && $_COOKIE['kimai_db'] == true) {
        $dbnr = $_COOKIE['kimai_db'] - 1;
        $kga['server_database'] = $server_ext_database[$dbnr];
        if ($server_ext_username[$dbnr] != '') {
            $kga['server_username'] = $server_ext_username[$dbnr];
        }
        if ($server_ext_password[$dbnr] != '') {
            $kga['server_password'] = $server_ext_password[$dbnr];
        }
        if ($server_ext_prefix[$dbnr] != '') {
            $kga['server_prefix'] = $server_ext_prefix[$dbnr];
        }
    }
}
$database = new Kimai_Database_Mysql($kga);
$database->connect($kga['server_hostname'], $kga['server_database'], $kga['server_username'], $kga['server_password'], $kga['utf8'], $kga['server_type']);
if (!$database->isConnected()) {
    die('Kimai could not connect to database. Check your autoconf.php.');
}
Kimai_Registry::setDatabase($database);
global $translations;
$translations = new Translations($kga);
if ($kga['language'] != 'en') {
    $translations->load($kga['language']);
}
$vars = $database->configuration_get_data();
if (!empty($vars)) {
    $kga['currency_name'] = $vars['currency_name'];
    $kga['currency_sign'] = $vars['currency_sign'];
    $kga['show_sensible_data'] = $vars['show_sensible_data'];
Beispiel #4
0
date_default_timezone_set($defaultTimezone);
Kimai_Registry::setConfig($kga);
// ============ global namespace cleanup ============
// remove some variables from the global namespace, that should either be
// not accessible or which are available through the kga config object
$cleanup = array('server_prefix', 'server_hostname', 'server_database', 'server_username', 'server_password', 'server_charset', 'language', 'password_salt', 'authenticator', 'defaultTimezone', 'billable', 'skin');
foreach ($cleanup as $varName) {
    if (isset(${$varName})) {
        unset(${$varName});
    }
}
unset($cleanup);
// ============ setup database ============
// we do not unset the $database variable
// as it is historically referenced in many places from the global namespace
$database = new Kimai_Database_Mysql($kga, true);
if (!$database->isConnected()) {
    die('Kimai could not connect to database. Check your autoconf.php.');
}
Kimai_Registry::setDatabase($database);
// ============ setup authenticator ============
$authClass = 'Kimai_Auth_' . ucfirst($kga->getAuthenticator());
if (!class_exists($authClass)) {
    $authClass = 'Kimai_Auth_Kimai';
}
$authPlugin = new $authClass($database, $kga);
Kimai_Registry::setAuthenticator($authPlugin);
unset($authPlugin);
// ============ load global configurations ============
$database->initializeConfig($kga);
// ============ setup translation object ============
Beispiel #5
0
/**
 * @param Kimai_Database_Mysql $database
 * @param array $kgaUser
 * @param bool $viewOtherGroupsAllowed
 * @return array
 */
function getEditUserList(Kimai_Database_Mysql $database, $kgaUser, $viewOtherGroupsAllowed)
{
    $users = array();
    $showDeletedUsers = get_cookie('adminPanel_extension_show_deleted_users', 0);
    if ($database->global_role_allows($kgaUser['globalRoleID'], 'core-user-otherGroup-view')) {
        $dbUsers = $database->get_users($showDeletedUsers);
    } else {
        $dbUsers = $database->get_users($showDeletedUsers, $kgaUser['groups']);
    }
    $roles = $database->global_roles();
    foreach ($dbUsers as $user) {
        $user['globalRoleName'] = 'Unknown (' . $user['globalRoleID'] . ')';
        foreach ($roles as $role) {
            if ($role['globalRoleID'] == $user['globalRoleID']) {
                $user['globalRoleName'] = $role['name'];
                break;
            }
        }
        $user['groups'] = array();
        $groups = $database->getGroupMemberships($user['userID']);
        if (is_array($groups)) {
            foreach ($groups as $group) {
                if (!$viewOtherGroupsAllowed && array_search($group, $kgaUser['groups']) === false) {
                    continue;
                }
                $groupData = $database->group_get_data($group);
                $user['groups'][] = $groupData['name'];
            }
        }
        $users[] = $user;
    }
    return $users;
}