Guest User

parse.class

a guest
Mar 6th, 2013
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 22.95 KB | None | 0 0
  1. <?php
  2.   // Возвращает информацию о модуле в массиве
  3.   class Pages
  4.   {
  5.     function GetInfo()
  6.     {
  7.       $info = array();
  8.       $info['description'] = 'Страницы';
  9.       $info['author']      = 'dnk-ilab';
  10.       $info['version']     = 'v.1.0';
  11.       $info['type']        = 'user';
  12.       return $info;
  13.     }
  14.  
  15.     // Возвращает сведения о шаблоне страницы с указанным ID
  16.     function GetPageTemplate($pageid)
  17.     {
  18.       global $db;
  19.       $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `id`=".$pageid);
  20.       $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_templates` WHERE `id`=".$res[0]['template']);
  21.       return $res[0];
  22.     }
  23.  
  24.     function Create()
  25.     {
  26.       global $db, $kernel;
  27.       $db -> SqlParse("CREATE TABLE `".tableprefix."core_pages` (
  28.                       `id` mediumint(9) NOT NULL auto_increment,
  29.                       `url` varchar(255) NOT NULL default '',
  30.                       `pagename` varchar(255) NOT NULL default '',
  31.                       `parent` mediumint(9) NOT NULL default '1',
  32.                       `template` mediumint(9) NOT NULL default '1',
  33.                       `type` enum('page','param') NOT NULL default 'page',
  34.                      `language` mediumint(9) NOT NULL default '1',
  35.                      `hidden` enum('true','false') NOT NULL default 'false',
  36.                       PRIMARY KEY  (`id`),
  37.                      KEY `parent_page` (`parent`),
  38.                      KEY `parent_language` (`language`)) TYPE=InnoDB AUTO_INCREMENT=3 ;");
  39.       $db -> SqlParse("INSERT INTO `".tableprefix."core_pages` VALUES (1, '/', 'Главная страница', 1, 1, 'page', 1, 'false');");
  40.       $db -> SqlParse("INSERT INTO `".tableprefix."core_pages` VALUES (2, 'error', 'Страница ошибки', 1, 1, 'page', 1, 'false');");
  41.  
  42.       // Добавляем соответствующие страницы для всех языков сайта
  43.       $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_languages` WHERE `default`='false'");
  44.       foreach ($res as $languages)
  45.       {
  46.         $db -> SqlParse("INSERT INTO `".tableprefix."core_pages` (`url`, `pagename`, `parent`, `template`, `type`, `language`) VALUES ('".strtolower($languages['name'])."', 'Главная страница (".strtoupper($languages['name']).")', 1, 1, 'page', ".$languages['id'].");");
  47.         $ress = $db -> SqlParse("SELECT LAST_INSERT_ID()");
  48.         $db -> SqlParse("INSERT INTO `".tableprefix."core_pages` (`url`, `pagename`, `parent`, `template`, `type`, `language`) VALUES ('error', 'Страница ошибки (".strtoupper($languages['name']).")', ".$ress[0][0].", 1, 'page', ".$languages['id'].");");
  49.       }
  50.  
  51.       $db -> SqlParse("ALTER TABLE `".tableprefix."core_pages` ADD CONSTRAINT `cms_core_pages_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `cms_core_pages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  52.                                                               ADD CONSTRAINT `cms_core_pages_ibfk_2` FOREIGN KEY (`language`) REFERENCES `cms_core_languages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;");
  53.       $kernel -> CreatePage('pages', 'Управление страницами', '1');
  54.     }
  55.  
  56.     function Destroy()
  57.     {
  58.       global $db, $kernel;
  59.       $kernel -> DeletePage('pages');
  60.       $db -> SqlParse("DROP TABLE `".tableprefix."core_pages`");
  61.     }
  62.  
  63.     function Interface($GET)
  64.     {
  65.       global $db, $kernel;
  66.  
  67.       // ВЫВОД
  68.       if ((!isset($GET['id'])) or (!isset($GET['action'])))
  69.       {
  70.         $this -> modulemenu = '<img src="'.cmspath.'/graph/dobavit-vse.gif" border="0" align="absmiddle" style="margin: 2px;">&nbsp;<a href="'.cmspath.'/pages/?action=add">Добавить страницу</a>';
  71.         $content = '<img src="'.cmspath.'/modules/pages/icon.gif" border="0" align="absmiddle" style="margin: 2px;">&nbsp;Управление страницами<br><BR>';
  72.  
  73.         if (isset($_GET["parid"])&&is_numeric($_GET["parid"])) $parid=$_GET["parid"]; else $parid=1;
  74.         $par=$parid;
  75.         $lnk=array();
  76.         while (true)
  77.           {
  78.             $res = $db -> SqlParse("SELECT parent,pagename FROM `".tableprefix."core_pages` WHERE id='$par'");
  79.             if ($res==0||$par==1) break;
  80.             $r=array();
  81.             array_push($r,$res[0]["pagename"]);
  82.             array_push($r,$par);
  83.             array_push($lnk,$r);
  84.             unset($r);
  85.             $par=$res[0]["parent"];
  86.           }
  87.         $content.="<a href='/cms/pages/?parid=1'>Главная страница</a>";
  88.         for($i=count($lnk)-1;$i>=0;$i--) $content.="-&#62;<a href='/cms/pages/?parid=".$lnk[$i][1]."'>".$lnk[$i][0]."</a>";
  89.         $content.='<BR><br>';
  90.        
  91.  
  92.         $content.='<table cellpadding="2" cellspacing="1" width="100%" bgcolor="#000000">';
  93. //        // ЧИТАЕМ НОМЕР ЯЗЫКА ИСП. ПО УМОЛЧАНИЮ
  94. //        $ress = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_languages` WHERE `default`='true'");
  95. //        $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `language`=".$ress[0]['id']." ORDER BY `id`");
  96.        
  97.         $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` LEFT JOIN luf_pages_sort USING (id) WHERE parent='$parid' ORDER BY hidden DESC,luf_pages_sort.pos,`language`,`pagename`");
  98.         $content.='<tr class="table-top"><td>URL</td><td>Имя страницы</td><td>&nbsp;</td><td>Parent</td><td title="Эта опция отвечает за показ страницы в меню.">Видимость</td><td>Тип</td><td>Шаблон</td><td colspan=2>Управление</td></tr>';
  99.        
  100.         if ($parid!=1)
  101.           {
  102.             $re = $db -> SqlParse("SELECT parent FROM `".tableprefix."core_pages` WHERE `type`='page' AND id='$parid'");
  103.             $content.="<tr bgcolor=lightgrey><td colspan=9><a href='/cms/pages/?parid=".$re[0]["parent"]."'><b>..на уровень выше..</b></a>";
  104.           }
  105.        
  106.         $flag = 0;
  107.         if ($res!=0)
  108.         foreach ($res as $pages)
  109.         {
  110.           if(0 == $flag%2) { $class = 'table-main'; $bgcolor = '#DDDDDD'; } else { $class = 'table-main2'; $bgcolor = '#EEEEEE'; }
  111.           $flag++;
  112.           $content.='<tr class="'.$class.'" onmouseover="setPointer(this, 0, \'over\', \''.$bgcolor.'\', \'#FFCC99\', \''.$bgcolor.'\');" onmouseout="setPointer(this, 0, \'out\', \''.$bgcolor.'\', \'#FFCC99\', \''.$bgcolor.'\');">';
  113.           $req = $db -> SqlParse("SELECT COUNT(id) AS cid FROM `".tableprefix."core_pages` WHERE `parent`=".$pages['id']);
  114.           if ($req[0]["cid"]!=0&&$pages["id"]!=1)
  115.             $content.='<td><a href=/cms/pages/?parid='.$pages["id"].'>'."<img src='/cms/modules/pages/dir.gif' border=0> ".$pages['url'].'</a></td>';
  116.           else $content.="<td>".$pages["url"];
  117.           $content.='<td>'.$pages['pagename'].'</td>';
  118.           $content.="<td><table border=0 cellspacing=0 cellpading=0><tr><td><a href='".cmspath."/pages/?id=".$pages['id']."&action=posup&parid=$parid'><img src='/cms/graph/posup.gif' border=0></a></td></tr>";
  119.           $content.="<tr><td><a href='".cmspath."/pages/?id=".$pages['id']."&action=posdown&parid=$parid'><img src='/cms/graph/posdown.gif' border=0></a></td></tr></table></td>";
  120.           $ress = $db -> SqlParse("SELECT `url`, `pagename` FROM `".tableprefix."core_pages` WHERE `id`=".$pages['parent']);
  121.           $content.='<td>'.$ress[0][0].'</td>';
  122.           $content.='<td>'.($pages["hidden"]=="false"?"Видна":"Скрыта").'</td>';
  123.           $content.='<td>'.$pages['type'].'</td>';
  124.           $ress = $db -> SqlParse("SELECT * FROM `".tableprefix."core_templates` WHERE `id`=".$pages['template']);
  125.           $content.='<td>'.$ress[0]['name'].'</td>';
  126.           $ress = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_languages` WHERE `default`='true'");
  127.           if (($pages['url'] == '/') or ($pages['url'] == 'error') or ($pages['language'] <> $ress[0]['id']))
  128.           {
  129.             $content.='<td><a href="'.cmspath.'/pages/?id='.$pages['id'].'&action=edit" onMouseOver="window.status=\'Редактировать страницу\'; return true" onMouseOut="window.status=\'\'"><img src="'.cmspath.'/graph/edit.gif" border="0" align="absmiddle" style="margin: 1px;"></a></td>';
  130.             $content.='<td><img src="'.cmspath.'/graph/delete_disable.gif" border="0" align="absmiddle" style="margin: 1px;"></td>';
  131.           } else
  132.           {
  133.             $content.='<td><a href="'.cmspath.'/pages/?id='.$pages['id'].'&action=edit" onMouseOver="window.status=\'Редактировать страницу\'; return true" onMouseOut="window.status=\'\'"><img src="'.cmspath.'/graph/edit.gif" border="0" align="absmiddle" style="margin: 1px;" alt="Редактировать страницу"></a></td>';
  134.             $content.='<td><a href="'.cmspath.'/pages/?id='.$pages['id'].'&action=kill" onMouseOver="window.status=\'Удалить страницу\'; return true" onMouseOut="window.status=\'\'" OnClick="return confirm(\'Вы действительно хотите удалить страницу ?\nЭто приведет к удалению всех подчиненных страниц!\');"><img src="'.cmspath.'/graph/delete.gif" border="0" align="absmiddle" style="margin: 1px;" alt="Удалить страницу"></a></td>';
  135.           }
  136.           $content.='</tr>';
  137.           if (($pages['language'] <> @$FFF) and (isset($FFF)))
  138.           {
  139.             $content.='<tr><td colspan=7 class="table-top-header">&nbsp;</td></tr>';
  140.           }
  141.           $FFF = $pages['language'];
  142.         }
  143.         $content.='</table><br>';
  144.       }
  145.  
  146.       // УДАЛЕНИЕ
  147.       if ((isset($GET['id'])) && is_numeric($GET['id']) and (@$GET['action'] == 'kill'))
  148.       {
  149.         $res = $db -> SqlParse("SELECT `url`, `language` FROM `".tableprefix."core_pages` WHERE `id`='".$GET['id']."'");
  150.         $pageurl = $res[0]['url'];
  151.         if (($pageurl <> '/') and ($pageurl <> 'error') )
  152.         {
  153.           $db -> SqlParse("DELETE FROM `".tableprefix."core_pages` WHERE `id`='".$GET['id']."'");
  154.           $db -> SqlParse("DELETE FROM `luf_pages_sort` WHERE `id`='".$GET['id']."'");
  155.         }
  156.         header('location: '.cmspath.'/pages/');
  157.         die();
  158.       }
  159.  
  160.       // РЕДАКТИРОВАНИЕ
  161.       if ((isset($GET['id'])) and (@$GET['action'] == 'edit'))
  162.       {
  163.         $this -> modulemenu = '<img src="'.cmspath.'/graph/1leftarrow.gif" border="0" align="absmiddle" style="margin: 1px;">&nbsp;<a href="'.cmspath.'/pages/">Назад</a>';
  164.         $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `id`='".$GET['id']."'");
  165.         $content = '<img src="'.cmspath.'/modules/pages/icon.gif" border="0" align="absmiddle" style="margin: 2px;">&nbsp;Редактирование страницы: '.$res[0][1].'<BR><BR>';
  166.         $content.='<table cellpadding="2" cellspacing="1" width="100%" bgcolor="#000000">';
  167.         $content.='<tr class="table-top"><td>URL</td><td>Имя страницы</td><td>Parent</td><td title="Эта опция отвечает за показ страницы в меню.">Видимость</td><td>Тип</td><td>Шаблон</td></tr>';
  168.         $content.='<form name="pagesform" method="post" action="'.cmspath.'/pages/?id='.$GET['id'].'">';
  169.         $content.='<input name="act" type="hidden" value="edit">';
  170.         foreach ($res as $pages)
  171.         {
  172.           $content.='<tr class="table-main">';
  173.  
  174.           $resss = $db -> SqlParse("SELECT `url` FROM `".tableprefix."core_pages` WHERE `id`='".$GET['id']."'");
  175.           $pageurl = $resss[0]['url'];
  176.           $ress = $db -> SqlParse("SELECT `name` FROM `".tableprefix."core_languages` WHERE `default`='false'");
  177.           $languages = array();
  178.           if ($ress <> 0)
  179.           {
  180.             foreach ($ress as $langs)
  181.             {
  182.               $languages[] = $langs['name'];
  183.             }
  184.           }
  185.  
  186.           if (($pageurl == '/') or ($pageurl == 'error') or (in_array(strtoupper($pageurl), $languages)))
  187.           {
  188.             $content.='<td><input type="text" readonly name="url" size="20" value="'.$pages['url'].'"></td>';
  189.           } else
  190.           {
  191.             $content.='<td><input type="text" name="url" size="20" value="'.$pages['url'].'"></td>';
  192.           }
  193.           $content.='<td><input type="text" name="pagename" size="30" value="'.$pages['pagename'].'"</td>';
  194.           $content.='<td><select name="parent">';
  195.           if (($pageurl <> '/') and ($pageurl <> 'error') and (!in_array(strtoupper($pageurl), $languages)))
  196.           {
  197.             // ПОЛУЧАЕМ КОД ЯЗЫКА, ИСПОЛЬЗУЕМОГО ПО УМОЛЧАНИЮ
  198.             $ress = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_languages` WHERE `default`='true'");
  199.             $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `language`=".$ress[0]['id']." ORDER BY pagename");
  200.             foreach ($res as $page)
  201.             {
  202.               if (($page['url'] <> 'error') and ($page['id'] <> $GET['id']))
  203.               {
  204.                 $select = '';
  205.                 if($pages['parent'] == $page['id'])
  206.                 {
  207.                   $select = 'selected';
  208.                 }
  209.                 $content.='<option value="'.$page['id'].'" '.$select.'>'.$page['pagename'].'</option>';
  210.               }
  211.             }
  212.           } else
  213.           {
  214.             $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `id`=".$pages['parent']);
  215.             $content.='<option value="'.$res[0]['id'].'" selected>'.$res[0]['pagename'].'</option>';
  216.           }
  217.           $content.='</select>';
  218.         }
  219.  
  220.         $content.='<td><select name="hidden" ';
  221.         if ($pages['type'] == 'page')
  222.         {$content.='>';
  223.           if ($pages['hidden'] == 'false')
  224.           {
  225.             $content.='<option value="false" selected>Видима</option>';
  226.             $content.='<option value="true">Скрыта</option>';
  227.           } else
  228.           {
  229.             $content.='<option value="false">Видима</option>';
  230.             $content.='<option value="true" selected>Скрыта</option>';
  231.           }
  232.         }else {$content.='disabled><option value="false"></option>';}
  233.         $content.='</select>';
  234.  
  235.         $content.='<td><select name="type">';
  236.         if (($pageurl <> '/') and ($pageurl <> 'error') and (!in_array(strtoupper($pageurl), $languages)))
  237.         {
  238.           if ($pages['type'] == 'page')
  239.           {
  240.             $content.='<option value="page" selected>Страница</option>';
  241.             $content.='<option value="param">Параметр</option>';
  242.           } else
  243.           {
  244.             $content.='<option value="page">Страница</option>';
  245.             $content.='<option value="param" selected>Параметр</option>';
  246.           }
  247.         } else
  248.         {
  249.           $content.='<option value="page" selected>Страница</option>';
  250.         }
  251.         $content.='</select><td><select name="template">';
  252.  
  253.         $ress = $db -> SqlParse("SELECT * FROM `".tableprefix."core_templates` ORDER BY `id`");
  254.         foreach ($ress as $templates)
  255.         {
  256.           if ($templates['id'] == $pages['template'])
  257.           {
  258.             $select = 'selected';
  259.           } else
  260.           {
  261.             $select = '';
  262.           }
  263.           $content.='<option value="'.$templates['id'].'" '.$select.'>'.$templates['name'].'</option>';
  264.         }
  265.  
  266.         $content.='</td></select></table><br><input type="submit"></form>';
  267.       }
  268.  
  269.       // СОХРАНЕНИЕ ПОЗИЦИИ
  270.       if ( isset($_GET['action']) && $_GET['action'] == 'posup'  && isset($_GET['id']) && is_numeric($_GET['id']) )
  271.       {
  272.         $pos1=$db -> SqlParse("SELECT pos FROM luf_pages_sort WHERE id='".$_GET['id']."'");
  273.         $postmp=$db -> SqlParse("SELECT parent FROM ".tableprefix."core_pages WHERE id='".$_GET['id']."'");
  274.         $pos2=$db -> SqlParse("SELECT luf_pages_sort.id AS id,pos FROM luf_pages_sort LEFT JOIN ".tableprefix."core_pages USING(id) WHERE ".tableprefix."core_pages.parent='".$postmp[0]["parent"]."' AND luf_pages_sort.pos='".--$pos1[0]["pos"]."'");
  275.         if (is_array($pos2))
  276.           {
  277.             $db -> SqlParse("UPDATE luf_pages_sort SET pos='".$pos2[0]["pos"]."' WHERE id='".$_GET['id']."'");
  278.             $db -> SqlParse("UPDATE luf_pages_sort SET pos='".++$pos2[0]["pos"]."' WHERE id='".$pos2[0]["id"]."'");
  279.           }
  280.         if (isset($_GET["parid"])&&is_numeric($_GET["parid"])) $parid=$_GET["parid"]; else $parid=1;
  281.         header('location: '.cmspath.'/pages/?parid='.$parid);
  282.         die();
  283.       }
  284.  
  285.       // СОХРАНЕНИЕ ПОЗИЦИИ
  286.       if ( isset($_GET['action']) && $_GET['action'] == 'posdown'  && isset($_GET['id']) && is_numeric($_GET['id']) )
  287.       {
  288.         $pos1=$db -> SqlParse("SELECT pos FROM luf_pages_sort WHERE id='".$_GET['id']."'");
  289.         $postmp=$db -> SqlParse("SELECT parent FROM ".tableprefix."core_pages WHERE id='".$_GET['id']."'");
  290.         $pos2=$db -> SqlParse("SELECT luf_pages_sort.id AS id,pos FROM luf_pages_sort LEFT JOIN ".tableprefix."core_pages USING(id) WHERE ".tableprefix."core_pages.parent='".$postmp[0]["parent"]."' AND luf_pages_sort.pos='".++$pos1[0]["pos"]."'");
  291.         if (is_array($pos2))
  292.           {
  293.             $db -> SqlParse("UPDATE luf_pages_sort SET pos='".$pos2[0]["pos"]."' WHERE id='".$_GET['id']."'");
  294.             $db -> SqlParse("UPDATE luf_pages_sort SET pos='".--$pos2[0]["pos"]."' WHERE id='".$pos2[0]["id"]."'");
  295.           }
  296.         if (isset($_GET["parid"])&&is_numeric($_GET["parid"])) $parid=$_GET["parid"]; else $parid=1;
  297.         header('location: '.cmspath.'/pages/?parid='.$parid);
  298.         die();
  299.       }
  300.  
  301.       // СОХРАНЕНИЕ ОТРЕДАКТИРОВАННОЙ ИНФОРМАЦИИ
  302.       if ((@$_POST['act'] == 'edit') and (isset($GET['id'])))
  303.       {
  304.         $db -> SqlParse("UPDATE `".tableprefix."core_pages` SET `url`='".strtolower($_POST['url'])."', `pagename`='".$_POST['pagename']."', `parent`='".$_POST['parent']."', `template`=".$_POST['template'].", `type`='".$_POST['type']."',`hidden`='".$_POST['hidden']."' WHERE `id`='".$GET['id']."'");
  305.         header('location: '.cmspath.'/pages/');
  306.         die();
  307.       }
  308.  
  309.       // ДОБАВЛЕНИЕ
  310.       if ((!isset($GET['id'])) and (@$GET['action'] == 'add'))
  311.       {
  312.         $this -> modulemenu = '<img src="'.cmspath.'/graph/1leftarrow.gif" border="0" align="absmiddle" style="margin: 1px;">&nbsp;<a href="'.cmspath.'/pages/">Назад</a>';
  313.         $content = '<img src="'.cmspath.'/modules/pages/icon.gif" border="0" align="absmiddle" style="margin: 2px;">&nbsp;Добавление страницы<BR><BR>';
  314.         $content.='<table cellpadding="2" cellspacing="1" width="100%" bgcolor="#000000">';
  315.         $content.='<tr class="table-top"><td>URL</td><td>Имя страницы</td><td>Parent</td><td title="Эта опция отвечает за показ страницы в меню.">Видимость</td><td>Тип</td><td>Шаблон</td></tr>';
  316.         $content.='<form name="pagesform" method="post" action="'.cmspath.'/pages/?action=add">';
  317.         $content.='<input name="act" type="hidden" value="add">';
  318.         $content.='<tr class="table-main">';
  319.         $content.='<td><input type="text" name="url" size="20" value=""></td>';
  320.         $content.='<td><input type="text" name="pagename" size="30" value=""</td>';
  321.         $content.='<td><select name="parent">';
  322.         // ПОЛУЧАЕМ КОД ЯЗЫКА, ИСПОЛЬЗУЕМОГО ПО УМОЛЧАНИЮ
  323.         $ress = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_languages` WHERE `default`='true'");
  324.         $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `language`=".$ress[0]['id']." ORDER BY pagename");
  325.         foreach ($res as $page)
  326.         {
  327.           if ($page['url'] <> 'error')
  328.           {
  329.             $select = '';
  330.             if($page['url'] == '/')
  331.             {
  332.               $select = 'selected';
  333.             }
  334.             $content.='<option value="'.$page['id'].'" '.$select.'>'.$page['pagename'].'</option>';
  335.           }
  336.         }
  337.         $content.='</select>';
  338.         $content.='<td><select name="hidden">';
  339.         $content.='<option value="false">Видима</option>';
  340.         $content.='<option value="true" selected>Скрыта</option>';
  341.         $content.='</select>';
  342.         $content.='<td><select name="type">';
  343.         $content.='<option value="page" selected>Страница</option>';
  344.         $content.='<option value="param">Параметр</option>';
  345.         $content.='</select><td><select name="template">';
  346.  
  347.         $ress = $db -> SqlParse("SELECT * FROM `".tableprefix."core_templates` ORDER BY `id`");
  348.         foreach ($ress as $templates)
  349.         {
  350.           if ($templates['id'] == $pages['template'])
  351.           {
  352.             $select = 'selected';
  353.           } else
  354.           {
  355.             $select = '';
  356.           }
  357.           $content.='<option value="'.$templates['id'].'" '.$select.'>'.$templates['name'].'</option>';
  358.         }
  359.  
  360.         $content.='</td></select></table><br><input type="submit"></form>';
  361.       }
  362.  
  363.       // СОХРАНЕНИЕ ДОБАВЛЕННОЙ ИНФОРМАЦИИ
  364.       if ((@$_POST['act'] == 'add') and (!isset($GET['id'])))
  365.       {
  366.         // ЧИТАЕМ НОМЕР ЯЗЫКА ИСП. ПО УМОЛЧАНИЮ
  367.         $res = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_languages` WHERE `default`='true'");
  368.         // ДОБАВЛЯЕМ СТРАНИЦУ
  369.         $kernel -> CreateUserPage(strtolower($_POST['url']), $_POST['pagename'], $_POST['parent'], $_POST['template'], $_POST['type'], $res[0]['id'], $_POST['hidden']);
  370.         // ЧИТАЕМ СТРУКТУРУ СТРАНИЦ, ДЛЯ ЯЗЫКА ПО - УМОЛЧАНИЮ
  371.         $res = $db -> SqlParse("SELECT * FROM `".tableprefix."core_pages` WHERE `language`=".$res[0]['id']." AND `url`<>'/' AND `url`<>'error' ORDER BY pagename");
  372.         foreach ($res as $pages)
  373.         {
  374.           $ress = $db -> SqlParse("SELECT * FROM `".tableprefix."core_languages` WHERE `default`='false'");
  375.           if ($ress <> 0)
  376.           {
  377.             foreach ($ress as $languages)
  378.             {
  379.               $resss = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_pages` WHERE `url`='".$pages['url']."' AND `language`=".$languages['id']);
  380.               if ($resss == 0)
  381.               {
  382.                 if ($_POST['parent'] == 1)
  383.                 {
  384.                   $resss = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_pages` WHERE `url`='".$languages['name']."' AND `language`=".$languages['id']);
  385.                   $parentpage = $resss[0]['id'];
  386.                 } else
  387.                 {
  388.                   $ressss = $db -> SqlParse("SELECT `url` FROM `".tableprefix."core_pages` WHERE `id`='".$_POST['parent']."'");
  389.                   $resss  = $db -> SqlParse("SELECT `id` FROM `".tableprefix."core_pages` WHERE `url`='".$ressss[0]['url']."' AND `language`=".$languages['id']);
  390.                   $parentpage = $resss[0]['id'];
  391.                 }
  392.                 // СОЗДАЕМ КОПИЮ СУЩЕСТВУЮЩЕЙ СТРАНИЦЫ, СО ССЫЛКОЙ НА ОЧЕРЕДНОЙ ЯЗЫК               
  393.                 $kernel -> CreateUserPage(strtolower($_POST['url']), $_POST['pagename'], $parentpage, $_POST['template'],  $_POST['type'], $languages['id'], $_POST['hidden']);
  394.               }
  395.             }
  396.           }
  397.         }
  398.         header('location: '.cmspath.'/pages/');
  399.         die();
  400.       }
  401.  
  402.       return $content;
  403.     }
  404.  
  405.   }
  406. ?>
Advertisement
Add Comment
Please, Sign In to add comment