1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-20 13:21:54 +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:
mcfly
2008-11-30 23:15:15 +00:00
parent 0ed0056af7
commit 2407827501
3 changed files with 54 additions and 44 deletions

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_handlers/user_extended_class.php,v $
| $Revision: 1.15 $
| $Date: 2008-11-24 00:36:50 $
| $Revision: 1.16 $
| $Date: 2008-11-30 23:15:15 $
| $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)."'");
}
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
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)
{
global $sql, $tp;
$this->clear_cache();
if(is_array($name))
{
extract($name);
@@ -245,7 +251,7 @@ class e107_user_extended
$field_info = $this->user_extended_type_text($type, $default);
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();
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_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))
{
return TRUE;
@@ -293,6 +299,7 @@ class e107_user_extended
function user_extended_remove($id, $name)
{
global $sql, $tp;
$this->clear_cache();
if ($this->user_extended_field_exist($name))
{
$sql->db_Select_gen("ALTER TABLE #user_extended DROP user_".$tp -> toDB($name, true));