Example #1
0
function add_insertNewPage()
{
    global $DB;
    if ($_POST['temp'] == 'null') {
        $tempid = add_insertNewTemplate();
    } else {
        $tempid = intval($_POST['temp']);
    }
    /// instance of page 'core_pages' ///
    $bPage = false;
    if (is_numeric($tempid)) {
        $aVals = array(array('name', $_POST['page']), array('template', $tempid, false), array('user', 0, false));
        if ($_POST['parent_page'] != 'null') {
            $aVals[] = array('parentid', intval($_POST['parent_page']), false);
        }
        if (isset($_POST['cache'])) {
            $aVals[] = array('usecache', 1, false);
        }
        $bPage = $DB->insert('core_pages', $aVals);
        $pageid = $DB->getLastId();
    }
    /// language pages 'core_lngpages'///
    if ($bPage) {
        $bPageLng = array();
        foreach (cCfg::$aLangs as $lng) {
            if (isset($_POST['lng_' . $lng])) {
                $bLng = true;
                if ($_POST['menu_title_' . $lng] == "") {
                    $_POST['menu_title_' . $lng] = $_POST['title_' . $lng];
                }
                $bPageLng[$lng] = $DB->insert('core_lngpages', array(array('title', $_POST['title_' . $lng]), array('page', $pageid, false), array('lng', $lng), array('menutitle', $_POST['menu_title_' . $lng]), array('url', admin_createPageUrl($_POST['title_' . $lng]))));
            }
        }
        if (!count($bPageLng)) {
            $bPageLng = $DB->insert('core_lngpages', array(array('title', $_POST['title']), array('page', $pageid, false), array('menutitle', $_POST['menu_title']), array('url', admin_createPageUrl($_POST['title']))));
        }
    }
    if ($bPage && $bPageLng) {
        /// create php file with action ///
        $hPage = fopen(ROOT_PATH . "pages/actions/" . $_POST['page'] . ".php", "w+");
        $toFile = "<?php\nclass " . $_POST['page'] . " extends cPageAction {\n\t\n\tpublic function __construct() {\n\t\tparent::__construct(get_class());\n\t\tself::action();\t\n\t}\n\t\n\tprivate function action() {\n\t\t/// your code goes here \n\t}\n}\n?>";
        fwrite($hPage, $toFile);
        fclose($hPage);
        return true;
    }
    return false;
}
function editpage_alterPage($pageid)
{
    global $DB;
    $tempid = intval($_POST['temp']);
    $bPage = false;
    /// instance of page 'core_pages' ///
    $aVals = array(array('template', $tempid, false), array('user', 0, false));
    if ($_POST['parent_page'] != 'null') {
        $aVals[] = array('parentid', intval($_POST['parent_page']), false);
    } else {
        $aVals[] = array('parentid', 'NULL', false);
    }
    if (isset($_POST['cache'])) {
        $aVals[] = array('usecache', 1, false);
    } else {
        $aVals[] = array('usecache', 0, false);
    }
    if (isset($_POST['publish'])) {
        $aVals[] = array('published', 1, false);
    } else {
        $aVals[] = array('published', 0, false);
    }
    $aVals[] = array('timemodified', getDateToDb());
    $bPage = $DB->update('core_pages', $aVals, array('id', '=', $pageid));
    /// language pages 'core_lngpages'///
    if ($bPage) {
        $bPageLng = array();
        foreach (cCfg::$aLangs as $lng) {
            if (isset($_POST['lng_' . $lng])) {
                $title = $_POST['title_' . $lng];
                $menutitle = $_POST['menu_title_' . $lng];
                $url = admin_createPageUrl($_POST['title_' . $lng]);
                if ($menutitle == "") {
                    $menutitle = $title;
                }
                $lngExists = $DB->select('core_lngpages', 'id', array(array('lng', '=', $lng), 'AND', array('page', '=', $pageid)));
                if (count($lngExists)) {
                    $bPageLng[$lng] = $DB->update('core_lngpages', array(array('title', $title), array('menutitle', $menutitle), array('url', $url), array('timemodified', getDateToDb())), array(array('lng', '=', $lng), 'AND', array('page', '=', $pageid)));
                    /// no exists record in core_lngpages of this LNG for this page ///
                } else {
                    $bPageLng[$lng] = $DB->insert('core_lngpages', array(array('title', $title), array('menutitle', $menutitle), array('url', $url), array('page', $pageid, false), array('lng', $lng)));
                }
            } else {
                $DB->delete('core_lngpages', array(array('lng', '=', $lng), 'AND', array('page', '=', $pageid)));
            }
        }
        if (!count($bPageLng) || isset($_POST['lng'])) {
            if ($_POST['menut_title'] == "") {
                $_POST['menut_title'] = $_POST['title'];
            }
            $lngExists = $DB->select('core_lngpages', 'id', array(array('lng', '=', null), 'AND', array('page', '=', $pageid)));
            if (count($lngExists)) {
                $bPageLng[] = $DB->update('core_lngpages', array(array('title', $_POST['title']), array('menutitle', $_POST['menu_title']), array('url', admin_createPageUrl($_POST['title'])), array('timemodified', getDateToDb())), array(array('lng', '=', null), 'AND', array('page', '=', $pageid)));
            } else {
                $bPageLng[] = $DB->insert('core_lngpages', array(array('title', $_POST['title']), array('page', $pageid, false), array('menutitle', $_POST['menu_title']), array('url', admin_createPageUrl($_POST['title']))));
            }
        } else {
            $DB->delete('core_lngpages', array(array('lng', '=', null), 'AND', array('page', '=', $pageid)));
        }
    }
    return $bPage && count($bPageLng);
}