Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета
Доброго времени суток, продолжаем наше погружение в разработку социальной сети.
В предыдущей статье -
Пишем свою соц. сеть - модуль предложений для webjob
я уже рассказал, что нам потребуется в теории.
Теперь перейдём к практике, т. е. написанию кода.
Прежде всего добавляем пункт меню в личном кабинете, который будет отвечать за показ раздела ПРЕДЛОЖЕНИЯ.
В модулях всех ролей, например admin.php, employer.php и других прописываем примерно такой код -
case 'predlojenia': {
include_once "predlojenia.php";
break;
}
Также добавляем соответствующий пункт меню в личном кабинете.
<a href="employer.php?rdk=predlojenia">Предложения</a>
Теперь собственно переходим к реализации модуля predlojenia.php для личного кабинета.
Весь код я думаю приводить смысла нет, поэтому ограничусь только общей схемой -
///////////////////////////////////////////////////////////////
//
// функции
//эта часть модуля будет содержать все необходимые функции для внутреннего использования в пределах самого модуля.
//например так -
//элементы управления предложениями
function show_list_ctrl_elems()
{
$view = '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
$view .= '<tr>
<td width="90"> </td>
<td width="90"> </td>
<td> </td>
</tr>';
$view .= '<tr>
<td><input type="submit" name="new" value="Создать"></td>
<td><input type="submit" name="change" value="Изменить"></td>
<td><input type="submit" name="del" value="Удалить"></td>'.
'</tr>';
$view .= '</table>';
return $view;
}
///////////////////////////////////////////////////////////////
//
// исполнение
//эта часть содержит вызовы описанных функций и связующую логику.
include_once "entry.php"; //подключаем модуль проверки залогиненности в личном кабинете
include_once "predlojenia_outer.php"; //подключаем модуль внешних функций, которые будут использованы и во фронтальной части сайта
echo "<div class='container' style='position: relative; z-index: 1;' align='center'>";
//выводим меню в зависимости от роли
switch ( $role_name )
{
case 'admin': {
include_once "admin_menu.php";
break;
}
case 'employer': {
include_once "roles/employer/menu.php";
break;
}
}
echo "ПРЕДЛОЖИТЬ СВОЙ ПРОЕКТ - ".$role_name."<br><br>
<div style='float: left; width: 100%; position: relative; z-index: 1;'>";
$p_list = load_p_list('../');
$p_list_count = count($p_list);
$p_list_view_tbl = show_p_list_tbl($p_list);
echo "<table width='100%' cellpadding='0' cellspacing='0' border='0' bgcolor='#dddddd'>
<tr>
<td colspan='3'>Добро пожаловать в ".$system_name." !<br>Вы можете создать или изменить свой проект (предложение)<
br><br></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>";
$form_action = '';
$p_properties_page = '';
//echo do_action_with_p_list($form_action, $p_properties_page);
switch ( $form_action )
{
case 'new':
case 'change':
{
echo $p_properties_page;
break;
}
default: {
echo " <form name='".$module."' id='".$module."' action='".$module_name."?module=".$module."' method='post'>";
echo show_list_ctrl_elems();
echo $p_list_view_tbl;
echo " </form>";
}
}
echo "<table width='100%' cellpadding='0' cellspacing='0' border='0' bgcolor='#dddddd'>
<tr>
<td><a href=\"logout.php\">Выйти</a></td>
<td> </td>
<td> </td>
</tr>
</table>
</div>";
echo "
</div>
";
Собственно это был прототип, описывающий все базовые элементы модуля предложений.
Вам остается только детализировать логику выгрузки/загрузки данных в файл или базу данных.
Здесь я их приводить не буду в целях экономии времени.
Но если они Вас интересуют -
обращайтесь
Вы уже в курсе, что я могу предложить Вам сразу готовое решение, которое реализовано на сайте -
http://webjob.megainformatic.ru
И все-таки спешу Вас обрадовать - в следующей статье Мы с вами рассмотрим
реализацию модуля для хранения
предложений в csv-файле.
Таким образом мы с Вами рассмотрим написание модуля внешних функций, которые будут вызываться в приватной (личный кабинет) и фронтальной частях
сайта.