global $theme;
$howMany = isset($howMany) ? $howMany : 15; /*Параметр определяющий количество строк в модуле*/
$templatevar='<select name="templatevar"><option ></option>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_tmplvars";
$sql4 = "SELECT id, name FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$templatevar.='<option value="'.$row['id'].'">'.$row['name'].'</option>';
}
$templatevar.='</select>';
$template='<select name="template"><option ></option>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_templates";
$sql4 = "SELECT id, templatename FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$template.='<option value="'.$row['id'].'">'.$row['templatename'].'</option>';
}
$templatearray=array();
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_templates";
$sql4 = "SELECT id, templatename FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$templatearray[$row['id']]=$row['templatename'];
}
$template.='</select>';
$idparent='<select name="parent" value="" ><option >0 || root of site</option>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_content";
$sql4 = "SELECT id, pagetitle FROM $tbl2 ORDER BY $tbl2.id ASC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$idparent.='<option value="'.$row['id'].'">'.$row['id'].' || '.$row['pagetitle'].'</option>';
}
$idparent.='</select>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "documentgroup_names";
$sql4 = "SELECT id, name FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
$priweb=0;
$permission="";
while ($row = mysql_fetch_array($drop4)) {
$priweb++;
$permission.='<label><input name="private'.$priweb.'" type="checkbox" value="'.$row['id'].'"/>'.$row['name'].'</label><br />';
}
$form ='<style type="text/css">
.former {
margin:7px;
border-color#f7a629;
border-style:solid;
border-width:1px;
}
.c1 {
background-color:#FF3600;
font-family:Arial, Helvetica, sans-serif;
font-size:25px;
color:#ffffff;
padding:8px;
}
.c2{
background-color:#d6e3ff;
font-family:Arial, Helvetica, sans-serif;
font-size:15px;
color:#4292c6;
padding:8px;
}
.c3{
padding:8px;
background-color:#eff3ff;
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
color:#1c3c53;
font-weight:bold;
}
.c4{
background-color:#EEEEEE;
margin:3px;
padding:2px;
}
.c5{
background-color:#FFFFFF;
margin:2px;
padding:3px;
}
.send{
background-color:#4292c6;
margin:8px;
padding:12px;
border:none;
}
.grid {
background-color:#FFFFFF;
border:1px solid silver;
width:100%;
}
.gridHeader {
background-color:#55ABEB;
border:1px solid #006400;
color:#FFFFFF;
font-weight:bold;
height:25px;
}
.gridItem {
background-color:#FFFFFF;
padding:1px;
}
.gridAltItem {
background-color:#EEEEEE;
padding:1px;
}
.area{
height: 21px;
}
.t1{
width:100%;
background-color:#D6E3FF;
}
</style>
<div class="c1"><strong>Быстрое наполнение</strong></div>
<div class="c2">SamZ <a href="http://fast-site.net">fast-site.net</a></div>
<div class="c3" ><form method="post" action=""><input name="enviado" type="hidden" value="yes" />';
/*Выводит требуемое количесво строк*/
$a=0;
$form.='<table class="t1">
<tr>
<td class="gridHeader">№</td>
<td class="gridHeader">Заголовок</td>
<td class="gridHeader">Картинка</td>
<td class="gridHeader">Интро</td>
<td class="gridHeader">Контент</td>
</tr>
';
for($x=1;$x<=$howMany;$x++) {
$a++;
$alt1=0;
$form.='
<tr>
<td '.($alt1==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
№'.$x.'
</td>
<td '.($alt1==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<input class="former" name="page'.$x.'" type="text" />
</td>
<td '.($alt1==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<input class="former" name="tv'.$x.'" type="text" />
</td>
<td '.($alt1==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<textarea class="area" name="contentc'.$x.'" cols="20" rows="1"></textarea>
</td>
<td '.($alt1==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<textarea class="area" name="contentm'.$x.'" cols="20" rows="1"></textarea>
</td>';
if($alt == 0) $alt1=1;
else $alt1 = 0;
}
$form.='</table>';
$form.='<div class="gridHeader">Параметры:</div>';
$form.='<div class="c5">Шаблон:<br />'.$template.'</div>';
$form.='<div class="c4">ID Родителя <br />'.$idparent.'</div>';
/*$form.='<div class="c5">Общий доступ <br /><input name="publiced" type="checkbox" value="1"/></div>';*/
$form.='<div class="c4">Доступ для групп<br />'.$permission.'</div>';
$form.='<div class="c5">Публиковать<br /><input name="publish" type="checkbox" checked="true" value="1"/></div>';
$form.='<div class="c4">Удалённый<br /><input name="delete" type="checkbox" value="1"/></div>';
$form.='<div class="c5">Прятать в меню<br /><input name="hidemenu" type="checkbox" value="1"/></div>';
$form.='<div class="c5">Содержание по умолчанию<br />
Вы действительно хотите изменить содержание(content)<br />
<input name="allowcontent" type="checkbox" value="1"/><br />
<textarea name="content" cols="40" rows="4"></textarea></div>';
$form.='<input class="send" name="enviar" type="submit" value="send" /></form></div>';
if(isset($_POST['enviado'])&&$_POST['enviado']=="yes")
{
for($q=1;$q<=$a;$q++)
{
if(isset($_POST["page$q"])&&$_POST["page$q"]!="")
{
$pagetitle=mysql_escape_string($_POST["page$q"]);
$tv=mysql_escape_string($_POST["tv$q"]);
//my
$contentc=mysql_escape_string($_POST["contentc$q"]);
$contentm=mysql_escape_string($_POST["contentm$q"]);
//my
if(!isset($_POST['template'])||$_POST['template']=="") {
$template="";
}
else {
$template=$_POST['template'];
}
if(!isset($_POST['publish'])||$_POST['publish']=="") {
$published=0;
}
else {
$published=1;
}
if(!isset($_POST['delete'])||$_POST['delete']=="") {
$delete=0;
}
else {
$delete=1;
}
if(!isset($_POST['hidemenu'])||$_POST['hidemenu']=="") {
$hidemenu=0;
}
else {
$hidemenu=1;
}
if(!isset($_POST['parent'])||$_POST['parent']=="0 || root of site") {
$parent=0;
}
else {
$parent=$_POST['parent'];
$modx->db->update("isfolder='1'",$modx->getFullTableName('site_content'), "id=".$parent."");
}
if(!isset($_POST['allowcontent'])||$_POST['allowcontent']=="") {
$content="";
}
else {
$content=mysql_escape_string($_POST['content']);
}
if(!isset($_POST['publiced'])||$_POST['publiced']=="") {
$hacerpublic="";
}
else {
$hacerpublic=$_POST['publiced'];
}
$access=array();
$counted="";
for ($as=1;$as<=$priweb; $as++)
{
if(!isset($_POST["private$as"])||$_POST["private$as"]=="") {
}
else {
$access[]=$_POST["private$as"];
$counted++;
}
}
if($pagetitle=="") { }
else {
/*Здесь происходит запись информации в базу данных*/
$alias = $pagetitle;
$sql = "INSERT INTO ".$modx->getFullTableName('site_content')." (pagetitle,longtitle,description,introtext,template,published,deleted,hidemenu,parent,content) VALUES ('".$pagetitle."','".$pagetitle."','".$contentc."','".$contentc."','".$template."','".$published."','".$delete."','".$hidemenu."','".$parent."','".$contentm."')";
$rs = $modx->db->query($sql);
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_content";
$sql4 = "SELECT id FROM $tbl2 ORDER BY $tbl2.id DESC";
$mid = $modx->dbQuery($sql4);
$row = mysql_fetch_array($mid);
$tvid =1;
$sql = "INSERT INTO ".$modx->getFullTableName('site_tmplvar_contentvalues')." (value,contentid,tmplvarid) VALUES ('".$tv."',".$row['id'].",".$tvid.")";
$rs = $modx->db->query($sql);
}
}
else{}
$id2 = $modx->db->getInsertId();
for ($ff=0; $ff<$counted; $ff++)
{
if ($access[$ff] !="")
{
$sql = "DELETE FROM ".$modx->getFullTableName('document_groups')." WHERE document='".$id2."'";
$rs = mysql_query($sql);
$modx->db->update("privateweb='1',privatemgr='1'",$modx->getFullTableName('site_content'), "id=".$id2."");
for ($ff=0; $ff<$counted;$ff++)
{
$sql = "INSERT INTO ".$modx->getFullTableName('document_groups')." (document_group,document) VALUES (".$access["$ff"].", ".$id2.")";
$rs = mysql_query($sql);
}
}
}
}
if ($hacerpublic!="")
{
$sql = "DELETE FROM ".$modx->getFullTableName('document_groups')." WHERE document='".$id2."'";
$rs = mysql_query($sql);
$modx->db->update("privateweb='0',privatemgr='0'",$modx->getFullTableName('site_content'), "id=".$id2."");
}
}
echo $form;

