mirror of
https://github.com/e107inc/e107.git
synced 2025-08-05 14:17:49 +02:00
Add file caching of user extended table
Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/
This commit is contained in:
60
class2.php
60
class2.php
@@ -11,9 +11,9 @@
|
|||||||
| GNU General Public License (http://gnu.org).
|
| GNU General Public License (http://gnu.org).
|
||||||
|
|
|
|
||||||
| $Source: /cvs_backup/e107_0.8/class2.php,v $
|
| $Source: /cvs_backup/e107_0.8/class2.php,v $
|
||||||
| $Revision: 1.78 $
|
| $Revision: 1.79 $
|
||||||
| $Date: 2008-11-29 23:23:31 $
|
| $Date: 2008-11-30 23:15:15 $
|
||||||
| $Author: secretr $
|
| $Author: mcfly_e107 $
|
||||||
+----------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------+
|
||||||
*/
|
*/
|
||||||
//
|
//
|
||||||
@@ -637,6 +637,10 @@ e107_require_once(e_HANDLER.'event_class.php');
|
|||||||
$e107->e_event = new e107_event;
|
$e107->e_event = new e107_event;
|
||||||
$e_event = &$e107->e_event;
|
$e_event = &$e107->e_event;
|
||||||
|
|
||||||
|
e107_require_once(e_HANDLER.'userclass_class.php');
|
||||||
|
$e107->e_userclass = new user_class;
|
||||||
|
$e_userclass = &$e107->e_userclass;
|
||||||
|
|
||||||
if(isset($pref['notify']) && $pref['notify'] == true)
|
if(isset($pref['notify']) && $pref['notify'] == true)
|
||||||
{
|
{
|
||||||
e107_require_once(e_HANDLER.'notify_class.php');
|
e107_require_once(e_HANDLER.'notify_class.php');
|
||||||
@@ -1218,7 +1222,6 @@ function getperms($arg, $ap = ADMINPERMS)
|
|||||||
*/
|
*/
|
||||||
function get_user_data($uid, $extra = '')
|
function get_user_data($uid, $extra = '')
|
||||||
{
|
{
|
||||||
global $pref, $sql;
|
|
||||||
$e107 = e107::getInstance();
|
$e107 = e107::getInstance();
|
||||||
$uid = (int)$uid;
|
$uid = (int)$uid;
|
||||||
$var = array();
|
$var = array();
|
||||||
@@ -1233,38 +1236,46 @@ function get_user_data($uid, $extra = '')
|
|||||||
LEFT JOIN #user_extended AS ue ON ue.user_extended_id = u.user_id
|
LEFT JOIN #user_extended AS ue ON ue.user_extended_id = u.user_id
|
||||||
WHERE u.user_id = {$uid} {$extra}
|
WHERE u.user_id = {$uid} {$extra}
|
||||||
";
|
";
|
||||||
if (!$sql->db_Select_gen($qry))
|
if (!$e107->sql->db_Select_gen($qry))
|
||||||
{
|
{
|
||||||
$qry = "SELECT * FROM #user AS u WHERE u.user_id = {$uid} {$extra}";
|
$qry = "SELECT * FROM #user AS u WHERE u.user_id = {$uid} {$extra}";
|
||||||
if(!$sql->db_Select_gen($qry))
|
if(!$e107->sql->db_Select_gen($qry))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$var = $e107->sql->db_Fetch();
|
||||||
|
|
||||||
$var = $sql->db_Fetch();
|
if(!$extended_struct = getcachedvars('extended_struct'))
|
||||||
$extended_struct = getcachedvars('extended_struct');
|
|
||||||
if(!$extended_struct)
|
|
||||||
{
|
{
|
||||||
unset($extended_struct);
|
if($tmp = $e107->ecache->retrieve_sys('nomd5_extended_struct'))
|
||||||
$qry = 'SHOW COLUMNS FROM #user_extended ';
|
|
||||||
if($sql->db_Select_gen($qry))
|
|
||||||
{
|
{
|
||||||
while($row = $sql->db_Fetch())
|
$extended_struct = $e107->arrayStorage->ReadArray($tmp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$qry = 'SHOW COLUMNS FROM #user_extended ';
|
||||||
|
if($e107->sql->db_Select_gen($qry))
|
||||||
{
|
{
|
||||||
if($row['Default'] != '')
|
while($row = $e107->sql->db_Fetch())
|
||||||
{
|
{
|
||||||
$extended_struct[] = $row;
|
if($row['Default'] != '')
|
||||||
|
{
|
||||||
|
$extended_struct[] = $row;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isset($extended_struct))
|
$tmp = $e107->arrayStorage->WriteArray($extended_struct);
|
||||||
{
|
$e107->ecache->set_sys('nomd5_extended_struct', $tmp);
|
||||||
cachevars('extended_struct', $extended_struct);
|
unset($tmp);
|
||||||
}
|
}
|
||||||
|
if(isset($extended_struct))
|
||||||
|
{
|
||||||
|
cachevars('extended_struct', $extended_struct);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($extended_struct))
|
if(isset($extended_struct) && is_array($extended_struct))
|
||||||
{
|
{
|
||||||
foreach($extended_struct as $row)
|
foreach($extended_struct as $row)
|
||||||
{
|
{
|
||||||
@@ -1277,14 +1288,7 @@ function get_user_data($uid, $extra = '')
|
|||||||
|
|
||||||
//===========================================================
|
//===========================================================
|
||||||
// Now look up the 'inherited' user classes
|
// Now look up the 'inherited' user classes
|
||||||
global $e_userclass;
|
$var['user_class'] = $e107->e_userclass->get_all_user_classes($var['user_class']);
|
||||||
if (!isset($e_userclass) && !is_object($e_userclass))
|
|
||||||
{
|
|
||||||
require_once(e_HANDLER.'userclass_class.php');
|
|
||||||
$e107->e_userclass = new user_class;
|
|
||||||
$e_userclass = &$e107->e_userclass;
|
|
||||||
}
|
|
||||||
$var['user_class'] = $e_userclass->get_all_user_classes($var['user_class']);
|
|
||||||
|
|
||||||
//===========================================================
|
//===========================================================
|
||||||
|
|
||||||
|
@@ -11,19 +11,20 @@
|
|||||||
| GNU General Public License (http://gnu.org).
|
| GNU General Public License (http://gnu.org).
|
||||||
|
|
|
|
||||||
| $Source: /cvs_backup/e107_0.8/e107_admin/users_extended.php,v $
|
| $Source: /cvs_backup/e107_0.8/e107_admin/users_extended.php,v $
|
||||||
| $Revision: 1.12 $
|
| $Revision: 1.13 $
|
||||||
| $Date: 2008-08-30 20:22:23 $
|
| $Date: 2008-11-30 23:15:15 $
|
||||||
| $Author: e107steved $
|
| $Author: mcfly_e107 $
|
||||||
+----------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------+
|
||||||
*/
|
*/
|
||||||
require_once("../class2.php");
|
require_once('../class2.php');
|
||||||
if (!getperms("4")) {
|
if (!getperms('4'))
|
||||||
header("location:".e_BASE."index.php");
|
{
|
||||||
|
header('location:'.e_BASE.'index.php');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
if (isset($_POST['cancel']))
|
if (isset($_POST['cancel']))
|
||||||
{
|
{
|
||||||
header("location:".e_SELF);
|
header('location:'.e_SELF);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
if (isset($_POST['cancel_cat']))
|
if (isset($_POST['cancel_cat']))
|
||||||
@@ -35,12 +36,11 @@ if (isset($_POST['cancel_cat']))
|
|||||||
$e_sub_cat = 'user_extended';
|
$e_sub_cat = 'user_extended';
|
||||||
$user = new users_ext;
|
$user = new users_ext;
|
||||||
$curtype = '1';
|
$curtype = '1';
|
||||||
require_once(e_HANDLER."calendar/calendar_class.php");
|
require_once(e_HANDLER.'calendar/calendar_class.php');
|
||||||
$cal = new DHTML_Calendar(true);
|
$cal = new DHTML_Calendar(true);
|
||||||
require_once("auth.php");
|
require_once("auth.php");
|
||||||
require_once(e_HANDLER."user_extended_class.php");
|
require_once(e_HANDLER.'user_extended_class.php');
|
||||||
require_once(e_HANDLER."userclass_class.php");
|
require_once(e_HANDLER.'userclass_class.php');
|
||||||
|
|
||||||
|
|
||||||
$ue = new e107_user_extended;
|
$ue = new e107_user_extended;
|
||||||
$message = '';
|
$message = '';
|
||||||
@@ -55,7 +55,6 @@ if (e_QUERY)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (isset($_POST['up_x']))
|
if (isset($_POST['up_x']))
|
||||||
{
|
{
|
||||||
$qs = explode(".", $_POST['id']);
|
$qs = explode(".", $_POST['id']);
|
||||||
|
@@ -11,8 +11,8 @@
|
|||||||
| GNU General Public License (http://gnu.org).
|
| GNU General Public License (http://gnu.org).
|
||||||
|
|
|
|
||||||
| $Source: /cvs_backup/e107_0.8/e107_handlers/user_extended_class.php,v $
|
| $Source: /cvs_backup/e107_0.8/e107_handlers/user_extended_class.php,v $
|
||||||
| $Revision: 1.15 $
|
| $Revision: 1.16 $
|
||||||
| $Date: 2008-11-24 00:36:50 $
|
| $Date: 2008-11-30 23:15:15 $
|
||||||
| $Author: mcfly_e107 $
|
| $Author: mcfly_e107 $
|
||||||
+----------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------+
|
||||||
*/
|
*/
|
||||||
@@ -220,6 +220,11 @@ class e107_user_extended
|
|||||||
return $sql->db_Count('user_extended_struct','(*)', "WHERE user_extended_struct_name = '".$tp -> toDB($name, true)."'");
|
return $sql->db_Count('user_extended_struct','(*)', "WHERE user_extended_struct_name = '".$tp -> toDB($name, true)."'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clear_cache()
|
||||||
|
{
|
||||||
|
$e107 = e107::getInstance();
|
||||||
|
$e107->ecache->clear_sys('nomd5_extended_struct');
|
||||||
|
}
|
||||||
|
|
||||||
// For use by plugins to add extended user fields and won't be visible anywhere else
|
// For use by plugins to add extended user fields and won't be visible anywhere else
|
||||||
function user_extended_add_system($name, $type, $default = '', $source = '_system_')
|
function user_extended_add_system($name, $type, $default = '', $source = '_system_')
|
||||||
@@ -231,6 +236,7 @@ class e107_user_extended
|
|||||||
function user_extended_add($name, $text, $type, $parms, $values, $default, $required, $read, $write, $applicable, $order='', $parent)
|
function user_extended_add($name, $text, $type, $parms, $values, $default, $required, $read, $write, $applicable, $order='', $parent)
|
||||||
{
|
{
|
||||||
global $sql, $tp;
|
global $sql, $tp;
|
||||||
|
$this->clear_cache();
|
||||||
if(is_array($name))
|
if(is_array($name))
|
||||||
{
|
{
|
||||||
extract($name);
|
extract($name);
|
||||||
@@ -245,7 +251,7 @@ class e107_user_extended
|
|||||||
$field_info = $this->user_extended_type_text($type, $default);
|
$field_info = $this->user_extended_type_text($type, $default);
|
||||||
if($order === '')
|
if($order === '')
|
||||||
{
|
{
|
||||||
if($sql->db_Select("user_extended_struct","MAX(user_extended_struct_order) as maxorder","1"))
|
if($sql->db_Select('user_extended_struct','MAX(user_extended_struct_order) as maxorder','1'))
|
||||||
{
|
{
|
||||||
$row = $sql->db_Fetch();
|
$row = $sql->db_Fetch();
|
||||||
if(is_numeric($row['maxorder']))
|
if(is_numeric($row['maxorder']))
|
||||||
@@ -255,7 +261,7 @@ class e107_user_extended
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$sql->db_Select_gen("ALTER TABLE #user_extended ADD user_".$tp -> toDB($name, true)." ".$field_info);
|
$sql->db_Select_gen("ALTER TABLE #user_extended ADD user_".$tp -> toDB($name, true)." ".$field_info);
|
||||||
$sql->db_Insert("user_extended_struct","0,'".$tp -> toDB($name, true)."','".$tp -> toDB($text, true)."','".intval($type)."','".$tp -> toDB($parms, true)."','".$tp -> toDB($values, true)."', '".$tp -> toDB($default, true)."', '".intval($read)."', '".intval($write)."', '".intval($required)."', '0', '".intval($applicable)."', '".intval($order)."', '".intval($parent)."'");
|
$sql->db_Insert('user_extended_struct',"0,'".$tp -> toDB($name, true)."','".$tp -> toDB($text, true)."','".intval($type)."','".$tp -> toDB($parms, true)."','".$tp -> toDB($values, true)."', '".$tp -> toDB($default, true)."', '".intval($read)."', '".intval($write)."', '".intval($required)."', '0', '".intval($applicable)."', '".intval($order)."', '".intval($parent)."'");
|
||||||
if ($this->user_extended_field_exist($name))
|
if ($this->user_extended_field_exist($name))
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -293,6 +299,7 @@ class e107_user_extended
|
|||||||
function user_extended_remove($id, $name)
|
function user_extended_remove($id, $name)
|
||||||
{
|
{
|
||||||
global $sql, $tp;
|
global $sql, $tp;
|
||||||
|
$this->clear_cache();
|
||||||
if ($this->user_extended_field_exist($name))
|
if ($this->user_extended_field_exist($name))
|
||||||
{
|
{
|
||||||
$sql->db_Select_gen("ALTER TABLE #user_extended DROP user_".$tp -> toDB($name, true));
|
$sql->db_Select_gen("ALTER TABLE #user_extended DROP user_".$tp -> toDB($name, true));
|
||||||
|
Reference in New Issue
Block a user