diff --git a/install.xml b/install.xml
index afcf862a..4d961507 100644
--- a/install.xml
+++ b/install.xml
@@ -121,6 +121,7 @@ Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.boar
Fixed incorrect handling of links
Fixed mixup with td and tr in subsilver2 calendar block
Added missing HTML file for center block of attachments module
+ Fixed missing check for correct column when moving a module left or right
Fehlendes IF $S_BLOCK_ICON hinzugefügt
@@ -135,6 +136,7 @@ Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.boar
Falsche Behandlung von Links korrigiert
Falsche Benutzung von td und tr im subsilver2 Kalender Block beseitigt
Fehlende HTML Datei des Dateianhänge Moduls für die mittlere Spalte hinzugefügt
+ Fehlende Überprüfung auf richtige Spalte beim Verschieben der Module
diff --git a/root/includes/acp/acp_portal.php b/root/includes/acp/acp_portal.php
index 766c8750..160e1793 100644
--- a/root/includes/acp/acp_portal.php
+++ b/root/includes/acp/acp_portal.php
@@ -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,29 +744,9 @@ 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 . '
';
- }
- }
- 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&mode=config&module_id=' . $module_id));