コード例 #1
0
ファイル: banners.class.php プロジェクト: Sywooch/dobox
 function click()
 {
     $nID = $this->input->id('id');
     if (!$nID) {
         Func::JSRedirect(SITEURL);
     }
     $aData = $this->getBannerData($nID);
     if (empty($aData)) {
         Func::JSRedirect(SITEURL);
     }
     # +1 к кликам  (MySQL ONLY)
     $this->db->execute('INSERT INTO ' . TABLE_BANNERS_STAT . ' (id, clicks, period) 
                    VALUES(' . $nID . ',1, ' . $this->db->str2sql(date('Y-m-d')) . ') 
                    ON DUPLICATE KEY UPDATE clicks=clicks+1');
     if (empty($aData['clickurl']) || $aData['clickurl'] == '#') {
         Func::JSRedirect(SITEURL);
     }
     Func::JSRedirect('http://' . $aData['clickurl']);
 }
コード例 #2
0
ファイル: sendmail.class.php プロジェクト: Sywooch/dobox
 function subscribe()
 {
     $aData = array();
     if (func::isPostMethod()) {
         $this->input->postm(array('name' => TYPE_NOHTML, 'email' => TYPE_NOHTML), $aData);
         $sEmail =& $aData['email'];
         if (!$aData['name']) {
             $this->errors->set('no_subscriber_name');
         }
         if (!$sEmail) {
             $this->errors->set('no_subscriber_email');
         } elseif (!func::IsEmailAddress($sEmail)) {
             ${$this}->errors->set('subscriber_wrong_email');
         } elseif ($this->isSubscribed($sEmail)) {
             $this->errors->set('subscriber_email_exists');
         }
         if ($this->errors->no()) {
             $this->db->execute('INSERT INTO ' . DB_PREFIX . 'subscribers (name, email, create_datetime)
                         VALUES (' . $this->db->str2sql($aData['name']) . ', ' . $this->db->str2sql($sEmail) . ', ' . $this->db->getNOW() . ')');
         }
     }
     Func::JSRedirect('/');
 }
コード例 #3
0
ファイル: users.adm.class.php プロジェクト: Sywooch/dobox
 function login()
 {
     if ($this->security->haveAccessToAdminPanel()) {
         $this->adminRedirect(null, 'profile');
     }
     $sLogin = '';
     if (bff::$isPost) {
         $sLogin = func::POST('login', true);
         if (!$sLogin) {
             $this->errors->set('no_login');
         }
         $sPassword = func::POST('password', true);
         if (!$sPassword) {
             $this->errors->set('no_password');
         }
         if ($this->errors->no()) {
             $sPassword = $this->security->getUserPasswordMD5($sPassword);
             $sQuery = 'SELECT user_id, login, email, name, avatar, admin, cat FROM ' . TABLE_USERS . '
                        WHERE login = '******' AND password = '******'
                        LIMIT 1';
             $aUserData = $this->db->one_array($sQuery);
             if (!$aUserData) {
                 $this->errors->set('login_and_password_unknow', '', false, $sLogin);
             } else {
                 $nUserID = $aUserData['user_id'];
                 if (bff::i()->Ban_checkBan(Func::getRemoteAddress(), false, false, true)) {
                     $this->errors->set(Errors::ACCESSDENIED);
                 } else {
                     if (!$this->security->haveAccessToAdminPanel($nUserID)) {
                         $this->errors->set(Errors::ACCESSDENIED);
                     }
                 }
                 if ($this->errors->no()) {
                     $aUserGroups = $this->getUserGroups($nUserID, true);
                     //стартуем сессию администратора
                     session_set_cookie_params(0, '/admin/');
                     $this->security->sessionStart('a', false);
                     //update login_last_datetime, login_datetime to current time
                     $this->db->execute('UPDATE ' . TABLE_USERS . '
                                SET login_last_ts=login_ts, login_ts=' . $this->db->getNOW() . ', ip_login= '******',
                                     session_id=' . $this->db->str2sql(session_id()) . '
                                WHERE user_id=' . $nUserID);
                     $this->security->setUserInfo($nUserID, $aUserData['login'], $aUserData['email'], $aUserGroups, array('avatar' => $aUserData['avatar'], 'name' => $aUserData['name'], 'surname' => $aUserData['surname'], 'admin' => $aUserData['admin'], 'cat' => explode(',', $aUserData['cat'])));
                     Func::JSRedirect('index.php');
                 }
             }
         }
     }
     $this->errors->assign();
     $this->tplAssign('login', $sLogin);
     $this->tplDisplay('login.tpl', TPL_PATH, '', '');
     exit(0);
 }
コード例 #4
0
ファイル: users.class.php プロジェクト: Sywooch/dobox
 function logout()
 {
     if ($this->security->isLogined()) {
         if (!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'user/profile') === FALSE) {
             $sRedirectURL = $_SERVER['HTTP_REFERER'];
         } else {
             $sRedirectURL = SITEURL;
         }
         $this->security->logout($sRedirectURL, true, 'u', '/');
     }
     Func::JSRedirect(SITEURL);
 }
コード例 #5
0
ファイル: module.php プロジェクト: Sywooch/dobox
 function showError($mErrorKey = '')
 {
     if ($mErrorKey == Errors::ACCESSDENIED) {
         $this->errors->autohide(false);
     }
     if (!empty($_SERVER['HTTP_REFERER']) && $this->security->isLogined()) {
         Func::JSRedirect($_SERVER['HTTP_REFERER'] . '&errno=' . $mErrorKey);
     }
     $this->errors->set($mErrorKey);
     return '';
 }