mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-06-01 20:04:51 +02:00
- fix: quick search error if the query term contained " or '
- optimized sql query in sync_users (called every time on admin page) - a lot faster when #user_cache_categories is big - added function Template->delete_block_vars (opposite of assign_block_vars) git-svn-id: http://piwigo.org/svn/branches/branch-1_7@2094 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -1159,7 +1159,7 @@ SELECT user_id
|
||||
foreach ($tables as $table)
|
||||
{
|
||||
$query = '
|
||||
SELECT user_id
|
||||
SELECT DISTINCT user_id
|
||||
FROM '.$table.'
|
||||
;';
|
||||
$to_delete = array_diff(
|
||||
@@ -1989,4 +1989,4 @@ UPDATE '.USER_CACHE_TABLE.'
|
||||
pwg_query($query);
|
||||
trigger_action('invalidate_user_cache');
|
||||
}
|
||||
?>
|
||||
?>
|
||||
@@ -223,13 +223,13 @@ if (count($categories) > 0)
|
||||
'<br />'
|
||||
),
|
||||
'DESCRIPTION' =>
|
||||
trigger_event('render_category_literal_description',
|
||||
trigger_event('render_category_description',
|
||||
trigger_event('render_category_literal_description',
|
||||
trigger_event('render_category_description',
|
||||
@$category['comment'])),
|
||||
'NAME' => $name,
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
//plugins need to add/modify sth in this loop ?
|
||||
trigger_action('loc_index_category_thumbnail',
|
||||
$category, 'categories.category' );
|
||||
@@ -314,8 +314,8 @@ if (count($categories) > 0)
|
||||
}
|
||||
|
||||
$template->assign_var_from_handle('CATEGORIES', 'thumbnails');
|
||||
unset( $template->_tpldata['thumbnails.'] );//maybe write a func for that
|
||||
$template->delete_block_vars('thumbnails', true); // category_default reuse them
|
||||
}
|
||||
trigger_action('loc_end_index_category_thumbnails', $categories);
|
||||
}
|
||||
?>
|
||||
?>
|
||||
@@ -295,6 +295,43 @@ class Template {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Block-level variable deletion. Deletes the last block iteration.
|
||||
* if all is true - all blocks are removed
|
||||
* return true if a deletion occured
|
||||
*/
|
||||
function delete_block_vars($blockname, $all=false)
|
||||
{
|
||||
$blocks = explode('.', $blockname);
|
||||
$blockcount = count($blocks);
|
||||
$str = '$this->_tpldata';
|
||||
for ($i = 0; $i < $blockcount; $i++)
|
||||
{
|
||||
$str .= '[\'' . $blocks[$i] . '.\']';
|
||||
eval('$lastiteration = isset('.$str.') ? sizeof('.$str.')-1:-1;');
|
||||
if ($lastiteration==-1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ($i==$blockcount-1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
$str .= '[' . $lastiteration . ']';
|
||||
}
|
||||
|
||||
if ($all==true or $lastiteration==0)
|
||||
{
|
||||
$str ='unset('.$str.');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$str ='unset('.$str.'['.$lastiteration.']);';
|
||||
}
|
||||
eval($str);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Root-level variable assignment. Adds to current assignments, overriding
|
||||
* any existing variable assignment with the same name.
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ $query ='
|
||||
INSERT INTO '.SEARCH_TABLE.'
|
||||
(rules, last_seen)
|
||||
VALUES
|
||||
(\''.serialize($search).'\', NOW() )
|
||||
(\''.addslashes(serialize($search)).'\', NOW() )
|
||||
;';
|
||||
pwg_query($query);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user