Added functions for moving blocks to the left & right

This commit is contained in:
Marc Alexander
2011-01-11 11:04:57 +00:00
parent 488deca772
commit 19c3163a2b
4 changed files with 105 additions and 3 deletions

View File

@@ -95,9 +95,9 @@
{modules_center.MODULE_IMAGE} {modules_center.MODULE_NAME}<br /> {modules_center.MODULE_IMAGE} {modules_center.MODULE_NAME}<br />
<br /> <br />
<!-- IF modules_center.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp; <!-- IF modules_center.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
<a href="{modules_left.U_MOVE_RIGHT}">{ICON_MOVE_RIGHT}</a>&nbsp; <a href="{modules_center.U_MOVE_RIGHT}">{ICON_MOVE_RIGHT}</a>&nbsp;
<a href="{modules_center.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_center.U_DELETE}">{ICON_DELETE}</a><br /> <a href="{modules_center.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_center.U_DELETE}">{ICON_DELETE}</a><br />
<a href="{modules_left.U_MOVE_LEFT}">{ICON_MOVE_LEFT}</a>&nbsp; <a href="{modules_center.U_MOVE_LEFT}">{ICON_MOVE_LEFT}</a>&nbsp;
<!-- IF modules_center.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF --> <!-- IF modules_center.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
</td> </td>
</tr> </tr>
@@ -124,7 +124,7 @@
<!-- IF modules_right.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp; <!-- IF modules_right.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
{ICON_MOVE_RIGHT_DISABLED}&nbsp; {ICON_MOVE_RIGHT_DISABLED}&nbsp;
<a href="{modules_right.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_right.U_DELETE}">{ICON_DELETE}</a><br /> <a href="{modules_right.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_right.U_DELETE}">{ICON_DELETE}</a><br />
<a href="{modules_left.U_MOVE_LEFT}">{ICON_MOVE_LEFT}</a>&nbsp; <a href="{modules_right.U_MOVE_LEFT}">{ICON_MOVE_LEFT}</a>&nbsp;
<!-- IF modules_right.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF --> <!-- IF modules_right.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
</td> </td>
</tr> </tr>

View File

@@ -355,6 +355,106 @@ class acp_portal
} }
} }
} }
elseif($action == 'move_right')
{
$sql = 'SELECT module_order, module_column, module_classname
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_id = ' . $module_id;
$result = $db->sql_query_limit($sql, 1);
$module_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$class = 'portal_' . $module_data['module_classname'] . '_module';
if (!class_exists($class))
{
include($phpbb_root_path . 'portal/modules/portal_' . $module_data['module_classname'] . '.' . $phpEx);
}
if (!class_exists($class))
{
trigger_error('CLASS_NOT_FOUND', E_USER_ERROR);
}
$c_class = new $class();
if($c_class->columns & column_string_const(column_num_string($module_data['module_column'] + 1)))
{
if ($module_data !== false)
{
$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);
$db->sql_query($sql);
$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);
}
}
}
else
{
trigger_error($user->lang['UNABLE_TO_MOVE'] . adm_back_link($this->u_action));
}
}
elseif($action == 'move_left')
{
$sql = 'SELECT module_order, module_column, module_classname
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_id = ' . $module_id;
$result = $db->sql_query_limit($sql, 1);
$module_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$class = 'portal_' . $module_data['module_classname'] . '_module';
if (!class_exists($class))
{
include($phpbb_root_path . 'portal/modules/portal_' . $module_data['module_classname'] . '.' . $phpEx);
}
if (!class_exists($class))
{
trigger_error('CLASS_NOT_FOUND', E_USER_ERROR);
}
$c_class = new $class();
if($c_class->columns & column_string_const(column_num_string($module_data['module_column'] - 1)))
{
if ($module_data !== false)
{
$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);
$db->sql_query($sql);
$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);
}
}
}
else
{
trigger_error($user->lang['UNABLE_TO_MOVE'] . adm_back_link($this->u_action));
}
}
elseif ($action == 'delete') elseif ($action == 'delete')
{ {
$sql = 'SELECT * $sql = 'SELECT *

View File

@@ -53,6 +53,7 @@ $lang = array_merge($lang, array(
'MOVE_RIGHT' => 'Nach rechts', 'MOVE_RIGHT' => 'Nach rechts',
'MOVE_LEFT' => 'Nach links', 'MOVE_LEFT' => 'Nach links',
'B3P_FILE_NOT_FOUND' => 'Die angegebene Datei konnte nicht gefunden werden', 'B3P_FILE_NOT_FOUND' => 'Die angegebene Datei konnte nicht gefunden werden',
'UNABLE_TO_MOVE' => 'Es ist nicht möglich den Block in die gewählte Spalte zu verschieben.',
'MODULE_OPTIONS' => 'Modul Optionen', 'MODULE_OPTIONS' => 'Modul Optionen',
'MODULE_NAME' => 'Modul Name', 'MODULE_NAME' => 'Modul Name',

View File

@@ -52,6 +52,7 @@ $lang = array_merge($lang, array(
'MOVE_RIGHT' => 'Move right', 'MOVE_RIGHT' => 'Move right',
'MOVE_LEFT' => 'Move left', 'MOVE_LEFT' => 'Move left',
'B3P_FILE_NOT_FOUND' => 'The requested file could not be found', 'B3P_FILE_NOT_FOUND' => 'The requested file could not be found',
'UNABLE_TO_MOVE' => 'It is not possible to move the block to the selected column.',
'MODULE_OPTIONS' => 'Module options', 'MODULE_OPTIONS' => 'Module options',
'MODULE_NAME' => 'Module name', 'MODULE_NAME' => 'Module name',