diff --git a/e107_files/shortcode/user_extended.sc b/e107_files/shortcode/user_extended.sc
index bac5a89fc..be3fc0419 100644
--- a/e107_files/shortcode/user_extended.sc
+++ b/e107_files/shortcode/user_extended.sc
@@ -93,27 +93,28 @@ if ($parms[1] == 'value')
$uVal = str_replace(chr(1), "", $udata['user_'.$parms[0]]);
switch ($ueStruct["user_".$parms[0]]['user_extended_struct_type'])
{
- // check for db_lookup type
- case EUF_DB_FIELD :
- $tmp = explode(",",$ueStruct["user_".$parms[0]]['user_extended_struct_values']);
- $sql_ue = new db; // Use our own DB object to avoid conflicts
- if($sql_ue->db_Select($tmp[0],"{$tmp[1]}, {$tmp[2]}","{$tmp[1]} = '{$uVal}'"))
- {
- $row = $sql_ue->db_Fetch();
- $ret_data = $row[$tmp[2]];
- }
- else
- {
- $ret_data = FALSE;
- }
- break;
- case EUF_DATE : //check for 0000-00-00 in date field
- if($uVal == "0000-00-00") { $uVal = ""; }
- $ret_data = $uVal;
- break;
- case EUF_PREDEFINED : // Predefined field - have to look up display string in relevant file
- $ret_data = e107_user_extended::user_extended_display_text($ueStruct["user_".$parms[0]]['user_extended_struct_values'],$uVal);
- break;
+ case EUF_DB_FIELD : // check for db_lookup type
+ $tmp = explode(",",$ueStruct["user_".$parms[0]]['user_extended_struct_values']);
+ $sql_ue = new db; // Use our own DB object to avoid conflicts
+ if($sql_ue->db_Select($tmp[0],"{$tmp[1]}, {$tmp[2]}","{$tmp[1]} = '{$uVal}'"))
+ {
+ $row = $sql_ue->db_Fetch();
+ $ret_data = $row[$tmp[2]];
+ }
+ else
+ {
+ $ret_data = FALSE;
+ }
+ break;
+ case EUF_DATE : //check for 0000-00-00 in date field
+ if($uVal == "0000-00-00") { $uVal = ""; }
+ $ret_data = $uVal;
+ break;
+ case EUF_PREDEFINED : // Predefined field - have to look up display string in relevant file
+ $ret_data = e107_user_extended::user_extended_display_text($ueStruct["user_".$parms[0]]['user_extended_struct_values'],$uVal);
+ break;
+ default :
+ $ret_data = $uVal;
}
if($ret_data != "")
{
diff --git a/e107_plugins/links_page/e_userprofile.php b/e107_plugins/links_page/e_userprofile.php
index ba44672c9..7136a1821 100644
--- a/e107_plugins/links_page/e_userprofile.php
+++ b/e107_plugins/links_page/e_userprofile.php
@@ -1,10 +1,13 @@
db_Select_gen($qry);
- if($sql -> db_Select_gen($qry1)){
- include_lan(e_PLUGIN."links_page/languages/".e_LANGUAGE.".php");
- while($row = $sql -> db_Fetch()){
-
+ if ($sql -> db_Select_gen($qry1))
+ {
+ while ($row = $sql -> db_Fetch())
+ {
$LINK_APPEND = "";
$icon = $LINK_APPEND."
";
- if ($row['link_button']) {
- if (strpos($row['link_button'], "http://") !== FALSE) {
+ if ($row['link_button'])
+ {
+ if (strpos($row['link_button'], "http://") !== FALSE)
+ {
$icon = $LINK_APPEND."
";
- } else {
- if(strstr($row['link_button'], "/")){
- if(is_readable(e_BASE.$row['link_button'])){
+ }
+ else
+ {
+ if(strstr($row['link_button'], "/"))
+ {
+ if(is_readable(e_BASE.$row['link_button']))
+ {
$icon = $LINK_APPEND."
";
}
- }else{
- if(is_readable(e_PLUGIN."links_page/link_images/".$row['link_button'])){
+ }
+ else
+ {
+ if(is_readable(e_PLUGIN."links_page/link_images/".$row['link_button']))
+ {
$icon = $LINK_APPEND."
";
}
}
diff --git a/e107_plugins/links_page/plugin.xml b/e107_plugins/links_page/plugin.xml
index 2b1fb0ce1..2d4b32678 100644
--- a/e107_plugins/links_page/plugin.xml
+++ b/e107_plugins/links_page/plugin.xml
@@ -1,12 +1,13 @@
-
+
Links Page For Displaying External Web Links
links_page
Copyright e107 Inc e107.org, Licensed under GPL (http://www.gnu.org/licenses/gpl.txt)
+
admin_linkspage_config.php
images/linkspage_32.png
diff --git a/signup.php b/signup.php
index e781d2e32..7750bd975 100644
--- a/signup.php
+++ b/signup.php
@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/signup.php,v $
-| $Revision: 1.25 $
-| $Date: 2008-12-10 18:06:33 $
+| $Revision: 1.26 $
+| $Date: 2008-12-17 20:26:51 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
@@ -322,31 +322,31 @@ if (e_QUERY)
$e107cache->clear("online_menu_totals");
if ($sql->db_Select("user", "*", "user_sess='".$tp -> toDB($qs[2], true)."' "))
{
- if ($row = $sql->db_Fetch())
- {
- // Set initial classes, and any which the user can opt to join
- $init_classes = '';
- if ($pref['init_class_stage'] == '2')
+ if ($row = $sql->db_Fetch())
{
- $init_classes = explode(',',varset($pref['initial_user_classes'],''));
- if ($init_classes)
- { // Update the user classes
- $row['user_class'] = $tp->toDB(implode(',',array_unique(array_merge($init_classes, explode(',',$row['user_class'])))));
- $init_classes = ", user_class='".$row['user_class']."' ";
- }
- }
- $sql->db_Update("user", "user_ban='0', user_sess=''{$init_classes} WHERE user_sess='".$tp -> toDB($qs[2], true)."' ");
+ // Set initial classes, and any which the user can opt to join
+ $init_classes = '';
+ if ($pref['init_class_stage'] == '2')
+ {
+ $init_classes = explode(',',varset($pref['initial_user_classes'],''));
+ if ($init_classes)
+ { // Update the user classes
+ $row['user_class'] = $tp->toDB(implode(',',array_unique(array_merge($init_classes, explode(',',$row['user_class'])))));
+ $init_classes = ", user_class='".$row['user_class']."' ";
+ }
+ }
+ $sql->db_Update("user", "user_ban='0', user_sess=''{$init_classes} WHERE user_sess='".$tp -> toDB($qs[2], true)."' ");
- // Log to user audit log if enabled
- $admin_log->user_audit(USER_AUDIT_EMAILACK,$row);
-
- $e_event->trigger("userveri", $row);
- require_once(HEADERF);
- $text = LAN_401." ".LAN_SIGNUP_22." ".LAN_SIGNUP_23."
".LAN_SIGNUP_24." ".SITENAME;
- $ns->tablerender(LAN_402, $text);
- require_once(FOOTERF);
- exit;
- }
+ // Log to user audit log if enabled
+ $admin_log->user_audit(USER_AUDIT_EMAILACK,$row);
+
+ $e_event->trigger("userveri", $row);
+ require_once(HEADERF);
+ $text = LAN_401." ".LAN_SIGNUP_22." ".LAN_SIGNUP_23."
".LAN_SIGNUP_24." ".SITENAME;
+ $ns->tablerender(LAN_402, $text);
+ require_once(FOOTERF);
+ exit;
+ }
}
else
{ // Invalid activation code
@@ -630,16 +630,16 @@ global $db_debug;
// Check for Duplicate Email address - but only if previous checks passed.
if ($do_email_validate && $email_address_OK && $sql->db_Select("user", "user_email, user_ban, user_sess", "user_email='".$_POST['email']."' "))
{
- $chk = $sql -> db_Fetch();
- if($chk['user_ban']== 2 && $chk['user_sess'])
- { // duplicate because unactivated
+ $chk = $sql -> db_Fetch();
+ if($chk['user_ban']== 2 && $chk['user_sess'])
+ { // duplicate because unactivated
$error = TRUE;
header("Location: ".e_BASE."signup.php?resend");
exit;
- }
- else
- {
- $email_address_OK = FALSE;
+ }
+ else
+ {
+ $email_address_OK = FALSE;
$error_message .= LAN_408."\\n";
$error = TRUE;
}
@@ -647,36 +647,43 @@ global $db_debug;
// Extended Field validation
$extList = $usere->user_extended_get_fieldList();
+ $eufVals = array();
foreach($extList as $ext)
{
- if(isset($_POST['ue']['user_'.$ext['user_extended_struct_name']]))
+ $eufName = 'user_'.$ext['user_extended_struct_name'];
+ if(isset($_POST['ue'][$eufName]))
{
- $newval = trim($_POST['ue']['user_'.$ext['user_extended_struct_name']]);
+ $newval = trim($_POST['ue'][$eufName]);
+// echo "Vetting field ".'user_'.$ext['user_extended_struct_name'].": {$newval} = ".trim($_POST['ue']['user_'.$ext['user_extended_struct_name']])."
";
if($ext['user_extended_struct_required'] == 1 && (($newval == "") || (($ext['user_extended_struct_type'] == 7) && ($newval == '0000-00-00')) ))
- {
+ { // Required field not present
$_ftext = (defined($ext['user_extended_struct_text']) ? constant($ext['user_extended_struct_text']) : $ext['user_extended_struct_text']);
$error_message .= LAN_SIGNUP_6.$_ftext.LAN_SIGNUP_7."\\n";
$error = TRUE;
}
- $parms = explode("^,^", $ext['user_extended_struct_parms']);
- $regex = (isset($parms[1]) ? $tp->toText($parms[1]) : "");
- $regexfail = (isset($parms[2]) ? trim($tp->toText($parms[2])) : "");
-
- if($regexfail == "")
+ else
{
- $regexfail = $ext['user_extended_struct_name']." ".LAN_SIGNUP_53;
- }
+ $parms = explode("^,^", $ext['user_extended_struct_parms']);
+ $regex = (isset($parms[1]) ? $tp->toText($parms[1]) : "");
+ $regexfail = (isset($parms[2]) ? trim($tp->toText($parms[2])) : "");
- if(defined($regexfail)) {$regexfail = constant($regexfail);}
+ if($regexfail == "")
+ {
+ $regexfail = $ext['user_extended_struct_name']." ".LAN_SIGNUP_53;
+ }
- if($regex != "" && $newval != "")
- {
- if(!preg_match($regex, $newval))
+ if(defined($regexfail)) {$regexfail = constant($regexfail);}
+
+ if($regex != "" && $newval != "" && !preg_match($regex, $newval))
{
$error_message .= $regexfail."\\n";
$error = TRUE;
}
+ else
+ {
+ $eufVals[$eufName] = $newval;
+ }
}
}
}
@@ -711,10 +718,10 @@ global $db_debug;
$ip = $e107->getip();
$ue_fields = "";
- foreach($_POST['ue'] as $key => $val)
+ if (count($eufVals))
+ {
+ foreach($eufVals as $key => $val) // We've already ensured only valid keys here
{
- if (isset($extList[$key]))
- { // Only allow valid keys
$key = $tp->toDB($key);
$val = $tp->toDB($val);
$ue_fields .= ($ue_fields) ? ", " : "";
@@ -722,7 +729,7 @@ global $db_debug;
}
}
- $u_key = md5(uniqid(rand(), 1)); // Key for signup completion
+ $u_key = md5(uniqid(rand(), 1)); // Key for signup completion
// ************* Possible class insert
// Following array will be logged to both admin log and user's entry
@@ -745,10 +752,10 @@ global $db_debug;
'user_login' => $tp -> toDB($_POST['realname']),
'user_xup' => $tp -> toDB($_POST['xupexist'])
);
- if (varsettrue($pref['allowEmailLogin']))
- { // Need to create separate password for email login
- $new_data['user_prefs'] = serialize(array('email_password' => $user_info->HashPassword($_POST['password1'], $new_data['user_email'])));
- }
+ if (varsettrue($pref['allowEmailLogin']))
+ { // Need to create separate password for email login
+ $new_data['user_prefs'] = serialize(array('email_password' => $user_info->HashPassword($_POST['password1'], $new_data['user_email'])));
+ }
$nid = $sql->db_Insert("user", array_merge($signup_data,$new_data));
@@ -767,24 +774,38 @@ global $db_debug;
}
- $adviseLoginName = '';
- if (varsettrue($pref['predefinedLoginName']))
- {
- $adviseLoginName = LAN_SIGNUP_65.': '.$loginname.'
'.LAN_SIGNUP_66.'
';
- }
+ $adviseLoginName = '';
+ if (varsettrue($pref['predefinedLoginName']))
+ {
+ $adviseLoginName = LAN_SIGNUP_65.': '.$loginname.'
'.LAN_SIGNUP_66.'
';
+ }
if ($pref['user_reg_veri'])
{ // Verification required (may be by email or by admin)
- // Set initial classes, and any which the user can opt to join
- $init_classes = array();
- if ($pref['init_class_stage'] == '1') $init_classes = explode(',',varset($pref['initial_user_classes'],''));
- if (isset($_POST['class'])) $init_classes = array_unique(array_merge($init_classes, $_POST['class']));
- if (count($init_classes))
- {
- $sql->db_Update("user", "user_class='".$tp -> toDB(implode(',',$init_classes))."' WHERE user_id='".$nid."' ");
- }
+ // Set initial classes, and any which the user can opt to join
+ $init_classes = array();
+ if ($pref['init_class_stage'] == '1') { $init_classes = explode(',',varset($pref['initial_user_classes'],'')); }
+ if (isset($_POST['class']))
+ {
+ foreach ($_POST['class'] as $cl)
+ {
+ if (intval($cl))
+ {
+ $init_classes[] = $cl;
+ }
+ }
+ }
+ if (varsettrue($pref['user_new_period']))
+ {
+ $init_classes[] = e_UC_NEWUSER;
+ }
+ $init_classes = array_unique($init_classes);
+ if (count($init_classes))
+ {
+ $sql->db_Update("user", "user_class='".$tp -> toDB(implode(',',$init_classes))."' WHERE user_id='".$nid."' ");
+ }
// ========= save extended fields into db table. =====
@@ -842,19 +863,33 @@ global $db_debug;
require_once(HEADERF);
if(!$sql -> db_Select("user", "user_id", "user_name='{$username}' AND user_password='".$new_data['user_password']."'"))
- { // Error looking up newly created user
+ { // Error looking up newly created user
$ns->tablerender("", LAN_SIGNUP_36);
require_once(FOOTERF);
exit;
}
- // Set initial classes, and any which the user can opt to join
- $init_classes = explode(',',varset($pref['initial_user_classes'],''));
- if (isset($_POST['class'])) $init_classes = array_unique(array_merge($init_classes, $_POST['class']));
+ // Set initial classes, and any which the user can opt to join
+ $init_classes = explode(',',varset($pref['initial_user_classes'],''));
+ if (isset($_POST['class']))
+ {
+ foreach ($_POST['class'] as $cl)
+ {
+ if (intval($cl))
+ {
+ $init_classes[] = $cl;
+ }
+ }
+ }
+ if (varsettrue($pref['user_new_period']))
+ {
+ $init_classes[] = e_UC_NEWUSER;
+ }
+ $init_classes = array_unique($init_classes);
- // Set member as registered, update classes
- $sql->db_Update("user", "user_ban = '".USER_VALIDATED."', user_class='".$tp -> toDB(implode(',',$init_classes))."' WHERE user_id = '{$nid}'");
+ // Set member as registered, update classes
+ $sql->db_Update("user", "user_ban = '".USER_VALIDATED."', user_class='".implode(',',$init_classes)."' WHERE user_id = '{$nid}'");
// ======== save extended fields to DB table.
@@ -865,12 +900,12 @@ global $db_debug;
}
$_POST['ip'] = $ip;
- $_POST['user_id'] = $nid; // ID for the user
+ $_POST['user_id'] = $nid; // ID for the user
$e_event->trigger("usersup", $_POST); // send everything in the template, including extended fields.
- if (isset($pref['signup_text_after']) && (strlen($pref['signup_text_after']) > 2))
+ if (isset($pref['signup_text_after']) && (strlen($pref['signup_text_after']) > 2))
{
- $text = $tp->toHTML(str_replace('{NEWLOGINNAME}', $loginname, $pref['signup_text_after']), TRUE, 'parse_sc,defs')."
";
+ $text = $tp->toHTML(str_replace('{NEWLOGINNAME}', $loginname, $pref['signup_text_after']), TRUE, 'parse_sc,defs')."
";
}
else
{