Автор работы: Пользователь скрыл имя, 16 Июня 2014 в 20:02, дипломная работа
Целью разработки является создание веб-сервиса для потенциальных рекламодателей, который поможет им расширять целевую аудиторию и платить за реальные и фактические просмотры их рекламы, так как бот–просмотры в данном случае практически исключены. Так же целью является увеличение количество точек WI-FI в определённом городе для удобства граждан и возможностью выйти в интернет бесплатно в любом публичном месте.
Актуальность проекта: Беспроводные локальные сети являются достаточно часто востребованной темой на сегодняшний день, ведь это не только самый лучший способ связать в единую сеть несколько разнотипных устройств, но и возможность осуществлять высокоскоростную передачу и приём данных, оставляя при этом устройствам свою мобильность.
$this->disableHelper('view');
return;
}
$data = $this->getRequest()->getParam(
$cleanData = Model_PS_Client_Form::
$Client->update($cleanData);
$vl = Model_PS_Client_Form::
if(!empty($vl)) {
// выводим ошибку обязательных полей
$errorFields = array();
$required = Array();
foreach($vl as $field=>$err) {
$errorFields[$field] = $field;
if($err == 'required') {
$required[] = Model_PS_Client_Form::
}
}
Util_Addons_Messages::setData(
$_SESSION['client_edit_
if(count($required)>0) {
$msg = 'Следующие
поля обязательны к заполнению:
$msg .= '<blockquote>';
Продолжение приложения Б
foreach($required as $text) {
$msg .= $text.'<br/>';
}
$msg .= '</blockquote>';
$this->msgErr($msg);
}
// выводим прочие ошибки
foreach($vl as $field=>$err) {
if($err != 'required') {
$this->msgErr($err);
}
}
} else {
try {
$Client->sendEmailOnChange(
if($Client->save()) {
$this->msgOk('Ваши персональные данные успешно сохранены.');
$this->redirect(array('action'
return;
} else {
$_SESSION['client_edit_
$this->msgErr('По
какой-то причине ваши
}
} catch(Exception $e) {
$this->msgErr($e->getMessage()
}
}
$this->redirect(array('action'
}
/**
* Редактирование/создание клиента.
*/
public function registerAction() {
Продолжение приложения Б
if(!empty($_SESSION['uid']) && is_numeric($_SESSION['uid'])) {
$this->redirect('/clientarea.
return;
}
$data = (array)$this->getRequest()->
$Client = new Model_PS_Client();
$Client->update($data);
if(!empty($_SESSION['client_
$Client->update($_SESSION['
}
unset($_SESSION['client_edit_
if($Client['customerResidency'
$Client['country'] = 'KZ';
$Client['postalCountry'] = 'KZ';
}
$this->view->Client = $Client;
$formCode = $Client['customerType'].$
$this->view->blockIds
= Model_PS_Client_Form::
$this->view->errorFields
= Util_Addons_Messages::
}
public function registerSaveAction() {
$Client = new Model_PS_Client();
$data = $this->getRequest()->getParam(
$cleanData = Model_PS_Client_Form::
$cleanData['password'] = $data['password'];
$cleanData['password2'] = $data['password2'];
$Client->update($cleanData);
Продолжение приложения Б
$vl = Model_PS_Client_Form::
if(!empty($vl)) {
$_SESSION['client_edit_
// выводим ошибку обязательных полей
$errorFields = array();
$required = Array();
foreach($vl as $field=>$err) {
$errorFields[$field] = $field;
if($err == 'required') {
$required[] = Model_PS_Client_Form::
}
}
Util_Addons_Messages::setData(
if(count($required)>0) {
$msg = 'Следующие
поля обязательны к заполнению:
$msg .= '<blockquote>';
foreach($required as $text) {
$msg .= $text.'<br/>';
}
$msg .= '</blockquote>';
$this->msgErr($msg);
}
// выводим прочие ошибки
foreach($vl as $field=>$err) {
if($err != 'required') {
$this->msgErr($err);
}
}
} else {
if(!empty($Client['
try {
$Client->sendEmailOnChange(
if($Client->save()) {
Продолжение приложения Б
$this->msgOk('Вы успешно зарегистрированы.');
$registerOk = true;
// регаем клиента в партнёрке
if(!empty($_COOKIE['PSAFFID'])
&& is_numeric($_COOKIE['PSAFFID']
$Invited = Model_PS_Affiliate_Invited::
$Invited->setPartnerId($_
$Invited->setActive(1);
$Invited->save();
}
// заводим клиенту контакт в казнике
try {
Model_Kaznic_Shell::
$contact = Model_Kaznic_
if($contact) {
$contact->save();
}
} catch(Exception $e) {
}
} else {
$_SESSION['client_edit_
$this->msgErr('По какой-то причине ваши данные не удалось сохранить.');
}
} catch(Exception $e) {
$msg = $e->getMessage();
$msg = preg_replace('/Email (.+) already registred/i', 'Извините, электронный адрес $1 уже зарегистрирован в учетной системе сайта.<br/>Укажите другой e-mail', $msg);
$this->msgErr($msg);
$_SESSION['client_edit_
}
Продолжение приложения Б
} else {
$this->msgErr('Для
регистрации необходимо
}
}
if(empty($registerOk)) {
$this->redirect(array('action'
} else {
// автологин
Model_PS_ClientManipulator::
if(!empty($_SESSION['
// редиректим куда попросили
$redirect = $_SESSION['
unset($_SESSION['
$this->redirect($redirect);
} else {
$this->redirect('/clientarea.
}
}
}
/**
* тестовый метод для вывода select'а мульти-аккаунтов
*/
public function changeClientAction() {
echo
'<form id="changeForm" action="'. $this->view->url(array('
echo '<select id="changeSelect" name="id">';
$Client
= Model_PS_Client::getInstance($
foreach(Model_PS_Client::
$selected = ($this->getUserId() == $row->getId()) ? 'selected' : '';
echo '<option value="'. $row->getId() .'"'. $selected .'>'. $row->getFirstname() . ' ' . $row->getLastname() .'</option>';
}
Продолжение приложения Б
echo '</select>';
echo '</form>';
echo
'<script type="text/javascript" src="includes/jscript/jquery.
echo
'<script>$("#changeSelect").
exit;
}
/**
* Перелогинивает мульти-аккаунты
*/
public function redirectClientAction() {
$currentUserId = $this->getUserId();
$redirectUserId
= $this->getRequest()->getParam(
$CurClient
= Model_PS_Client::getInstance($
$RedClient
= Model_PS_Client::getInstance($
if
($CurClient && $RedClient && $CurClient->getParentUserId()*
if (Model_PS_ClientManipulator::
unset($_SESSION['
$this->redirect("/clientarea.
}
} else {
$this->msgErr('В доступе
$this->redirect($_SERVER['
}
}
public function fileUploadAction() {
if
(filesize($_FILES['clientFile'
$this->msgErr('Превышен максимальный размер загружаемого файла');
$this->redirect($this->view->
}
Продолжение приложения Б
$uploaddir = PS_CLIENT_FILES_DIR . $this->getUserId() . '/';
if (!is_dir($uploaddir)) {
mkdir($uploaddir);
}
$filename
= str_replace(' ', '_', strtolower(Util_Misc::
$translitFilename = date('Y-m-d') . '_' . rand(10000, 99999) . '_' . $filename;
$uploadfile = $uploaddir . $translitFilename;
if
(move_uploaded_file($_FILES['
$ClientFile = new Model_PS_ClientFile();
$ClientFile->setFileName($_
$ClientFile->setPath($this->
$ClientFile->setUserId($this->
$ClientFile->setType($this->
if ($ClientFile->save()) {
Util_DB::getInstance()->
array(
'tid'=>rand(100000, 999999),
'did'=>1,
'name'=>'Client File',
'c'=>substr(md5(time()), 0, 8),
'date'=>date('Y-m-d H:i:s', time()),
'title'=>'Клиент загрузил новый файл',
'message'=>'<a href="addonmodules.php?module=
'status'=>'Open',
'urgency'=>'Medium',
'lastreply'=>date('Y-m-d H:i:s', time()),
'flag'=>0,
'clientunread'=>0,
'replyingadmin'=>0,
)
);
Продолжение приложения Б
$this->msgOk('Файл был успешно загружен');
}
} else {
$this->msgErr('При загрузке файла возникла ошибка');
}
$this->redirect($this->view->
}
public function fileDownloadAction() {
$fileId
= $this->getRequest()->getParam(
$load
= $this->getRequest()->getParam(
$ClientFile
= Model_PS_ClientFile::
if ($ClientFile) {
if ($ClientFile->getUserId() != $this->getUserId() && !$this->getAdminId()) {
$this->msgErr('Доступ запрещён');
$this->redirect($this->view->
}
if(!$load && in_array(pathinfo($ClientFile-
echo '<img src="/modules/misc/client_
} else {
header ("Content-Disposition: attachment; filename=" . $ClientFile->getFileName());
readfile(PS_CLIENT_FILES_DIR . $ClientFile->getPath());
}
}
exit;
}
public function fileDeleteAction() {
$fileId
= $this->getRequest()->getParam(
$ClientFile
= Model_PS_ClientFile::
Продолжение приложения Б
if ($ClientFile) {
if ($ClientFile->getUserId() != $this->getUserId() && !$this->getAdminId()) {
$this->msgErr('Доступ запрещён');
$this->redirect($this->view->
}
$ClientFile->setIsDelete(1);
$ClientFile->save();
}
$this->msgOk('Файл был успешно удалён');
$this->redirect($this->view->
}
}
?>
Информация о работе Разработка биллинга для Hot-Spot точек Wi-fi