Fixed missing check for correct column when moving a module left or right

This commit is contained in:
Marc Alexander
2011-04-02 19:49:19 +02:00
parent c3c9d59267
commit 4dc0f2d505
2 changed files with 26 additions and 39 deletions

View File

@@ -121,6 +121,7 @@ Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.boar
<change>Fixed incorrect handling of links</change>
<change>Fixed mixup with td and tr in subsilver2 calendar block</change>
<change>Added missing HTML file for center block of attachments module</change>
<change>Fixed missing check for correct column when moving a module left or right</change>
</changelog>
<changelog lang="de">
<change>Fehlendes IF $S_BLOCK_ICON hinzugefügt</change>
@@ -135,6 +136,7 @@ Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.boar
<change>Falsche Behandlung von Links korrigiert</change>
<change>Falsche Benutzung von td und tr im subsilver2 Kalender Block beseitigt</change>
<change>Fehlende HTML Datei des Dateianhänge Moduls für die mittlere Spalte hinzugefügt</change>
<change>Fehlende Überprüfung auf richtige Spalte beim Verschieben der Module</change>
</changelog>
</entry>
<entry>

View File

@@ -380,8 +380,9 @@ class acp_portal
{
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = module_order + 1
WHERE module_order = ' . ($module_data['module_order'] - 1) . '
AND module_column = ' . $module_data['module_column'];
WHERE module_order = ' . (int) ($module_data['module_order'] - 1) . '
AND module_column = ' . (int) $module_data['module_column'];
$db->sql_query($sql);
$updated = $db->sql_affectedrows();
if ($updated)
@@ -408,8 +409,8 @@ class acp_portal
{
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = module_order - 1
WHERE module_order = ' . ($module_data['module_order'] + 1) . '
AND module_column = ' . $module_data['module_column'];
WHERE module_order = ' . (int) ($module_data['module_order'] + 1) . '
AND module_column = ' . (int) $module_data['module_column'];
$db->sql_query($sql);
$updated = $db->sql_affectedrows();
if ($updated)
@@ -449,8 +450,8 @@ class acp_portal
{
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = module_order + 1
WHERE module_order >= ' . $module_data['module_order'] . '
AND module_column = ' . ($module_data['module_column'] + 1);
WHERE module_order >= ' . (int) $module_data['module_order'] . '
AND module_column = ' . (int) ($module_data['module_column'] + 1);
$db->sql_query($sql);
$updated = $db->sql_affectedrows();
@@ -461,8 +462,8 @@ class acp_portal
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = module_order - 1
WHERE module_order >= ' . $module_data['module_order'] . '
AND module_column = ' . $module_data['module_column'];
WHERE module_order >= ' . (int) $module_data['module_order'] . '
AND module_column = ' . (int) $module_data['module_column'];
$db->sql_query($sql);
// the module that needs to moved is in the last row
@@ -470,12 +471,13 @@ class acp_portal
{
$sql = 'SELECT MAX(module_order) as new_order
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_order < ' . $module_data['module_order'];
WHERE module_order < ' . (int) $module_data['module_order'] . '
AND module_column = ' . (int) ($module_data['module_column'] + 1);
$db->sql_query($sql);
$new_order = $db->sql_fetchfield('new_order') + 1;
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = ' . $new_order . '
SET module_order = ' . (int) $new_order . '
WHERE module_id = ' . (int) $module_id;
$db->sql_query($sql);
}
@@ -487,8 +489,8 @@ class acp_portal
{
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = module_order + 1
WHERE module_order >= ' . $module_data['module_order'] . '
AND module_column = ' . ($module_data['module_column'] + 2);
WHERE module_order >= ' . (int) $module_data['module_order'] . '
AND module_column = ' . (int) ($module_data['module_column'] + 2);
$db->sql_query($sql);
$updated = $db->sql_affectedrows();
@@ -499,8 +501,8 @@ class acp_portal
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = module_order - 1
WHERE module_order >= ' . $module_data['module_order'] . '
AND module_column = ' . $module_data['module_column'];
WHERE module_order >= ' . (int) $module_data['module_order'] . '
AND module_column = ' . (int) $module_data['module_column'];
$db->sql_query($sql);
// the module that needs to moved is in the last row
@@ -508,12 +510,13 @@ class acp_portal
{
$sql = 'SELECT MAX(module_order) as new_order
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_order < ' . $module_data['module_order'];
WHERE module_order < ' . (int) $module_data['module_order'] . '
AND module_column = ' . (int) ($module_data['module_column'] + 2);
$db->sql_query($sql);
$new_order = $db->sql_fetchfield('new_order') + 1;
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET module_order = ' . $new_order . '
SET module_order = ' . (int) $new_order . '
WHERE module_id = ' . (int) $module_id;
$db->sql_query($sql);
}
@@ -574,7 +577,8 @@ class acp_portal
{
$sql = 'SELECT MAX(module_order) as new_order
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_order < ' . $module_data['module_order'];
WHERE module_order < ' . $module_data['module_order'] . '
AND module_column = ' . (int) ($module_data['module_column'] - 1);
$db->sql_query($sql);
$new_order = $db->sql_fetchfield('new_order') + 1;
@@ -612,7 +616,8 @@ class acp_portal
{
$sql = 'SELECT MAX(module_order) as new_order
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_order < ' . $module_data['module_order'];
WHERE module_order < ' . $module_data['module_order'] . '
AND module_column = ' . (int) ($module_data['module_column'] - 2);
$db->sql_query($sql);
$new_order = $db->sql_fetchfield('new_order') + 1;
@@ -739,30 +744,10 @@ class acp_portal
$module_id = $db->sql_nextid();
$error = $c_class->install($module_id);
$c_class->install($module_id);
$cache->purge(); // make sure we don't get errors after re-adding a module
// if something went wrong, handle the errors accordingly and undo the above query
if (sizeof($error))
{
if (is_array($error))
{
foreach($error as $cur_error)
{
$error_output = $cur_error . '<br />';
}
}
else if($error != false)
{
$error_output = $error;
}
$sql = 'DELETE FROM ' . PORTAL_MODULES_TABLE . ' WHERE module_id = ' . (int) $module_id;
trigger_error($error_output . adm_back_link($this->u_action));
}
meta_refresh(3, append_sid("{$phpbb_admin_path}index.$phpEx", 'i=portal&amp;mode=config&amp;module_id=' . $module_id));
trigger_error($user->lang['SUCCESS_ADD'] . adm_back_link($this->u_action));