$bFlag404 = true; $nLevel--; break; } else { $nParent = $result['id']; $aProcess[$result['id']] = $result; } } // Versioning $aProcessVersions = array(); foreach ($aProcess as $k => $v) { if ($v['draft'] == 0) { $aProcessVersions[$k] = $v; } else { $aTree = array(); getSubVersionsRecursive($k); foreach ($aTree as $kk => $vv) { if ($vv['draft'] == 0) { $aProcessVersions[$kk] = $vv; break; } } } } $aProcess = $aProcessVersions; // Set Last Id end($aProcess); $bFlagLastModule = false; $nLastId = key($aProcess); reset($aProcess); // Debug KRNL info
} else { $tpl = $_t->fetchBlock('ContentBlock'); } // CONTENT $tpl->assign('title', $sTitle); require_once FLGR_LIBS . '/StandartPreWrap.php'; $tpl->assign('content', StandartPreWrap($sText)); // ANNOTATIONS $sql = $Db->sqlGetSelect(DB_PREFIX . DB_TBL_PAGES, array('id', 'key', 'title', 'annotation', 'draft')) . $Db->sqlGetWhere(array('parent' => $nId)) . " ORDER BY `order`"; $sql = "SELECT 'id', 'key', 'title', 'annotation', 'draft' \n\t\tFROM '" . DB_PREFIX . DB_TBL_PAGES . "' \n\t\tWHERE (parent = " . $nId . ")\n\t\tORDER BY 'order'"; $aPage = $Db->query($sql); // Извлекаем текущую подверсию страницы, если надо foreach ($aPage as $k => $v) { if ($v['draft'] == 1) { $aTree = array(); getSubVersionsRecursive($v['id']); foreach ($aTree as $kk => $vv) { if ($vv['draft'] == 0) { $aPage[$k] = $vv; break; } } } } // Выводим foreach ($aPage as $k => $v) { if ($v['draft'] == 0) { $tpl->assign('content', crbr('<div style="font-size: 90%; margin: 8px 0 8px 0;"><a href="' . $sRequest . '/' . $v['key'] . '">' . $v['title'] . '</a><br />' . $v['annotation'] . '</div>')); } } // CLOSE
function getPage($m) { global $xmlrpcerruser; global $xmlrpcString; $file_uri = $m->getParam(0); $file_uri = $file_uri->scalarval(); $aRequest = explode('/', $file_uri); // Processing $aProcess = array(); $bFlag404 = false; $nParent = 0; foreach ($aRequest as $nLevel => $sKey) { $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_PAGES . "` \n\t\t\t\tWHERE ( (`parent`={$nParent}) AND (`key`='{$aRequest[$nLevel]}') AND (`subversion` = 0) )"; $sql = mysql_query($sql); if (false == $sql) { my_die(); } $sql = mysql_fetch_assoc($sql); if (false === $sql) { $bFlag404 = true; $nLevel--; break; } else { $nParent = $sql['id']; $aProcess[$sql['id']] = $sql; } } // Versioning $aProcessVersions = array(); foreach ($aProcess as $k => $v) { if ($v['draft'] == 0) { $aProcessVersions[$k] = $v; } else { $aTree = array(); getSubVersionsRecursive($k); foreach ($aTree as $kk => $vv) { if ($vv['draft'] == 0) { $aProcessVersions[$kk] = $vv; break; } } } } $aProcess = $aProcessVersions; // Set Last Id end($aProcess); $bFlagLastModule = false; $nLastId = key($aProcess); reset($aProcess); if ($bFlag404) { return new xmlrpcresp(0, $xmlrpcerruser, 'page not found'); } $response = base64_encode(serialize($aProcess[$nLastId])); return new xmlrpcresp(new xmlrpcval($response), $xmlrpcString); }
function getSubVersionsRecursive($nId) { global $aTree; if (!isset($aTree[$nId])) { $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_PAGES . "` \n\t\tWHERE (`id` = '{$nId}')"; $sql = mysql_query($sql); if (false == $sql) { my_die(); } while ($row = mysql_fetch_assoc($sql)) { $aTree[$row['id']] = $row; } } $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_PAGES . "` \n\t\t\tWHERE ((`parent` = '{$nId}') AND (`subversion` = 1)) \n\t\t\tORDER BY `order`"; $sql = mysql_query($sql); if (false == $sql) { my_die(); } while ($row = mysql_fetch_assoc($sql)) { $aTree[$nId]['childs'][] = $row['id']; $aTree[$row['id']] = $row; getSubVersionsRecursive($row['id']); } }
$sql .= $edit_id; } else { $sql .= $version_id; } $sql = mysql_query($sql); if (false == $sql) { my_die(); } $aEdit = mysql_fetch_assoc($sql); if (empty($aEdit)) { $_t->assign('content', '<span style="color: red">Ошибка:</span> Этой страницы не существует!'); return; } // Versioning Data $aTree = array(); getSubVersionsRecursive($edit_id); // POST if (isset($_POST['act'])) { switch ($_POST['act']) { case 'edit': unset($_POST['act']); $_POST['changer'] = mysql_escape_string($_SESSION['user']['id']); if (!isset($_POST['hidden'])) { $_POST['hidden'] = 0; } if (!isset($_POST['hidden_menu'])) { $_POST['hidden_menu'] = 0; } $sql = "UPDATE `" . DB_PREFIX . DB_TBL_PAGES . "` SET "; foreach ($_POST as $k => $v) { $sql .= "\r\n `{$k}` = '" . mysql_escape_string($v) . "', ";