Пример #1
0
function addExtLink()
{
    global $razorArray;
    $externalLink = '';
    $extLinkFlag = false;
    $addtErrMsg = array();
    $catlist = $razorArray['links_cats'];
    $newp = new SLAB();
    $newp->newSlabInit();
    $tempCatArray = array();
    $title = '';
    if (isset($_POST['title'])) {
        $title = stripslashes($_POST['title']);
    }
    foreach ($catlist as $tempCat => $tempcc) {
        if (isset($_POST['check_' . $tempCat])) {
            $tempCatArray[$tempCat] = $tempCat;
        }
    }
    // get form signature //
    $random = false;
    if (isset($_POST['random'])) {
        $randomV = htmlspecialchars(stripslashes($_POST['random']), ENT_QUOTES);
        $randomVC = htmlspecialchars(stripslashes($_SESSION['random']), ENT_QUOTES);
        if ($randomV == $randomVC) {
            $random = true;
        }
    }
    // save external link data from form if save button clicked //
    if (isset($_POST['save']) && $random) {
        $isFormSubmitted = true;
        $externalLink = stripslashes($_POST['externallink']);
        $newp->editTitle($title);
        $slab = $newp->slab;
        $newp->catReset();
        foreach ($catlist as $cat => $cc) {
            if (isset($_POST['check_' . $cat])) {
                $newp->addToCat($cat);
            }
        }
        if ($title != '' and $externalLink != '') {
            if (!in_array($slab, $razorArray['slabs'])) {
                BsocketB('admin-xlink-info-input', array($slab));
                $newp->commitChanges();
                if (isset($_POST['new-win'])) {
                    if ($_POST['new-win'] == 'show') {
                        $razorArray['ext_link_win'][$slab] = true;
                    }
                }
                $razorArray['ext_links'][$slab] = $externalLink;
                saveRazorArray();
                $m = lt('The link was created successfully') . '<br />';
                $m .= lt('Title') . " <b>" . $title . '</b><br />';
                $m .= lt('XLink Created') . " <b>" . $externalLink . "</b><br />";
                MsgBox($m, 'greenbox');
                return $slab;
            } else {
                $addtErrMsg[] = lt('Save Failed');
                if (in_array($slab, $razorArray['slabs'])) {
                    $addtErrMsg[] = lt('Content with similar Title already exists');
                }
            }
        } else {
            $addtErrMsg[] = lt('One of the input fields is empty, Please check your input');
        }
    }
    // end //
    // output any messages collected //
    if (count($addtErrMsg) != 0 and isset($title)) {
        $em = '';
        foreach ($addtErrMsg as $msg) {
            $em .= "<p>{$msg}</p>";
        }
        MsgBox(lt('Errors Occured') . $em, 'redbox');
    }
    // end //
    // set up form data //
    $formAction = "?action=extlink";
    $submitButton = lt('Add Link');
    $pageTitleLabel = lt('External Link Title');
    $urlLable = lt('URL');
    $addnewpageLabel = lt('External Link Details');
    $externalLinkTitle = lt('External Link');
    $filteredCats = array();
    foreach ($razorArray['links_cats'] as $linksCats => $contents) {
        if ($linksCats != $razorArray['settings']['info-bar-cat']) {
            $filteredCats[$linksCats] = $linksCats;
        }
    }
    $chkboxs = checkBoxList($filteredCats, $tempCatArray);
    $newWinLabel = lt('Display in New Window');
    $newWinChkbox = "<input type='checkbox' name='new-win' value='show'>";
    $catsLabel = lt('Categories');
    $contentManager = lt('Content Manager');
    $createNewLink = lt('Create New External Link');
    // end //
    // sockets for extra output and function output //
    $extraInfo;
    BsocketB('admin-xlink-info-output', array(&$extraInfo));
    $addFunction;
    BsocketB('admin-add-link-function', array(&$addFunction, &$content));
    // end //
    // generate random signature for form //
    $random = rand();
    $_SESSION['random'] = $random;
    // ouput form for data input //
    $te[1] = <<<TET
            <h1>{$createNewLink}</h1>
                <div class='contentwh'>
            <form action='{$formAction}' method=post class='pagemod_form'>
                <input type='hidden' name='random' value='{$random}'>
                <h3>{$addnewpageLabel}</h3>
                {$extraInfo}
                <table class='tableNewItem'>
                    <tr class='tableFooter'><td class='twenty'></td><td class='auto'></td></tr>
                    <tr>
                        <td>{$pageTitleLabel}</td>
                        <td><input type='text' value='{$title}' name='title'></td>
                    </tr>
                    <tr>
                        <td>{$catsLabel}</td>
                        <td>{$chkboxs}</td>
                    </tr>
                    <tr>
                        <td>{$newWinLabel}</td>
                        <td>{$newWinChkbox}</td>
                    </tr>
                    <tr class='tableFooter'><td></td><td></td></tr>
                </table>
                <h3>{$externalLinkTitle}</h3>
                <table class='tableNewItem'>
                    <tr class='tableFooter'><td></td><td></td></tr>
                    {$addFunction}
TET;
    $te[2] = "<tr><td class='twenty'>URL</td><td>http:// <input type='externallink' value='{$externalLink}' name='externallink'></td></tr>";
    $te[3] = <<<TET
                    <tr class='tableFooter'><td></td><td></td></tr>
                </table>
                <input id='button' type='submit' value='{$submitButton}' name='save'>
            </form>
            </div>
TET;
    echo $te[1];
    echo $te[2];
    echo $te[3];
    // end //
    return false;
}