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); }