public function actionBuyTariffPlan() { $this->layout = '//layouts/usercpanel'; $user = HUser::getModel(); $tariffId = Yii::app()->request->getParam('tariffid'); if (!$user || !$tariffId) { throw404(); } $currentTariffModel = TariffPlans::model()->findByPk($tariffId); if (!$currentTariffModel || $currentTariffModel->active != TariffPlans::STATUS_ACTIVE) { throw404(); } // check current user tariff plan $currentTariffPlanInfo = TariffPlans::getTariffInfoByUserId($user->id); if ($currentTariffPlanInfo['issetTariff'] && $currentTariffPlanInfo['tariffDuration']) { if (!$currentTariffPlanInfo['activeTariff']) { Yii::app()->user->setFlash('error', Yii::t("module_tariffPlans", "You can only extend the tariff plan {name}", array("{name}" => $currentTariffPlanInfo['tariffName']))); $this->redirect(array('choosetariffplans')); Yii::app()->end(); } } // check balance if ($currentTariffModel->price) { # платный тариф if ($currentTariffModel->price > $user->balance) { Yii::app()->user->setFlash('error', tt('On your balance is not enough money to buy the chosen tariff plan', 'tariffPlans')); $this->redirect(array('choosetariffplans')); Yii::app()->end(); } } // check object count if ($currentTariffModel->limit_objects) { $usersObjects = TariffPlans::getCountUserObjects($user->id); if ($usersObjects > $currentTariffModel->limit_objects) { Yii::app()->user->setFlash('error', tt('The number of added ads exceeds the limit of the tariff. Remove its not relevant your ads and try again.', 'tariffPlans')); $this->redirect(array('choosetariffplans')); Yii::app()->end(); } } // apply action $interval = 'INTERVAL ' . $currentTariffModel->duration . ' DAY'; $dateEnd = new CDbExpression('NOW() + ' . $interval); if (TariffPlans::applyToUser($user->id, $tariffId, $dateEnd, $interval)) { if ($currentTariffModel->price) { # платный тариф $user->deductBalance($currentTariffModel->price); } Yii::app()->user->setFlash('success', tt('Tariff plan has been successfully applied', 'tariffPlans')); $this->redirect(array('tariffhistory')); } else { Yii::app()->user->setFlash('error', tc('Error. Repeat attempt later')); $this->redirect(array('choosetariffplans')); Yii::app()->end(); } }
public function actionAjaxDelAva() { if (Yii::app()->user->isGuest || !Yii::app()->request->isAjaxRequest) { throw404(); } $id = Yii::app()->request->getQuery('id', 0); if ($id && in_array(Yii::app()->user->role, array(User::ROLE_MODERATOR, User::ROLE_ADMIN))) { $user = $this->loadModel($id); } else { $user = HUser::getModel(); } $folder = HUser::getUploadDirectory($user, HUser::UPLOAD_AVA) . DIRECTORY_SEPARATOR; @unlink($folder . $user->ava); @unlink($folder . User::AVA_PREFIX . $user->ava); $user->ava = ''; $user->update(array('ava')); $result['avaHtml'] = '<div class="user-ava-crop">' . CHtml::image(Yii::app()->theme->baseUrl . '/images/ava-default.jpg', $user->username, array('class' => 'message_ava')) . '</div>'; HAjax::jsonOk(tc('Success'), $result); }
public function actionUploadAva() { if (Yii::app()->user->isGuest) { throw404(); } Yii::import("ext.EAjaxUpload.qqFileUploader"); $user = HUser::getModel(); $oldAva = $user->ava; $folder = HUser::getUploadDirectory($user, HUser::UPLOAD_AVA) . DIRECTORY_SEPARATOR; // folder for uploaded files $allowedExtensions = array("jpg", "jpeg", "gif", "png"); //array("jpg","jpeg","gif","exe","mov" and etc... $sizeLimit = $this->getSizeLimit(); // maximum file size in bytes $uploader = new qqFileUploader($allowedExtensions, $sizeLimit); $result = $uploader->handleUpload($folder); if ($result['success'] == true) { $fileSize = filesize($folder . $result['filename']); //GETTING FILE SIZE $fileNameReal = $result['filename']; //GETTING FILE NAME $fileName = time() . '_' . $user->id . '.' . pathinfo($fileNameReal, PATHINFO_EXTENSION); Yii::import('ext.image.Image'); $image = new Image($folder . $fileNameReal); $image->save($folder . $fileName); // генерим тумбу $thumbName = User::AVA_PREFIX . $fileName; $image = new Image($folder . $fileNameReal); $image->resize(96, 96); $image->save($folder . $thumbName); $user->ava = $fileName; $user->update('ava'); @unlink($folder . $fileNameReal); $result['avaHtml'] = '<div class="user-ava-crop">' . CHtml::image($user->getAvaSrcThumb(), $user->username, array('class' => 'message_ava')) . '</div>'; if ($oldAva) { @unlink($folder . $oldAva); @unlink($folder . User::AVA_PREFIX . $oldAva); } } echo CJSON::encode($result); // it's array }
public static function getMenu() { $user = HUser::getModel(); if (param('useUserads')) { $menu[] = array('label' => tc('My listings'), 'url' => Yii::app()->createUrl('/usercpanel/main/index'), 'active' => Yii::app()->controller->menuIsActive('my_listings')); $menu[] = array('label' => tc('Add ad', 'apartments'), 'url' => Yii::app()->createUrl('/userads/main/create'), 'active' => Yii::app()->controller->menuIsActive('add_ad')); } if ($user->type == User::TYPE_AGENCY) { $countAwaitAgent = HUser::getCountAwaitingAgent($user->id); $bage = $countAwaitAgent ? ' (' . $countAwaitAgent . ')' : ''; $menu[] = array('label' => tt('My agents', 'usercpanel') . $bage, 'url' => Yii::app()->createUrl('/usercpanel/main/agents'), 'active' => Yii::app()->controller->menuIsActive('my_agents')); } if (issetModule('messages')) { $bageMessages = ''; $countMessagesUnread = Messages::getCountUnread(Yii::app()->user->id); $bageMessages = $countMessagesUnread > 0 ? " ({$countMessagesUnread})" : ''; $menu[] = array('label' => tt('My mailbox', 'messages') . $bageMessages, 'url' => Yii::app()->createUrl('/messages/main/index'), 'active' => Yii::app()->controller->menuIsActive('my_mailbox')); if ($countMessagesUnread > 0) { Yii::app()->clientScript->registerScript('init-cnt-unr-messages', ' message("' . Yii::t('module_messages', 'You have {n} unread messages', $countMessagesUnread) . '", "message", 4000); ', CClientScript::POS_READY); } } $menu[] = array('label' => tc('My data'), 'url' => Yii::app()->createUrl('/usercpanel/main/data'), 'active' => Yii::app()->controller->menuIsActive('my_data')); $menu[] = array('label' => tt('Change your password', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/changepassword'), 'active' => Yii::app()->controller->menuIsActive('my_changepassword')); if (issetModule('payment')) { if (issetModule('tariffPlans')) { $menu[] = array('label' => tc('Tariff Plans'), 'url' => Yii::app()->createUrl('/tariffPlans/main/index'), 'active' => Yii::app()->controller->menuIsActive('tariff_plans')); } $menu[] = array('label' => tt('My payments', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/payments'), 'active' => Yii::app()->controller->menuIsActive('my_payments')); $menu[] = array('label' => tc('My balance') . ' (' . $user->balance . ' ' . Currency::getDefaultCurrencyName() . ')', 'url' => Yii::app()->createUrl('/usercpanel/main/balance'), 'active' => Yii::app()->controller->menuIsActive('my_balance')); } if (issetModule('bookingtable')) { $menu[] = array('label' => tt('Booking applications', 'usercpanel') . ' (' . Bookingtable::getCountNew(true) . ')', 'url' => Yii::app()->createUrl('/bookingtable/main/index'), 'active' => Yii::app()->controller->menuIsActive('booking_applications')); } return $menu; }
<div class="container-fluid pCab_container"> <!-- ################################# LEFT SIDE ################################################# --> <div class="row"> <!-- left zone row --> <div class="col-sm-2 pCab_leftZone"> <!-- left zone DIV --> <!-- ################################# CLIENT CARD ################################################# --> <div class="row line-bottom"> <div class="col-sm-12 "> <!-- clientCard div --> <div class="row pcab_clientCard"> <div class="account-left center-block clientText vcenter"> <!-- clientInfo div --> <div> <?php $user = HUser::getModel(); ?> <div class="pcab_clientName"> <?php echo $user->username; ?> </div> <div class="pcab_clientInfo"> <?php switch ($user->type) { case User::TYPE_PRIVATE_PERSON: ?> Клиент <?php break; ?> <?php case User::TYPE_AGENT: ?> Агент
public static function getMenu() { $user = HUser::getModel(); if (param('useUserads')) { $menu[] = array('label' => tc('My listings'), 'url' => Yii::app()->createUrl('/usercpanel/main/index'), 'active' => Yii::app()->controller->menuIsActive('my_listings')); $menu[] = array('label' => tc('Add ad', 'apartments'), 'url' => Yii::app()->createUrl('/userads/main/create'), 'active' => Yii::app()->controller->menuIsActive('add_ad')); } if ($user->type == User::TYPE_AGENCY) { $countAwaitAgent = HUser::getCountAwaitingAgent($user->id); $bage = $countAwaitAgent ? ' (' . $countAwaitAgent . ')' : ''; $menu[] = array('label' => tt('My agents', 'usercpanel') . $bage, 'url' => Yii::app()->createUrl('/usercpanel/main/agents'), 'active' => Yii::app()->controller->menuIsActive('my_agents')); } $menu[] = array('label' => tc('My data'), 'url' => Yii::app()->createUrl('/usercpanel/main/data'), 'active' => Yii::app()->controller->menuIsActive('my_data')); $menu[] = array('label' => tt('Change your password', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/changepassword'), 'active' => Yii::app()->controller->menuIsActive('my_changepassword')); if (issetModule('payment')) { $menu[] = array('label' => tt('My payments', 'usercpanel'), 'url' => Yii::app()->createUrl('/usercpanel/main/payments'), 'active' => Yii::app()->controller->menuIsActive('my_payments')); $menu[] = array('label' => tc('My balance') . ' (' . $user->balance . ' ' . Currency::getDefaultCurrencyName() . ')', 'url' => Yii::app()->createUrl('/usercpanel/main/balance'), 'active' => Yii::app()->controller->menuIsActive('my_balance')); } if (issetModule('bookingtable')) { $menu[] = array('label' => tt('Booking applications', 'usercpanel') . ' (' . Bookingtable::getCountNew(true) . ')', 'url' => Yii::app()->createUrl('/bookingtable/main/index'), 'active' => Yii::app()->controller->menuIsActive('booking_applications')); } return $menu; }
public function actionDeleteAgent($id) { $user = HUser::getModel(); if ($user->type != User::TYPE_AGENCY) { throw404(); } $agent = User::model()->findByPk($id); $agent->agency_user_id = 0; $agent->update(array('agency_user_id')); Yii::app()->user->setFlash('success', Yii::t('common', 'This user "{name}" is not your agent anymore', array('{name}' => $agent->username))); $this->redirect(array('agents')); }
public function actionNegatives() { $this->layout = '//layouts/negatives'; $sql = "SELECT * FROM bt_apartment t1 WHERE t1.owner_id=" . HUser::getModel()->id . " AND EXISTS (select null FROM bt_apartment_complain t2 WHERE t2.apartment_id=t1.id AND t2.active=1)"; $negatives = Apartment::model()->findAllBySql($sql); $this->render('negatives', ['negatives' => $negatives]); }
public function afterSave() { if ($this->status == Comment::STATUS_APPROVED) { $this->_calcRating(); // if($this->model_name == 'Apartment'){ // $ad = Apartment::model()->with('user')->findByPk($this->model_id); // if($ad && isset($ad->user)){ // $user = $ad->user; // $notifier = new Notifier(); // $notifier->raiseEvent('onNewComment', $this, array('user' => $user)); // } // } } if ($this->isNewRecord) { if (!Yii::app()->user->isGuest) { $model = HUser::getModel(); $this->user_name = $model->username; $this->user_email = $model->email; } $notifier = new Notifier(); $notifier->raiseEvent('onNewComment', $this); } return parent::afterSave(); }
function init() { if (!oreInstall::isInstalled() && !(Yii::app()->controller->module && Yii::app()->controller->module->id == 'install')) { $this->redirect(array('/install')); } setLang(); $modulesToCheck = ConfigurationModel::getModulesList(); foreach ($modulesToCheck as $module) { if (param('module_enabled_' . $module) === null) { ConfigurationModel::createValue('module_enabled_' . $module, 0); Yii::app()->params['module_enabled_' . $module] = 0; } } unset($modulesToCheck); $this->assetsGenPath = Yii::getPathOfAlias('webroot.assets'); $this->assetsGenUrl = Yii::app()->getBaseUrl(true) . '/assets/'; Yii::app()->user->setState('menu_active', ''); $this->pageTitle = tt('siteName', 'seo'); $this->pageKeywords = tt('siteKeywords', 'seo'); $this->pageDescription = tt('siteDescription', 'seo'); Yii::app()->name = $this->pageTitle; $this->defaultTheme = Themes::getDefaultTheme(); if (!$this->defaultTheme) { $this->defaultTheme = 'classic'; } Yii::app()->theme = $this->defaultTheme; $this->baseUrl = Yii::app()->baseUrl; $this->baseThemeUrl = Yii::app()->theme->baseUrl; if (Yii::app()->getModule('menumanager')) { if (!(Yii::app()->controller->module && Yii::app()->controller->module->id == 'install')) { $this->infoPages = Menu::getMenuItems(true, 2); } } $subItems = array(); if (!Yii::app()->user->isGuest) { $subItems = HUser::getMenu(); } $this->aData['userCpanelItems'] = Menu::getMenuItems(true, 1); $this->aData['userCpanelItems'][] = array('label' => tt('Reserve apartment', 'common'), 'url' => array('/booking/main/mainform'), 'visible' => Yii::app()->user->checkAccess('backend_access') === false, 'linkOptions' => array('class' => 'fancy'), 'itemOptions' => array('class' => 'depth_zero')); $this->aData['userCpanelItems'][] = array('label' => Yii::t('common', 'Control panel'), 'url' => array('/usercpanel/main/index'), 'visible' => Yii::app()->user->checkAccess('backend_access') === false, 'items' => $subItems, 'itemOptions' => array('class' => 'depth_zero'), 'submenuOptions' => array('class' => 'sub_menu_dropdown')); if (!Yii::app()->user->isGuest) { $user = HUser::getModel(); $this->aData['userCpanelItems'][] = array('label' => '(' . $user->username . ') ' . tt('Logout', 'common'), 'url' => array('/site/logout'), 'itemOptions' => array('class' => 'depth_zero')); } $this->aData['topMenuItems'] = $this->infoPages; // comparison list if (issetModule('comparisonList')) { if (!Yii::app()->user->isGuest) { $resultCompare = ComparisonList::model()->findAllByAttributes(array('user_id' => Yii::app()->user->id)); } else { $resultCompare = ComparisonList::model()->findAllByAttributes(array('session_id' => Yii::app()->session->sessionId)); } if ($resultCompare) { foreach ($resultCompare as $item) { $this->apInComparison[] = $item->apartment_id; } } } $this->currentUserIp = Yii::app()->request->getUserHostAddress(); $this->currentUserIpLong = ip2long($this->currentUserIp); $this->datePickerLang = Yii::app()->language; if ($this->datePickerLang == 'en') { $this->datePickerLang = 'en-GB'; } if (demo()) { if (isset($_GET['theme']) && array_key_exists($_GET['theme'], Themes::getColorThemesList())) { $theme = $_GET['theme']; $cookie = new CHttpCookie('theme', $theme); $cookie->expire = time() + 86400; Yii::app()->request->cookies['theme'] = $cookie; } } parent::init(); }
?> <td><?php echo !is_null($order->agentbonus) ? $order->agentbonus . ' агенту' : 'без комиссии'; ?> </td> <td> <?php echo !($order->objTypeId == 4 || $order->objTypeId == 19) ? $order->floor . '/' . $order->numOfFloors : $order->numOfFloors; ?> </td> <td><?php echo ApartmentsRents::getStrLabels($order->conditions); ?> </td> <td><div > <a href="#" class="lookContact"></a> <?php echo HUser::getModel()->findByPk($order->userFrom)->phone; ?> </div></td> <td><table width="100%" border="0" cellspacing="0"> <tbody> <tr> <td class="tableComnt"><div class="comntNote"> Активно с: <?php echo $order->createDate; ?> </div> <br> <?php echo $order->additional; ?> </td> <td class="actionIcons"><a href="#" class="actionMap"></a> <a href="#" class="actionNote"></a> <a href="#" class="actionAdmin"></a></td>
function init() { if (!oreInstall::isInstalled() && !(Yii::app()->controller->module && Yii::app()->controller->module->id == 'install')) { $this->redirect(array('/install')); } setLang(); $modulesToCheck = ConfigurationModel::getModulesList(); foreach ($modulesToCheck as $module) { if (param('module_enabled_' . $module) === null) { ConfigurationModel::createValue('module_enabled_' . $module, 0); Yii::app()->params['module_enabled_' . $module] = 0; } } unset($modulesToCheck); $this->assetsGenPath = Yii::getPathOfAlias('webroot.assets'); $this->assetsGenUrl = Yii::app()->getBaseUrl(true) . '/assets/'; Yii::app()->user->setState('menu_active', ''); if (isFree()) { $this->pageTitle = param('siteTitle'); $this->pageKeywords = param('siteKeywords'); $this->pageDescription = param('siteDescription'); } else { if (issetModule('seo')) { $this->pageTitle = Seo::getSeoValue('siteName'); $this->pageKeywords = Seo::getSeoValue('siteKeywords'); $this->pageDescription = Seo::getSeoValue('siteDescription'); } else { $this->pageTitle = tt('siteName', 'seo'); $this->pageKeywords = tt('siteKeywords', 'seo'); $this->pageDescription = tt('siteDescription', 'seo'); } } Yii::app()->name = $this->pageTitle; if (Yii::app()->getModule('menumanager')) { if (!(Yii::app()->controller->module && Yii::app()->controller->module->id == 'install')) { $this->infoPages = Menu::getMenuItems(0); } } if (!Yii::app()->user->isGuest && !Yii::app()->user->getState('isAdmin')) { $subItems = HUser::getMenu(); } else { $subItems = array(); } $urlAddAd = Yii::app()->user->isGuest && issetModule('guestad') ? array('/guestad/main/create') : array('/userads/main/create'); $this->aData['userCpanelItems'] = array(array('label' => tt('Add ad', 'common'), 'url' => $urlAddAd, 'visible' => Yii::app()->user->isGuest == false), array('label' => '|', 'visible' => param('useUserads', 0) == 1), array('label' => tt('Special offers', 'common'), 'url' => array('/specialoffers/main/index')), array('label' => tt('Search for listings on the map', 'common'), 'url' => array('/page/2')), array('label' => tt('Contact us', 'common'), 'url' => array('/contactform/main/index')), array('label' => '|', 'visible' => Yii::app()->user->getState('isAdmin') === null), array('label' => tt('Reserve apartment', 'common'), 'url' => array('/booking/main/mainform'), 'visible' => Yii::app()->user->getState('isAdmin') === null, 'linkOptions' => array('class' => 'fancy')), array('label' => '|', 'visible' => Yii::app()->user->getState('isAdmin') === null), array('label' => Yii::t('common', 'Control panel'), 'url' => array('/usercpanel/main/index'), 'visible' => Yii::app()->user->getState('isAdmin') === null, 'items' => $subItems, 'submenuOptions' => array('class' => 'sub_menu_dropdown'))); if (!Yii::app()->user->isGuest) { $user = HUser::getModel(); $this->aData['userCpanelItems'][] = array('label' => '|'); $this->aData['userCpanelItems'][] = array('label' => '(' . $user->username . ') ' . tt('Logout', 'common'), 'url' => array('/site/logout')); } $this->aData['topMenuItems'] = $this->infoPages; // comparison list if (issetModule('comparisonList')) { if (!Yii::app()->user->isGuest) { $resultCompare = ComparisonList::model()->findAllByAttributes(array('user_id' => Yii::app()->user->id)); } else { $resultCompare = ComparisonList::model()->findAllByAttributes(array('session_id' => Yii::app()->session->sessionId)); } if ($resultCompare) { foreach ($resultCompare as $item) { $this->apInComparison[] = $item->apartment_id; } } } parent::init(); }
</div> <div class="pr-row"> <div class="pr-col-1 bg-7"></div> <div class="pr-col-2 bg-col-2-sg"> <?php if (HUser::getModel()->type == User::TYPE_AGENT || HUser::getModel()->type == User::TYPE_AGENCY) { ?> <input class="name mb" type="text" name="skypeid" value="<?php echo HUser::getModel()->skypeid; ?> " placeholder="Изменить Skype ID"> <?php } else { ?> <span><?php echo HUser::getModel()->skypeid; ?> </span> <?php } ?> </div> </div> <div class="pr-row"> <button class="pr-col-1 bg-9"></button> <div class="pr-col-2 bg-col-2-sg"> <span>*Доступно только для агентов/агенств</span> <a id="delete-btn" href="#"></a> </div> </div> </form>