Rev 1882 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log
<?php
require('../lib/sql/attrmap.php');
if ((isset($login) && $login != '') && (isset($user_type) && $user_type !== 'group')){
if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
else{
echo "<b>Could not include SQL library</b><br>\n";
exit();
}
if ($config['sql_use_operators'] == 'true'){
$op = ',op';
$use_op = 1;
}else{
$op = "";
$use_op = 0;
}
$overwrite_defaults = 1;
$stop = 0;
$times = 0;
do{
unset($item_vals);
unset($member_groups);
unset($tmp);
$times++;
$link = da_sql_pconnect($config);
if ($link){
$res = da_sql_query($link,$config,
"SELECT groupname FROM $config[sql_usergroup_table] WHERE username = '$login';");
if ($res){
while(($row = da_sql_fetch_array($res,$config))){
$group = $row['groupname'];
$member_groups[$group] = $group;
}
if (isset($member_groups))
ksort($member_groups);
}
if (isset($member_groups)){
$in = '(';
foreach ($member_groups as $group)
$in .= "'$group',";
$in = substr($in,0,-1);
$in .= ')';
$res = da_sql_query($link,$config,
"SELECT attribute,value $op FROM $config[sql_groupcheck_table]
WHERE groupname IN $in;");
if ($res){
while(($row = da_sql_fetch_array($res,$config))){
$attr = $row['attribute'];
$val = $row['value'];
if ($use_op){
$oper = $row['op'];
$tmp["$attr"]['operator'][]="$oper";
}
$tmp["$attr"][]="$val";
$tmp["$attr"]['count']++;
}
$res = da_sql_query($link,$config,
"SELECT attribute,value $op FROM $config[sql_groupreply_table]
WHERE groupname IN $in;");
if ($res){
while(($row = da_sql_fetch_array($res,$config))){
$attr = $row['attribute'];
$val = $row['value'];
if ($use_op){
$oper = $row['op'];
$tmp["$attr"]['operator'][]="$oper";
}
$tmp["$attr"][] = "$val";
$tmp["$attr"]['count']++;
}
}
else
echo "<b>Database query failed partially: " . da_sql_error($link,$config) . "</b><br>\n";
}
else
echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
if (isset($tmp)){
foreach(array_keys($tmp) as $val){
if ($val == '')
continue;
$key = $rev_attrmap["$val"];
if ($key == ''){
$key = $val;
$attrmap["$key"] = $val;
$attr_type["$key"] = 'replyItem';
$rev_attrmap["$val"] = $key;
}
if (!isset($default_vals["$key"]) || $overwrite_defaults){
if ($use_op)
$default_vals["$key"]['operator'] = $tmp["$val"]['operator'];
if ($tmp[$val][0] != '')
$default_vals["$key"] = $tmp["$val"];
}
}
}
}
if ($times == 1){
if (!isset($config['sql_default_user_profile']) || $config['sql_default_user_profile'] == '')
$stop = 1;
else{
$saved_login = $login;
$saved_member_groups = $member_groups;
$login = $config['sql_default_user_profile'];
$overwrite_defaults = 0;
}
}
if ($times == 2){
$login = $saved_login;
$member_groups = $saved_member_groups;
$stop = 1;
}
}
else
echo "<b>Could not connect to SQL database</b><br>\n";
}while($stop == 0);
}
else{
if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
else{
echo "<b>Could not include SQL library</b><br>\n";
exit();
}
unset($member_groups);
$link = da_sql_pconnect($config);
if ($link){
$res = da_sql_query($link,$config,
"SELECT DISTINCT groupname FROM $config[sql_usergroup_table];");
if ($res){
while(($row = da_sql_fetch_array($res,$config)))
$member_groups[] = $row['groupname'];
}
else
echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
}
else
echo "<b>Could not connect to SQL database</b><br>\n";
}
?>