Здравствуйте!
Первый раз работаю с MODx. Возникла проблема. Есть модуль:
/***********************************
*
* MODx Offer
*
***********************************/
$dbname = $modx->db->config['dbase']; //имя базы данных
$dbprefix = $modx->db->config['table_prefix']; //префикс таблиц
$mod_table = $dbprefix."manager_offer"; //таблица модуля
$theme = $modx->config['manager_theme']; //тема админки
$basePath = $modx->config['base_path']; //путь до сайта на сервере
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<link rel="stylesheet" type="text/css" href="media/style/'.$theme.'/style.css" />
</head>
<body>
<br />
<div class="sectionHeader">Купоны</div>
<div class="sectionBody">
<script language="JavaScript" type="text/javascript">
function postForm(action, id){
document.module.action.value=action;
if (id != null) document.module.item_id.value=id;
document.module.submit();
}
</script>
<form name="module" method="post">
<input name="action" type="hidden" value="" />
<input name="item_id" type="hidden" value="" />
';
$action = isset($_POST['action']) ? $_POST['action']:'';
switch($action) {
////Установка модуля (создание таблицы в БД)
case 'install':
$sql = "CREATE TABLE $mod_table (id INT(11) NOT NULL AUTO_INCREMENT, title VARCHAR(255), description TEXT(2000), address VARCHAR(255), date VARCHAR(255), origcost INT(55), sale VARCHAR(55), cost INT(55), PRIMARY KEY (id))";
$modx->db->query($sql);
header("Location: $_SERVER[REQUEST_URI]");
break;
////Удаление таблицы модуля
case "uninstall":
$sql = "DROP TABLE $mod_table";
$modx->db->query($sql);
header("Location: $_SERVER[REQUEST_URI]");
break;
////Добавление записи
case 'add':
if (!empty($_POST['item_id'])){//редактирование записи
$data = mysql_fetch_array($modx->db->select("title, description, address, date, origcost, sale, cost", $mod_table, "id = $_POST[item_id]", "", ""));
$id = $_POST['item_id'];
$title = $data['title'];
$description = $data['description'];
$address = $data['address'];
$date = $data['date'];
$origcost = $data['origcost'];
$sale = $data['sale'];
$cost = $data['cost'];
$save = "update";
}else{//если запись новая
$id = '';
$title = '';
$description = '';
$address = '';
$date = '';
$origcost = '';
$sale = '';
$cost = '';
$save = "save";
}
echo '
Название предложения<br /><input type="text" name="title" value="'.$title.'" /><br />
Описание<br /><textarea name="description" cols="40" rows="5">'.$description.'</textarea><br />
Алрес<br /><input type="text" name="address" value="'.$address.'" /><br />
Дата действия предложения<br /><input type="text" name="date" value="'.$date.'" /><br />
Обычная цена<br /><input type="text" name="origcost" value="'.$origcost.'" /><br />
Скидка<br /><input type="text" name="sale" value="'.$sale.'" /><br />
Ваша цена<br /><input type="text" name="cost" value="'.$cost.'" /><br />
<a href="#" onclick="postForm(\''.$save.'\',\''.$id.'\');return false;"><img src="media/style/'.$theme.'/images/icons/save.gif" align="absmiddle" />Добавить предложение</a>
<a href="#" onclick="postForm(\'reload\',null);return false;"><img src="media/style/'.$theme.'/images/icons/cancel.gif" align="absmiddle" />Отмена</a>
';
break;
////Сохранение записи в БД
case 'save':
$sql = "INSERT INTO $mod_table VALUES (NULL,'$_POST[title]','$_POST[description]','$_POST[address]','$_POST[date]','$_POST[origcost]','$_POST[sale]','$_POST[cost]')";
$modx->db->query($sql);
header("Location: $_SERVER[REQUEST_URI]");
break;
////Обновление записи в БД
case 'update':
$fields = array(
"title" => $_POST['title'],
"description" => $_POST['description'],
"address" => $_POST['address'],
"date" => $_POST['date'],
"origcost" => $_POST['origcost'],
"sale" => $_POST['sale'],
"cost" => $_POST['cost']
);
$query = $modx->db->update($fields, $mod_table, "id = ".$_POST['item_id']."");
header("Location: $_SERVER[REQUEST_URI]");
break;
////Перезагрузка страницы (сброс $_POST)
case 'reload':
header("Location: $_SERVER[REQUEST_URI]");
break;
////Удаление записи в БД
case 'delete':
$modx->db->delete($mod_table, "id = $_POST[item_id]");
header("Location: $_SERVER[REQUEST_URI]");
break;
////Страница модуля
default:
if (mysql_num_rows(mysql_query("show tables from $dbname like '$mod_table'"))==0){
//если таблицы не существует, выводим кнопку "Установить модуль"
echo '<a href="#" onclick="postForm(\'install\',null);return false;">Установить модуль</a>';
}else{
//если же модуль уже установлен, выводим его
echo '
</form>
<a href="#" onclick="postForm(\'add\',null);return false;"><img src="media/style/'.$theme.'/images/icons/newdoc.gif" align="absmiddle" />Добавить</a>
';
$data_query = $modx->db->select("*", $mod_table, "", "id ASC", "");
echo '
<br /><br />
<table width="98%" border="0" cellpadding="2" cellspacing="1" bgcolor="#707070">
<thead>
<tr>
<td><b>Название предложения</b></td>
<td><b>Описание</b></td>
<td><b>Адрес</b></td>
<td><b>Дата действия предложения</b></td>
<td><b>Обычная цена</b></td>
<td><b>Скидка</b></td>
<td><b>Ваша цена</b></td>
<td><b></b></td>
<td><b></b></td>
</tr>
<thead>
<tbody>
';
while ($data = mysql_fetch_array($data_query)){//выводим записи
echo '
<tr bgcolor="#FFFFFF">
<td>'.$data["title"].'</td>
<td>'.$data["description"].'</td>
<td>'.$data["address"].'</td>
<td>'.$data["date"].'</td>
<td>'.$data["origcost"].'</td>
<td>'.$data["sale"].'</td>
<td>'.$data["cost"].'</td>
<td align="center"><a href="#" title="Редактировать" onclick="postForm(\'add\','.$data["id"].');return false;"><img src="media/style/'.$theme.'/images/icons/logging.gif" align="absmiddle" /></a></td>
<td align="center"><a href="#" title="Удалить" onclick="if(confirm(\'Вы уверены?\')){postForm(\'delete\','.$data["id"].')};return false"><img src="media/style/'.$theme.'/images/icons/delete.gif" align="absmiddle" /></a></td>
</tr>';
}
echo '
</tbody>
</table>
<br /><br />
<a href="#" onclick="if(confirm(\'Вы уверены?\')){postForm(\'uninstall\',null)};return false;"><img src="media/style/'.$theme.'/images/icons/delete.gif" align="absmiddle" />Удалить все предложения</a>
';
}
break;
}
echo '
</div>
</body>
</html>
';
Каким должен быть сниппет??И какие есть еще способы вывода инфы которая добавляется в базу при помощи этого модуля?..
Вот сниппет не выходит правильный написать..
Очень прошу помочь.