コード例 #1
0
ファイル: manage.lib.php プロジェクト: rhertzog/lcs
/**
 * Remove a module from a dock in which the module displays
 * @param integer $moduleId
 * @param string  $dockName
 */
function remove_module_dock($moduleId, $dockName)
{
    $tbl = claro_sql_get_main_tbl();
    // call of this function to remove ALL occurence of the module in any dock
    if ('ALL' == $dockName) {
        //1- find all dock in which the dock displays
        $sql = "SELECT `name` AS dockName\n              FROM   `" . $tbl['dock'] . "`\n              WHERE  `module_id` = " . (int) $moduleId;
        $dockList = claro_sql_query_fetch_all($sql);
        //2- re-call of this function which each dock concerned
        foreach ($dockList as $dock) {
            remove_module_dock($moduleId, $dock['dockName']);
        }
    } else {
        //find the rank of the module in this dock :
        $sql = "SELECT `rank` AS oldRank\n                FROM   `" . $tbl['dock'] . "`\n                WHERE  `module_id` = " . (int) $moduleId . "\n                AND    `name` = '" . $dockName . "'";
        $module = claro_sql_query_get_single_row($sql);
        //move up all modules displayed in this dock
        $sql = "UPDATE `" . $tbl['dock'] . "`\n                SET `rank` = `rank` - 1\n                WHERE `name` = '" . $dockName . "'\n                AND `rank` > " . (int) $module['oldRank'];
        claro_sql_query($sql);
        //delete the module line in the dock table
        $sql = "DELETE FROM `" . $tbl['dock'] . "`\n                WHERE `module_id` = " . (int) $moduleId . "\n                AND   `name` = '" . $dockName . "'";
        claro_sql_query($sql);
        generate_module_cache();
    }
}
コード例 #2
0
ファイル: module_dock.php プロジェクト: rhertzog/lcs
$modulePerPage = get_conf('moduleDockPerPage', 10);
//----------------------------------
// EXECUTE COMMAND
//----------------------------------
$cmd = isset($_REQUEST['cmd']) ? $_REQUEST['cmd'] : null;
$module_id = isset($_REQUEST['module_id']) ? $_REQUEST['module_id'] : null;
if (!empty($dock)) {
    switch ($cmd) {
        case 'up':
            move_module_in_dock($module_id, $dock, 'up');
            break;
        case 'down':
            move_module_in_dock($module_id, $dock, 'down');
            break;
        case 'remove':
            remove_module_dock($module_id, $dock);
            $dialogBox->success(get_lang('The module has been removed from this dock'));
            break;
    }
    //----------------------------------
    // FIND INFORMATION
    //----------------------------------
    $sql = "SELECT M.`id`              AS `id`,\n                   M.`label`           AS `label`,\n                   M.`name`            AS `name`,\n                   M.`activation`      AS `activation`,\n                   M.`type`            AS `type`,\n                   D.`rank`            AS `rank`\n            FROM `" . $tbl_module . "` AS M, `" . $tbl_dock . "` AS D\n            WHERE D.`module_id`= M.`id`\n              AND D.`name` = '" . $dock . "'\n            ORDER BY `rank`\n            ";
    //pager creation
    $offset = isset($_REQUEST['offset']) ? $_REQUEST['offset'] : 0;
    $myPager = new claro_sql_pager($sql, $offset, $modulePerPage);
    //$pagerSortDir = isset($_REQUEST['dir' ]) ? $_REQUEST['dir' ] : SORT_ASC;
    $moduleList = $myPager->get_result_list();
}
//----------------------------------
// DISPLAY
コード例 #3
0
ファイル: module.php プロジェクト: rhertzog/lcs
     if (deactivate_module($moduleId)) {
         $dialogBox->success(get_lang('Module deactivation succeeded'));
         $module['activation'] = 'deactivated';
     } else {
         $dialogBox->error(get_lang('Cannot deactivate module'));
         $module['activation'] = 'activated';
     }
     break;
 case 'movedock':
     if (is_array($dockList)) {
         if (isset($_REQUEST['displayDockList']) && is_array($_REQUEST['displayDockList'])) {
             foreach ($dockList as $dockId => $dockName) {
                 if (in_array($dockId, $_REQUEST['displayDockList'])) {
                     add_module_in_dock($moduleId, $dockId);
                 } else {
                     remove_module_dock($moduleId, $dockId);
                 }
             }
         }
         $dialogBox->success(get_lang('Changes in the display of the module have been applied'));
     }
     break;
 case 'makeVisible':
 case 'makeInvisible':
     $visibility = 'makeVisible' == $cmd ? true : false;
     list($log, $success) = set_module_visibility($moduleId, $visibility);
     if ($success) {
         $dialogBox->success(get_lang('Module visibility updated'));
     } else {
         $dialogBox->error(get_lang('Failed to update module visibility'));
     }