/*Основные параметры*/
$tv_prefix='/assets/images/papka/'; /*префикс к картинке*/
$howMany = isset($howMany) ? $howMany : 3; /*Параметр определяющий количество строк в модуле*/
/*получаем шаблонные переменные*/
$templatevar='<select name="templatevar"><option ></option>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_tmplvars";
$sql4 = "SELECT id, name FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$templatevar.='<option value="'.$row['id'].'">'.$row['name'].'</option>';
} $templatevar.='</select>';
/*получаем шаблоны*/
$template='<select name="template"><option ></option>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_templates";
$sql4 = "SELECT id, templatename FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$template.='<option value="'.$row['id'].'">'.$row['templatename'].'</option>';
}
$templatearray=array();
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_templates";
$sql4 = "SELECT id, templatename FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$templatearray[$row['id']]=$row['templatename'];
}
$template.='</select>';
/*Получаем список страниц сайта*/
$idparent='<select name="parent" value="" ><option >0 || root of site</option>';
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_content";
$sql4 = "SELECT id, pagetitle FROM $tbl2 ORDER BY $tbl2.id ASC";
$drop4 = $modx->dbQuery($sql4);
while ($row = mysql_fetch_array($drop4)) {
$idparent.='<option value="'.$row['id'].'">'.$row['id'].' || '.$row['pagetitle'].'</option>';
} $idparent.='</select>';
/*Получает список групп*/
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "documentgroup_names";
$sql4 = "SELECT id, name FROM $tbl2 ORDER BY $tbl2.id DESC";
$drop4 = $modx->dbQuery($sql4);
$priweb=0;
$permission="";
while ($row = mysql_fetch_array($drop4)) {
$priweb++;
$permission.='<label><input name="private'.$priweb.'" type="checkbox" value="'.$row['id'].'"/>'.$row['name'].'</label><br />';
}
/*оформление*/
$form ='<style type="text/css">
.former {
margin:7px;
border-color#f7a629;
border-style:solid;
border-width:1px;
}
.c1 {
background-color:#FF3600;
font-family:Arial, Helvetica, sans-serif;
font-size:25px;
color:#ffffff;
padding:8px;
}
.c2{
background-color:#d6e3ff;
font-family:Arial, Helvetica, sans-serif;
font-size:15px;
color:#4292c6;
padding:8px;
}
.c3{
padding:8px;
background-color:#eff3ff;
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
color:#1c3c53;
font-weight:bold;
}
.c4{
background-color:#EEEEEE;
margin:3px;
padding:2px;
}
.c5{
background-color:#FFFFFF;
margin:2px;
padding:3px;
}
.send{
background-color:#4292c6;
margin:8px;
padding:12px;
border:none;
}
.grid {
background-color:#FFFFFF;
border:1px solid silver;
width:100%;
}
.gridHeader {
background-color:#55ABEB;
border:1px solid #006400;
color:#FFFFFF;
font-weight:bold;
height:25px;
}
.gridItem {
background-color:#FFFFFF;
padding:1px;
}
.gridAltItem {
background-color:#EEEEEE;
padding:1px;
}
.area{
height: 21px;
}
.t1{
width:100%;
background-color:#D6E3FF;
}
</style>
<div class="c1"><strong>Быстрое наполнение</strong></div>
<div class="c2">SamZ <a href="http://fast-site.net">fast-site.net</a></div>
<div class="c3" ><form method="post" action=""><input name="enviado" type="hidden" value="yes" />';
/*Выводит требуемое количесво строк*/
$a=0;
$form.='<table class="t1">
<tr>
<td class="gridHeader">№</td>
<td class="gridHeader">Заголовок</td>
<td class="gridHeader">Картинка</td>
<td class="gridHeader">Интро</td>
<td class="gridHeader">Контент</td>
</tr>
';
for($x=1;$x<=$howMany;$x++) {
$a++;
$form.='
<tr>
<td '.($alt==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
№'.$x.'
</td>
<td '.($alt==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<input class="former" name="page'.$x.'" type="text" />
</td>
<td '.($alt==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<input class="former" name="tv'.$x.'" type="text" />
</td>
<td '.($alt==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<textarea class="area" name="introtext'.$x.'" cols="20" rows="1"></textarea>
</td>
<td '.($alt==0 ? 'class="gridItem"' : 'class="gridAltItem"').'>
<textarea class="area" name="contentm'.$x.'" cols="20" rows="1"></textarea>
</td>';
if($alt == 0) $alt=1;
else $alt = 0;
}
$form.='</table>';
$form.='<div class="gridHeader">Параметры:</div>';
$form.='<div class="c5">Шаблон:<br />'.$template.'</div>';
$form.='<div class="c5">Шаблонная переменная:<br />'.$templatevar.'</div>';
$form.='<div class="c4">ID Родителя <br />'.$idparent.'</div>';
/*$form.='<div class="c5">Общий доступ <br /><input name="publiced" type="checkbox" value="1"/></div>';*/
/*$form.='<div class="c4">Доступ для групп<br />'.$permission.'</div>';*/
$form.='<div class="c5">Публиковать<br /><input name="publish" type="checkbox" checked="true" value="1"/></div>';
$form.='<div class="c4">Удалённый<br /><input name="delete" type="checkbox" value="1"/></div>';
$form.='<div class="c5">Прятать в меню<br /><input name="hidemenu" type="checkbox" value="1"/></div>';
$form.='<div class="c5">Содержание по умолчанию<br />
Вы действительно хотите изменить содержание(content)<br />
<input name="allowcontent" type="checkbox" value="1"/><br />
<textarea name="content" cols="40" rows="4"></textarea></div>';
$form.='<input class="send" name="enviar" type="submit" value="send" /></form></div>';
if(isset($_POST['enviado'])&&$_POST['enviado']=="yes")
{
for($q=1;$q<=$a;$q++)
{
if(isset($_POST["page$q"])&&$_POST["page$q"]!="")
{
$pagetitle=mysql_escape_string($_POST["page$q"]);
$tv=mysql_escape_string($_POST["tv$q"]);
//my
$introtext=mysql_escape_string($_POST["introtext$q"]);
$contentm=mysql_escape_string($_POST["contentm$q"]);
//my
if(!isset($_POST['template'])||$_POST['template']=="") {
$template="";
}
else {
$template=$_POST['template'];
}
if(!isset($_POST['templatevar'])||$_POST['templatevar']=="") {
$templatevar="";
}
else {
$templatevar=$_POST['templatevar'];
}
if(!isset($_POST['publish'])||$_POST['publish']=="") {
$published=0;
}
else {
$published=1;
}
if(!isset($_POST['delete'])||$_POST['delete']=="") {
$delete=0;
}
else {
$delete=1;
}
if(!isset($_POST['hidemenu'])||$_POST['hidemenu']=="") {
$hidemenu=0;
}
else {
$hidemenu=1;
}
if(!isset($_POST['parent'])||$_POST['parent']=="0 || root of site") {
$parent=0;
}
else {
$parent=$_POST['parent'];
$modx->db->update("isfolder='1'",$modx->getFullTableName('site_content'), "id=".$parent."");
}
if(!isset($_POST['allowcontent'])||$_POST['allowcontent']=="") {
$content="";
}
else {
$content=mysql_escape_string($_POST['content']);
}
if(!isset($_POST['publiced'])||$_POST['publiced']=="") {
$hacerpublic="";
}
else {
$hacerpublic=$_POST['publiced'];
}
$access=array();
$counted="";
for ($as=1;$as<=$priweb; $as++)
{
if(!isset($_POST["private$as"])||$_POST["private$as"]=="") {
}
else {
$access[]=$_POST["private$as"];
$counted++;
}
}
if($pagetitle=="") { }
else {
/*Здесь происходит запись информации в базу данных*/
$date=time();
$sql = "INSERT INTO ".$modx->getFullTableName('site_content')." (pagetitle,longtitle,description,introtext,template,published,deleted,hidemenu,parent,content,createdon,editedon,publishedon) VALUES ('".$pagetitle."','".$pagetitle."','".$introtext."','".$introtext."','".$template."','".$published."','".$delete."','".$hidemenu."','".$parent."','".$contentm."','".$date."','".$date."','".$date."')";
$rs = $modx->db->query($sql);
$tbl2 = $modx->dbConfig['dbase'] . "." . $modx->dbConfig['table_prefix'] . "site_content";
$sql4 = "SELECT id FROM $tbl2 ORDER BY $tbl2.id DESC";
$mid = $modx->dbQuery($sql4);
$row = mysql_fetch_array($mid);
$tv =''.$tv_prefix.''.$tv.'';
$sql = "INSERT INTO ".$modx->getFullTableName('site_tmplvar_contentvalues')." (value,contentid,tmplvarid) VALUES ('".$tv."',".$row['id'].",".$templatevar.")";
$rs = $modx->db->query($sql);
}
}
else{}
$id2 = $modx->db->getInsertId();
/*определение прав для групп пользователей в рамках данного проекта не требуется*/
for ($ff=0; $ff<$counted; $ff++)
{
if ($access[$ff] !="")
{
$sql = "DELETE FROM ".$modx->getFullTableName('document_groups')." WHERE document='".$id2."'";
$rs = mysql_query($sql);
$modx->db->update("privateweb='1',privatemgr='1'",$modx->getFullTableName('site_content'), "id=".$id2."");
for ($ff=0; $ff<$counted;$ff++)
{
$sql = "INSERT INTO ".$modx->getFullTableName('document_groups')." (document_group,document) VALUES (".$access["$ff"].", ".$id2.")";
$rs = mysql_query($sql);
}
}
}
}
if ($hacerpublic!="")
{
$sql = "DELETE FROM ".$modx->getFullTableName('document_groups')." WHERE document='".$id2."'";
$rs = mysql_query($sql);
$modx->db->update("privateweb='0',privatemgr='0'",$modx->getFullTableName('site_content'), "id=".$id2."");
}
}
echo $form;
Да openagate прав. Это доработка модуля superpage.
эта хрень нужна для того, чтобы иметь возможность с одной страницы загонять сразу дерево документов в базу. например, если требуется завести в каталоге сразу несколько карточек на товары, а во всяких запросах к мускулу не рубишь.