示例#1
0
/**
 * Change member's menu position ;
 *
 * @param $iProfileId integer
 * @param $sMenuPosition string
 * @param $sAction string
 * @return text - html presentation data
 */
function PageListMemberMenuSettings($iProfileId, $sAction)
{
    $iProfileId = (int) $iProfileId;
    // define default menu position;
    if (isset($_COOKIE['menu_position'])) {
        $sDefaultValue = clear_xss($_COOKIE['menu_position']);
    } else {
        $sDefaultValue = getParam('ext_nav_menu_top_position');
    }
    //get form
    $aForm = array('form_attrs' => array('action' => BX_DOL_URL_ROOT . 'list_pop.php?action=' . clear_xss($sAction), 'method' => 'post', 'name' => 'menu_position_form'), 'params' => array('db' => array('submit_name' => 'do_submit')), 'inputs' => array(array('type' => 'radio_set', 'name' => 'menu_settings', 'caption' => 'Position', 'dv' => '<br />', 'values' => array('top' => _t('_Top'), 'bottom' => _t('_Bottom'), 'static' => _t('_Static')), 'required' => true, 'checker' => array('func' => 'length', 'params' => array(3, 6), 'error' => _t('_Error occured')), 'value' => $sDefaultValue, 'db' => array('pass' => 'Xss')), array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_Save Changes'))));
    $oForm = new BxTemplFormView($aForm);
    $oForm->initChecker();
    if ($oForm->isSubmittedAndValid()) {
        $sCode = MsgBox(_t('_Saved'));
        $sCode .= '
            <script type="text/javascript">
                opener.location.reload();
                window.close();
            </script>
        ';
        //change menu position
        setcookie("menu_position", $oForm->getCleanValue('menu_settings'), time() + 60 * 60 * 24 * 180);
        //clear member menu cache
        bx_import('BxDolMemberMenu');
        $oMemberMenu = new BxDolMemberMenu();
        $oMemberMenu->deleteMemberMenuKeyFile($iProfileId);
    } else {
        $sCode = $oForm->getCode();
    }
    return $sCode;
}