Modules can now be moved to the a different column, even if it is further down the column than any module in the new column
This commit is contained in:
@@ -395,17 +395,30 @@ class acp_portal
|
|||||||
AND module_column = ' . ($module_data['module_column'] + 1);
|
AND module_column = ' . ($module_data['module_column'] + 1);
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
$updated = $db->sql_affectedrows();
|
$updated = $db->sql_affectedrows();
|
||||||
if ($updated)
|
|
||||||
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
|
SET module_column = module_column + 1
|
||||||
|
WHERE module_id = ' . $module_id;
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$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'];
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
// the module that needs to moved is in the last row
|
||||||
|
if(!$updated)
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'SELECT MAX(module_order) as new_order
|
||||||
SET module_column = module_column + 1
|
FROM ' . PORTAL_MODULES_TABLE . '
|
||||||
WHERE module_id = ' . $module_id;
|
WHERE module_order < ' . $module_data['module_order'];
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
$new_order = $db->sql_fetchfield('new_order') + 1;
|
||||||
|
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
SET module_order = module_order - 1
|
SET module_order = ' . $new_order . '
|
||||||
WHERE module_order >= ' . $module_data['module_order'] . '
|
WHERE module_id = ' . $module_id;
|
||||||
AND module_column = ' . $module_data['module_column'];
|
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -420,19 +433,33 @@ class acp_portal
|
|||||||
AND module_column = ' . ($module_data['module_column'] + 2);
|
AND module_column = ' . ($module_data['module_column'] + 2);
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
$updated = $db->sql_affectedrows();
|
$updated = $db->sql_affectedrows();
|
||||||
if ($updated)
|
|
||||||
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
|
SET module_column = module_column + 2
|
||||||
|
WHERE module_id = ' . $module_id;
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$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'];
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
// the module that needs to moved is in the last row
|
||||||
|
if(!$updated)
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'SELECT MAX(module_order) as new_order
|
||||||
SET module_column = module_column + 2
|
FROM ' . PORTAL_MODULES_TABLE . '
|
||||||
WHERE module_id = ' . $module_id;
|
WHERE module_order < ' . $module_data['module_order'];
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
$new_order = $db->sql_fetchfield('new_order') + 1;
|
||||||
|
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
SET module_order = module_order - 1
|
SET module_order = ' . $new_order . '
|
||||||
WHERE module_order >= ' . $module_data['module_order'] . '
|
WHERE module_id = ' . $module_id;
|
||||||
AND module_column = ' . $module_data['module_column'];
|
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -470,17 +497,30 @@ class acp_portal
|
|||||||
AND module_column = ' . ($module_data['module_column'] - 1);
|
AND module_column = ' . ($module_data['module_column'] - 1);
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
$updated = $db->sql_affectedrows();
|
$updated = $db->sql_affectedrows();
|
||||||
if ($updated)
|
|
||||||
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
|
SET module_column = module_column - 1
|
||||||
|
WHERE module_id = ' . $module_id;
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$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'];
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
// the module that needs to moved is in the last row
|
||||||
|
if(!$updated)
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'SELECT MAX(module_order) as new_order
|
||||||
SET module_column = module_column - 1
|
FROM ' . PORTAL_MODULES_TABLE . '
|
||||||
WHERE module_id = ' . $module_id;
|
WHERE module_order < ' . $module_data['module_order'];
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
$new_order = $db->sql_fetchfield('new_order') + 1;
|
||||||
|
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
SET module_order = module_order - 1
|
SET module_order = ' . $new_order . '
|
||||||
WHERE module_order >= ' . $module_data['module_order'] . '
|
WHERE module_id = ' . $module_id;
|
||||||
AND module_column = ' . $module_data['module_column'];
|
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -495,17 +535,30 @@ class acp_portal
|
|||||||
AND module_column = ' . ($module_data['module_column'] - 2);
|
AND module_column = ' . ($module_data['module_column'] - 2);
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
$updated = $db->sql_affectedrows();
|
$updated = $db->sql_affectedrows();
|
||||||
if ($updated)
|
|
||||||
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
|
SET module_column = module_column - 2
|
||||||
|
WHERE module_id = ' . $module_id;
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$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'];
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
// the module that needs to moved is in the last row
|
||||||
|
if(!$updated)
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'SELECT MAX(module_order) as new_order
|
||||||
SET module_column = module_column - 2
|
FROM ' . PORTAL_MODULES_TABLE . '
|
||||||
WHERE module_id = ' . $module_id;
|
WHERE module_order < ' . $module_data['module_order'];
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
$new_order = $db->sql_fetchfield('new_order') + 1;
|
||||||
|
|
||||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||||
SET module_order = module_order - 1
|
SET module_order = ' . $new_order . '
|
||||||
WHERE module_order >= ' . $module_data['module_order'] . '
|
WHERE module_id = ' . $module_id;
|
||||||
AND module_column = ' . $module_data['module_column'];
|
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user