soctell

Участники
  • Публикации

    60
  • Зарегистрирован

  • Посещение

Все публикации пользователя soctell

  1. Добавил в main.tpl текущего шаблона, отображает изображение при условие нет фото, хотя оно есть
  2. Подскажите есть ли переменная, которая отвечает за изображение профиля, и ее можно применить например в файле right_menu.tpl текущего шаблона. Либо если вытащить через запрос это изображение с помощью то почему в запросе $user_id=''
  3. Подскажите почему выводит фразу блокировки при вводе неправильного пароля, хотя не должно
  4. Если ввести неправильно пароль выводит эту же фразу по блокировке
  5. Например получ след запрос SELECT *, date_ban(date, "%d.%m.%y") as date_ban FROM re_user WHERE email='pozitiff900@mail.ru' and password='f638f4354ff089323d1a5f78fd8f63ca' При выполнении запроса в phpmyadmin #1305 - FUNCTION krdmorg_kkuban.date_ban does not exist
  6. Весь кусок кода , а что было изменено подчеркнуто <?php/** * Login using email-address * @author Kondin Dmitriy <kondin@etown.ru> */ class Login_Email extends Login { /** * Main * @param void * @return string */ function main () { global $init; if ( $this->getSessionUserId() > 0 ) { $rs = $this->wellcomePage(); return $rs; } switch ( $init->getValue('do', 'default') ) { case 'login_vk': require_once (SITEBILL_DOCUMENT_ROOT . '/apps/socialauth/lib/vk/vk_logger.php'); $VK = Vk_Logger::getInstance(); $VK->login(); break; case 'login': $this->checkLogin( $init->getValue('email'), $init->getValue('password') ); //echo "error_message = ".$this->error_message."<br>"; if ( $this->GetError() ){ $rs = $this->loginForm(); } else { $rs = $this->wellcomePage(); } break; default: if ( $this->getSessionUserId() > 0 ) { $rs = $this->wellcomePage(); } else { $rs = $this->loginForm(); } } return $rs; } /** * Check login * @param string $email email-address * @param string $password password * @return boolean */ function checkLogin ( $email, $password ) { if ( $_SESSION['user_id'] > 0 ) { return true; } if ( $this->getConfigValue('ajax_auth_form') ) { $this->riseError('not login'); unset($_SESSION['user_id']); return false; } else { if ( $email != '' and $password != '' ) { $query = "SELECT *, date_ban(date, \"%d.%m.%y\") as date_ban FROM ".DB_PREFIX."_user WHERE email='".$email."' and password='".md5($password)."'".(1==$this->getConfigValue('use_registration_email_confirm') ? ' AND active=1' : ''); //echo $query; $this->db->exec($query); $this->db->fetch_assoc(); $date = date("d.m.y"); if ( $this->db->row['user_id'] != '' and $date > $this->db->row['date_ban']) { $session_key = $this->GenerateSessionKey($this->db->row['user_id']); $this->setSessionKey( $session_key ); $this->setUserId($this->db->row['user_id']); $_SESSION['user_id']=$this->db->row['user_id']; $_SESSION['current_user_name']=$this->db->row['fio']; $this->db->exec('SELECT system_name FROM '.DB_PREFIX.'_group WHERE group_id=(SELECT group_id FROM '.DB_PREFIX.'_user WHERE login=\''.$login.'\')'); $this->db->fetch_assoc(); $_SESSION['current_user_group_name']=$this->db->row['system_name']; return true; } else { $this->riseError(Multilanguage::_('L_ERROR_EMAIL_BAN').' дата блокировки '.$this->db->row['date_ban']);return false; } $this->riseError(Multilanguage::_('L_ERROR_EMAIL_PASS')); return false; } $this->riseError('not login'); unset($_SESSION['user_id']); return false; } } /** * Get simple auth form * @param string $action * @param boolean $register * @param boolean $remind * @return string */ function get_simple_auth_form ( $action = '/login/', $register = true, $remind = true ) { if ( SITEBILL_MAIN_URL != '' ) { $add_folder = '/'.SITEBILL_MAIN_URL; } $rs .= '<form method="post" action="'.SITEBILL_MAIN_URL.$action.'">'; $rs .= ''; $rs .= '<table border="0">'; if ( $this->getError() and $this->GetErrorMessage() != 'not login' ) { $rs .= '<tr>'; $rs .= '<td colspan="2"><span class="error">'.$this->GetErrorMessage().'</span></td>'; $rs .= '</tr>'; } $rs .= '<tr>'; $rs .= '<td class="special">'.Multilanguage::_('L_AUTH_EMAIL').' </td>'; $rs .= '<td class="special"><input type="text" name="email" id="email"></td>'; $rs .= '</tr>'; $rs .= '<tr>'; $rs .= '<td class="special">'.Multilanguage::_('L_AUTH_PASSWORD').' </td>'; $rs .= '<td class="special"><input type="password" name="password" id="password"></td>'; $rs .= '</tr>'; $rs .= '<tr>'; $rs .= '<td class="special">'; if ( $register ) { $rs .= '<a href="'.SITEBILL_MAIN_URL.'/register/">'.Multilanguage::_('L_AUTH_REGISTRATION').'</a>'; } if ( $remind ) { $rs .= '<br><a href="'.SITEBILL_MAIN_URL.'/remind/">'.Multilanguage::_('L_AUTH_FORGOT_PASS').'</a>'; } $rs .= '</td>'; $rs .= '<td class="special"><input type="submit" value="'.Multilanguage::_('L_AUTH_ENTER').'"></td>'; $rs .= '</tr>'; $rs .= '</table>'; $rs .= '<input type="hidden" name="do" value="login">'; $rs .= '</form>'; return $rs; }}
  7. У меня файл в кодировки UTF-8, редактир Notepad++. При выводе print_r пишет только "1"
  8. Проблема с кодировкой "дата блокировки", и не отображает дату блокировки
  9. Условие добавил, а как сделать чтобы при $date > $this->db->row['date_ban'] выводило сообщение с датой блокировки внутри его, сделал пока так, но это сообщение дейсвует при неправ пароле и если заблокирован if ( $this->db->row['user_id'] != '' and $date > $this->db->row['date_ban']) { $session_key = $this->GenerateSessionKey($this->db->row['user_id']); $this->setSessionKey( $session_key ); $this->setUserId($this->db->row['user_id']); $_SESSION['user_id']=$this->db->row['user_id']; $_SESSION['current_user_name']=$this->db->row['fio']; $this->db->exec('SELECT system_name FROM '.DB_PREFIX.'_group WHERE group_id=(SELECT group_id FROM '.DB_PREFIX.'_user WHERE login=\''.$login.'\')'); $this->db->fetch_assoc(); $_SESSION['current_user_group_name']=$this->db->row['system_name']; return true; } else { $this->riseError(Multilanguage::_('L_ERROR_EMAIL_BAN')); return $rs; }
  10. Добрый день, подскажите реализован код установки даты блокирования пользователя до определенной даты, осталось подкорректировать проверку при входе пользователя, я редактирую в файле /testkk/public_html/apps/system/lib/system/user/login_email.php и изменил на следущее if ( $email != '' and $password != '' ) { $query = "SELECT * FROM ".DB_PREFIX."_user WHERE email='".$email."' and password='".md5($password)."'".(1==$this->getConfigValue('use_registration_email_confirm') ? ' AND active=1' : ''); //echo $query; $this->db->exec($query); $this->db->fetch_assoc(); $date = date("Y-m-d"); if ( $this->db->row['user_id'] != '' and $this->db->row['date_ban'] = '0000-00-00 00:00:00' and $date > $this->db->row['date_ban']) { $session_key = $this->GenerateSessionKey($this->db->row['user_id']); $this->setSessionKey( $session_key ); $this->setUserId($this->db->row['user_id']); $_SESSION['user_id']=$this->db->row['user_id']; $_SESSION['current_user_name']=$this->db->row['fio']; $this->db->exec('SELECT system_name FROM '.DB_PREFIX.'_group WHERE group_id=(SELECT group_id FROM '.DB_PREFIX.'_user WHERE login=\''.$login.'\')'); $this->db->fetch_assoc(); $_SESSION['current_user_group_name']=$this->db->row['system_name']; return true; }где date_ban - колонка до какого числа заблокирован Причем если не заблокирован пользватель date_ban = 0000-00-00 00:00:00 Помогите решить проблему с проверкой