VaM Shop



  • Установка и настройка
  • Проблемы и решения
  • Шаблоны
  • Модули
  • Установщик модулей


  • Интеграция Vamshop
  • Общие вопросы
  • Продажа открытого программного обеспечения


Открытая копия форума поддержки Vamshop

Форум поддержки VaM Shop

Интернет-магазин VaM Shop => Интеграция VaM Shop => Тема начата: vebe от 17 Января 2008, 12:05:15



Название: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Января 2008, 12:05:15
Для drupal есть пара решений магазинов, работающих непосредственно в нем. Это e-Commerce и Ubercart.
Их уровень пока отстает от нормального магазина. Поэтому я выбрал сборку vamshop как основу магазина сайта на Друпале.
Можно еще и zen рассмотреть для заграницы. Пока не до него, начнем с vamshop.
У меня есть опыт интеграции SMF и phpBB в Друпал.
SMF посмотреть можно на моем сайте поддержки http://vgb.org.ru
Я взял это за основу и вчера сделал опытный модуль для vamshop посмотреть что там и как.
Вывод положительный.
Содержимое почти всего что надо из aplication_top в друпале инклюдится, пересечений имен и функций нет, DB коннектится, работает.
Все, что надо. НО.
С авторизацией затык.

if (!isset ($_SESSION['customer_id']))

не работает так как там своя сессия, попытки установить sid не получились.
Знаю недостаточно, есть вопиющие пробелы в web development,
я ведь тоже не web программист, хотя и программист в прошлом.

В SMF авторизация делается через куки, там же id и зашифрованный пароль юзера, в phpBB сложнее.
В vamsop все для этого есть. cookie_test устанавливаются, session есть пишется

Нет только после
if (!isset ($_SESSION['customer_id']))
нужна авторизации через установленный в друпале куки или как еще.

То есть я в принципе пока не могу сделать общей авторизации.
Без доработки не обойтись.

Кто чего может предложить, посоветовать, может из zencart чего-то взять можно или других магазинов?

Давайте интегрируем VamShop в Друпал. Пора ему.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Января 2008, 12:19:50
Да, мне тоже очень интересна тема связки VaM Shop с различными cms.
Насколько я знаю Drupal сейчас довольно популярен, как-то давно ставил, но очень давно, сейчас попробую поставить текущую версию Drupal.

vebe

А можешь написать что уже сделано, я может тоже попробую покопаться.



Название: Re: Интеграциия Vamshop и Drupal
Отправлено: ABerezin от 17 Января 2008, 13:13:24
Оффтоп:
Цитата: vebe от 17 Января 2008, 12:05:15
Можно еще и zen рассмотреть для заграницы.
Интересно, а почему для заграницы?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: ABerezin от 17 Января 2008, 15:19:24
Твоя ИМХА даже не попыталась ответить на мой вопрос:
"Почему vebe считает, что zen можно рассматривать только для заграницы".



Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Января 2008, 16:18:50
ABerezin, тут я имел ввиду то, что zen cart за границей мне кажется более известен, чем vamshop, и связка Drupal и Zen cart для заграницы найдет отклик скорее чем с vamshop.
Я совсем ничего не имею против zen, только за и у нас тоже, год назад ставил один раз, мне понравилось. Наверное они на месте тоже не стояли.
Буду только рад, если ты поможешь разобраться. Можно с тобой и для zen сделать, если у них внутри для этого все есть или ты готов поучаствовать в адаптации совместно найденных решений.
Я в магазинах не знаток, поэтому и рассчитываю на вашу помощь.
Готовлю первичные соображения, что и как надо в первую очередь. Завтра в середине дня выложу.
Модули будут под GPL.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: ABerezin от 17 Января 2008, 16:39:48
vebe,
Понял.
Поучаствую с удовольствием в свободное время.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Января 2008, 17:46:11
Цитата: VaM от 17 Января 2008, 12:19:50
Насколько я знаю Drupal сейчас довольно популярен, как-то давно ставил, но очень давно, сейчас попробую поставить текущую версию Drupal.
А можешь написать что уже сделано, я может тоже попробую покопаться.
Drupal очень хорошая CMS. Сначала вроде кажется неказистой в базовой поставке, но по мере изучения и установки сторонних модулей понимаешь ее мощь и возможности.
Сделан модуль под версию Drupal 5 и 6. vamshop.module
Сделан vamshop_api.php с набором функций для связи
Все в черновом варианте, заготовка, но ставится, не валится, можно будет тестировать реальную работу.
Выложу тоже завтра.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Января 2008, 17:49:38
Спасибо, выкладывай.
Я конечно в drupal не очень разбираюсь, но всё равно, буду ставить и пробовать.

Тем более, что тема связки магазина и cms очень интересна.

Если получится с drupal, можно будет по-тихоньку и с другими cms связывать как-то магазин.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 18 Января 2008, 14:14:49
Предлагаю попробовать через куки
Так сделано в SMF и модуле связи SMF+Drupal (скачать можно http://vgb.org.ru) можно посмотреть как

1. Надо написать функцию
vam_set_login_cookie
и вызывать ее при логине и регистрации
я тоже ее вызываю, когда юзер логинется в друпале
Посмотреть и адаптировать set_login_cookie
и
vam_get_cookie_info из
vam_get_cookies_info.inc.php

К замствованиям из SMF надо подходить очень осторожно.
Это не GPL, а частный код с их лицензией.
Привожу ссылки, для понимания идей, а не прямого копирования.
Для пробы сгодится, но если просто передирать, можно нарушить их лицензию и поставим под сомнение GPL кода модулей и магазина.

2.
Вместо if (!isset ($_SESSION['customer_id']))
использовать функцию
if (!vam_authenticate_user())
......

function vam_authenticate_user()
Эту функцию я не вызываю

3. также проверить, дописать

function vam_get_user($user_id, $email_address)
Эту функцию я вызываю

см внизу код

Для начала надо залогинится в магазине
вызывать при логине
vam_set_login_cookie
На странице настройки в моде друпала если будет авторизация увидем customer_id=1*
Если видем customer_id=0* авторизации нет

Пока это не сделаем дальше не пойдем.

Магазин должен быть установлен для простoты в подкаталог /shop/
Drupal - www.site.com
Vamshop - www.site.com/shop

Как установить модуль vamshop  в друпале

1. перпишите разархивированное содержимое архива vamshop в каталог
sites\all\modules\vamshop\
2. включите модуль на странице Модули
http://www.site.com/admin/build/modules
3. идите в настройки сайта, там увидете VaMShop settings
http://www.site.com/admin/settings/vamshop

Должны добиться
Successfully locating VamShop installation.
Successfully locating sites/all/modules/vamshop/includes/vamshop_api.php.
Successfully connected to the VamShop database.
VamShop user: customer_id=0*. You are not authenticated in VamShop now. Please login to VamShop and test again.

<?php

У меня в модуле вот эти, в SMF смотреть в Subs-Auth.php setLoginCookie
есть для этого vam_setcookie.inc.php

function vam_setcookie($name, $value = '', $expire = 0, $path = '/', $domain = '', $secure = 0) {
    setcookie($name, $value, $expire, $path, (vam_not_null($domain) ? $domain : ''), $secure);
  }

//Устанавливаются куки так
function vam_set_login_cookie($cookie_length, $id, $password = '', $encrypted = true)
{
  global $vamshop_config, $configuration, $vamshop_user;

  // The $id is not numeric; it is a email.
  if (!is_integer($id))
  {
    // получить $id по email
    $result = vam_db_query("");
    list ($id) = mysql_fetch_row($result);
    mysql_free_result($result);
  }

  $customer_id = $vamshop_user['customer_id'];

  if (empty($id) || $customer_id == 0)
      return false;

   if (!$encrypted)
   {
      if (!empty($password))
      {
      $password = md5($password);
        $vamshop_user['password'] = $password;
      }
   }

  if (empty($cookie_length))
    $cookieTime = 60 * $configuration['cookieTime'];
  else
    $cookieTime = 60 * $cookie_length;

  // Cookie set.
   set_login_cookie($cookieTime, $customer_id, $vamshop_user['password']);

   $vamshop_user['is_guest'] = false;

   return true;
}

// здесь из SMF надо адаптрировать

function set_login_cookie($cookie_length, $id, $password = '')
{
   global $smf_settings;

   // The cookie may already exist, and have been set with different options.
   $cookie_state = (empty($smf_settings['localCookies']) ? 0 : 1) | (empty($smf_settings['globalCookies']) ? 0 : 2);
   if (isset($_COOKIE[$smf_settings['cookiename']]) && preg_match('~^a:[34]:\{i:0;(i:\d{1,6}|s:[1-8]:"\d{1,8}");i:1;s:(0|40):"([a-fA-F0-9]{40})?";i:2;[id]:\d{1,14};(i:3;i:\d;)?\}$~', $_COOKIE[$smf_settings['cookiename']]) === 1)
   {
      $array = @unserialize($_COOKIE[$smf_settings['cookiename']]);

      // Out with the old, in with the new!
      if (isset($array[3]) && $array[3] != $cookie_state)
      {
         $cookie_url = smf_url_parts($smf_settings['forum_url'], $array[3] & 1 > 0, $array[3] & 2 > 0);
         setcookie($smf_settings['cookiename'], serialize(array(0, '', 0)), time() - 3600, $cookie_url[1], $cookie_url[0], 0);
      }
   }

   // Get the data and path to set it on.
   $data = serialize(empty($id) ? array(0, '', 0) : array($id, $password, time() + $cookie_length, $cookie_state));
   $cookie_url = smf_url_parts($smf_settings['forum_url'], !empty($smf_settings['localCookies']), !empty($smf_settings['globalCookies']));

   // Set the cookie, $_COOKIE, and session variable.
   setcookie($smf_settings['cookiename'], $data, time() + $cookie_length, $cookie_url[1], $cookie_url[0], 0);

   // If subdomain-independent cookies are on, unset the subdomain-dependent cookie too.
   if (empty($id) && !empty($smf_settings['globalCookies']))
      setcookie($smf_settings['cookiename'], $data, time() + $cookie_length, $cookie_url[1], '', 0);

   // Any alias URLs?  This is mainly for use with frames, etc.
   if (!empty($smf_settings['forum_alias_urls']))
   {
      $aliases = explode(',', $smf_settings['forum_alias_urls']);

      foreach ($aliases as $alias)
      {
         // Fake the $boardurl so we can set a different cookie.
         $alias = strtr(trim($alias), array('http://' => '', 'https://' => ''));
         $forum_url = 'http://' . $alias;

         $cookie_url = smf_url_parts($forum_url, !empty($smf_settings['localCookies']), !empty($smf_settings['globalCookies']));

         if ($cookie_url[0] == '')
            $cookie_url[0] = strtok($alias, '/');

         setcookie($smf_settings['cookiename'], $data, time() + $cookie_length, $cookie_url[1], $cookie_url[0], 0);
      }

   }

   $_COOKIE[$smf_settings['cookiename']] = $data;
   $_SESSION['login_' . $smf_settings['cookiename']] = $data;
}

есть vam_get_cookies_info.inc.php
Там на мой домен www.ddddd.org
дает $cookie_domain .www.ddddd.org
Детально не смотрел почему
Мне кажется надо .ddddd.org

Это я переделал из смф Subs-Auth.php function url_parts($local, $global),
у них дикий прием использования глобальной перменной, они ее подменяли по разному, так нельзя писать

// Get the domain and path for the cookie...
function smf_url_parts($forum_url, $local, $global)
{
   // Parse the URL with PHP to make life easier.
   $parsed_url = parse_url($forum_url);

   // Is local cookies off?
   if (empty($parsed_url['path']) || !$local)
      $parsed_url['path'] = '';

   // Globalize cookies across domains (filter out IP-addresses)?
   if ($global && preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1)
         $parsed_url['host'] = '.' . $parts[1];

   // We shouldn't use a host at all if both options are off.
   elseif (!$local && !$global)
      $parsed_url['host'] = '';

   // The host also shouldn't be set if there aren't any dots in it.
   elseif (!isset($parsed_url['host']) || strpos($parsed_url['host'], '.') === false)
      $parsed_url['host'] = '';

   return array($parsed_url['host'], $parsed_url['path'] . '/');
}

//////////////////////////////////////////////////////////////////////////////////////

//Для начала надо сделать авторизацию
// где-то
$vamshop_user = array();


//Вместо if (!isset ($_SESSION['customer_id']))
//Авторизация может быть такой
// проверка куки уже адаптирована

if (!vam_authenticate_user())
......

function vam_authenticate_user()
{
  global $configuration, $vamshop_config, $vamshop_user;

  if (isset ($_SESSION['customer_id']))
    return $_SESSION['customer_id'];

  // проверка куки
  $customer_id = 0;
  if (isset($_COOKIE[$configuration['cookiename']]))
  {
    $_COOKIE[$configuration['cookiename']] = stripslashes($_COOKIE[$configuration['cookiename']]);
    // Fix a security hole in PHP <= 4.3.9
    if (preg_match('~^a:[34]:\{i:0;(i:\d{1,6}|s:[1-8]:"\d{1,8}");i:1;s:(0|40):"([a-fA-F0-9]{40})?";i:2;[id]:\d{1,14};(i:3;i:\d;)?\}$~', $_COOKIE[$configuration['cookiename']]) == 1)
    {
      list ($customer_id, $password) = @unserialize($_COOKIE[$configuration['cookiename']]);
         $customer_id = !empty($customer_id) ? (int) $customer_id : 0;
      }
   }

  if ($customer_id == 0 || !vam_get_user($customer_id, "") || !vam_validate_password($password, $vamshop_user['password']))
   {
     $vamshop_user = array();
     $vamshop_user['customer_id'] = 0;
     $vamshop_user['is_guest'] = true;
     return 0;
   }
  // другие действия логина
  return $customer_id;
}




function vam_get_user($user_id, $email_address)
{
   global $vamshop_config, $vamshop_user;

   if (!empty($user_id) && is_integer($user_id)) {
    $check_customer_query = vam_db_query("select customers_email_address, customers_vat_id, customers_firstname, customers_lastname, customers_gender, customers_password, login_tries, login_time, customers_default_address_id from ".TABLE_CUSTOMERS." where customers_id = '".(int) $user_id."' and account_type = '0'");
  }
  elseif (!empty($email_address)) {
    $check_customer_query = vam_db_query("select customers_id, customers_vat_id, customers_firstname, customers_lastname, customers_gender, customers_password, customers_email_address, login_tries, login_time, customers_default_address_id from ".TABLE_CUSTOMERS." where customers_email_address = '".vam_db_input($email_address)."' and account_type = '0'");
  }
  else {
     return false;
   }

   if (!vam_db_num_rows($check_customer_query)) {
      if (!empty($user_id))
        $vamshop_config['error_msg'] = TEXT_NO_EMAIL_ADDRESS_FOUND;
      else
        $vamshop_config['error_msg'] = "Bad user_id";
      $vamshop_user['customer_id'] = 0;
    $vamshop_user['is_guest'] = true;
    return false;
   }

   // получить юзера
   $check_customer = vam_db_fetch_array($check_customer_query);

  $check_country_query = vam_db_query("select entry_country_id, entry_zone_id from ".TABLE_ADDRESS_BOOK." where customers_id = '".(int) $check_customer['customers_id']."' and address_book_id = '".$check_customer['customers_default_address_id']."'");
   $check_country = vam_db_fetch_array($check_country_query);

   if (!empty($user_id)) {
    $vamshop_user['customer_id'] = $user_id;
    $vamshop_user['email_address'] = $check_customer['customers_email_address'];
  }
  else {
    $vamshop_user['email_address'] = $email_address;
    $vamshop_user['customer_id'] = $check_customer['customers_id'];
  }

  // заполнить
  //$vamshop_user;

   $vamshop_user['password'] = $check_customer['customers_password'];
   $vamshop_user['gender'] = $check_customer['customers_gender'];
   $vamshop_user['first_name'] = $check_customer['customers_firstname'];
   $vamshop_user['last_name'] = $check_customer['customers_lastname'];
   $vamshop_user['vat_id'] = $check_customer['customers_vat_id'];
   $vamshop_user['default_address_id'] = $check_customer['customers_default_address_id'];
   $vamshop_user['country_id'] = $check_country['entry_country_id'];
   $vamshop_user['zone_id'] = $check_country['entry_zone_id'];
   // и т.д  список индексов будет уточнен позднее

  // установить $vamshop_user['is_guest'] в зависимости в онлайне ли он
  // Брать не из $_SESSION['customer_id'])
  //...................................

  vam_db_free_result($check_customer_query);
  vam_db_free_result($check_country_query);

   return true;
}








Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 18 Января 2008, 14:16:15
Немножко сумбурно, но времени было мало и код уже писал, начнем разбираться постепенно

vam_api.php - это содержимое предыдущего поста
vamshop.zip - модуль для Drupal 5


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 18 Января 2008, 14:24:57
ABerezin, скачал zen cart взглянул мельком, разница есть, но шанс есть
переменная $db слава богу не используется в друпале будем надеятся, что другого там не помешает, но я не проверял
Будут некоторые заморочки с нац кодировками.
состояние с авторизацией там такое же.

решение по авторизации должно быть одинаковым.

отличия будут в вызове db фукций, перекодировках в utf-8 и др.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Января 2008, 15:31:49
vebe

Спасибо большое, сейчас буду пробовать твою инструкцию.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 19 Января 2008, 18:34:03
Поставил drupal, я сейчас для начала попробую твою связку smf + drupal, что б хоть как-то сориентироваться в нём.
Я так глянул, мне понравился drupal, да и в utf8 сразу, что тоже неплохо.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 19 Января 2008, 18:48:59
Спрашивай, если что, поначалу непривычно и трудновато будет, как с Drupal, так и с модулем, модуль не самый простой.
Если снаружи работаешь, смогу и делом помочь, а если на локалке - советом.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 19 Января 2008, 18:56:16
А неплохо интеграция сделана с smf, я ж так понял, при регистрации на форуме сразу и в drupal пользователь создётся?

А как с модулями у него, у drupal, выбор есть?
Есть например модули для файлового архива, faq, статей, новостей?!

Я пока близко не смотрел, но судя по http://drupal.org/project/Modules
Выбор есть и очень неплохой.

Я тут просто думаю над переводом всего vamshop.ru/support на utf8 кодировку, раз и магазин vamshop.ru уже в utf8, а у друпал с нуля как раз utf8 уже и также вёрстка на блоках, что тоже неплохо.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 19 Января 2008, 19:04:47
Цитата: VaM от 19 Января 2008, 18:56:16
А неплохо интеграция сделана с smf, я ж так понял, при регистрации на форуме сразу и в drupal пользователь создётся?

А как с модулями у него, у drupal, выбор есть?
Есть например модули для файлового архива, faq, статей, новостей?!

Я пока близко не смотрел, но судя по http://drupal.org/project/Modules
Выбор есть и очень неплохой.

Я тут просто думаю над переводом всего vamshop.ru/support на utf8 кодировку, раз и магазин vamshop.ru уже в utf8, а у друпал с нуля как раз utf8 уже.
Не сразу, а когда войдешь через друпал, или тыкнешь в страницу друпала при условии что включен в друпале блок SMFforum регистрации или скрытой регистрации.
Есть и модули для файлового архива, faq, статей, новости там в базе сразу и c RSS там хорошо и куча другого.
Сайт поддержки такой как у тебя сделать можно.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 19 Января 2008, 19:08:37
Да, неплохо конечно.
Может даже есть смысл поменять xoops на drupal, посижу ещё, почитаю доки к drupal.

А как ты хочешь магазин связать с друпал?
В магазине ведь вход на email/пароль, а в друпал логин/пароль.

Может в магазине тоже сделать вход по логину/паролю?
Тем более, сейчас в том числе из-за спама ящики часто ведь меняют, вход по логину/паролю выглядит даже логичнее.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 19 Января 2008, 19:53:28
Цитата: VaM от 19 Января 2008, 19:08:37
Да, неплохо конечно.
Может даже есть смысл поменять xoops на drupal, посижу ещё, почитаю доки к drupal.

А как ты хочешь магазин связать с друпал?
В магазине ведь вход на email/пароль, а в друпал логин/пароль.

Может в магазине тоже сделать вход по логину/паролю?
Тем более, сейчас в том числе из-за спама ящики часто ведь меняют, вход по логину/паролю выглядит даже логичнее.
Друпал конечно надо некоторое время поизучать, попривыкнуть, везде есть свои особенности.
На drupal.ru практически есть все ответы, но найти их сразу нелегко.

У меня конечно есть идея использовать и куки, уже установленные связкой Drupal SMF, тебе просто надо будет взять авторизацию и установку куки. Но эти куски надо будет аккуратно писать из-за GPL.
Но SMF может и не быть, все равно надо и родные магазинные делать.

Я пока готовлюсь к варианту email/пароль, по логину/паролю мне легче конечно, но без первого не обойтись, а второй надо будет тоже иметь ввиду. Кстати в друпале есть сторонний модуль по email/пароль.
Как сделаешь поле username для ника, я поддержу. Но начинать все равно придется с email/пароль.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: geval от 20 Января 2008, 16:41:59
да будет очень хорошо- если в итоге родится система друпал+вамшоп, тогда и сайт раскручивать интереснее будет, и людей привлекать ( учитывая возможности сообщества друпала ( комментирование и т.д), плюс уйма модулей).


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 20 Января 2008, 18:17:58
А если даже сделать общую авторизацию, т.е. залогинен в drupal и vam shop и если хочешь оформить заказ в VaM Shop, как же это будет выглядеть?

Нужно же откуда-то взять адрес доставки покупателя и другие данные.

vebe

А ты не смотрел, может для drupal уже есть готовые связки с osCommerce, может их взять за основу можно!?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: geval от 20 Января 2008, 18:34:23
в друпале наверняка есть расширенная форма регистрации ( как плагин), где можно вписать сколько угодно данных..
в джумле есть, в вордпрессе..а это все одного поля ягоды.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 21 Января 2008, 00:56:30
Цитата: VaM от 20 Января 2008, 18:17:58
А если даже сделать общую авторизацию, т.е. залогинен в drupal и vam shop и если хочешь оформить заказ в VaM Shop, как же это будет выглядеть?

Нужно же откуда-то взять адрес доставки покупателя и другие данные.

А ты не смотрел, может для drupal уже есть готовые связки с osCommerce, может их взять за основу можно!?
1. Будет синхронизация профиля, если в Друпале завести такие поля, они будут синхронизированы.
Ну если он там их не заполнен, надо будет при заказе проверять и предлагать ему сделать это уже в магазине.
2. Связок не попадалось на глаза, может и есть где-то, попадалась просьба одного юзера, где взять для osC.
Сами сделаем, с нас будут копировать, если успеют.
geval, да необходимые поля в профиле можно будет предъявлять для заполнения при регистрации в друпале.



Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 21 Января 2008, 01:01:05
Сегодня столкнулся, что надо устанавливать постоянное соединение с базой define('USE_PCONNECT', 'true'); для работы модуля vamshop.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 21 Января 2008, 15:54:11
На будущее
ввел $username и $vamshop_user['username'] = $check_customer['username'];
В свои функции и в эти твои прототипы функций

Код:
function vam_authenticate_user()
{
  global $configuration, $vamshop_config, $vamshop_user;

  if (isset ($_SESSION['customer_id']))
    return $_SESSION['customer_id'];

  // проверка куки
  $customer_id = 0;
  if (isset($_COOKIE[$configuration['cookiename']]))
  {
    $_COOKIE[$configuration['cookiename']] = stripslashes($_COOKIE[$configuration['cookiename']]);
    // Fix a security hole in PHP <= 4.3.9
    if (preg_match('~^a:[34]:\{i:0;(i:\d{1,6}|s:[1-8]:"\d{1,8}");i:1;s:(0|40):"([a-fA-F0-9]{40})?";i:2;[id]:\d{1,14};(i:3;i:\d;)?\}$~', $_COOKIE[$configuration['cookiename']]) == 1)
    {
      list ($customer_id, $password) = @unserialize($_COOKIE[$configuration['cookiename']]);
      $customer_id = !empty($customer_id) ? (int) $customer_id : 0;
    }
  }

  if ($customer_id == 0 || !vam_get_user($customer_id, "", "") || !vam_validate_password($password, $vamshop_user['password']))
  {
    $vamshop_user = array();
    $vamshop_user['customer_id'] = 0;
    $vamshop_user['is_guest'] = true;
    return 0;
  }
  // другие действия логина
  return $customer_id;
}




function vam_get_user($user_id, $username, $email_address)
{
  global $vamshop_config, $vamshop_user;

  if (!empty($user_id) && is_integer($user_id))
  {
    $check_customer_query = vam_db_query("select customers_email_address, customers_vat_id, customers_firstname, customers_lastname, customers_gender, customers_password, login_tries, login_time, customers_default_address_id from ".TABLE_CUSTOMERS." where customers_id = '".(int) $user_id."' and account_type = '0'");
  }
  elseif (!empty($email_address))
  {
    $check_customer_query = vam_db_query("select customers_id, customers_vat_id, customers_firstname, customers_lastname, customers_gender, customers_password, customers_email_address, login_tries, login_time, customers_default_address_id from ".TABLE_CUSTOMERS." where customers_email_address = '".vam_db_input($email_address)."' and account_type = '0'");
  }
  else
  {
    return false;
  }

  if (!vam_db_num_rows($check_customer_query))
  {
    if (!empty($user_id))
      $vamshop_config['error_msg'] = TEXT_NO_EMAIL_ADDRESS_FOUND;
    else
      $vamshop_config['error_msg'] = "Bad user_id";
    $vamshop_user['customer_id'] = 0;
    $vamshop_user['is_guest'] = true;
    return false;
  }

  // получить юзера
  $check_customer = vam_db_fetch_array($check_customer_query);

  $check_country_query = vam_db_query("select entry_country_id, entry_zone_id from ".TABLE_ADDRESS_BOOK." where customers_id = '".(int) $check_customer['customers_id']."' and address_book_id = '".$check_customer['customers_default_address_id']."'");
  $check_country = vam_db_fetch_array($check_country_query);

  if (!empty($user_id))
  {
    $vamshop_user['customer_id'] = $user_id;
    $vamshop_user['email_address'] = $check_customer['customers_email_address'];
  }
  else
  {
    $vamshop_user['email_address'] = $email_address;
    $vamshop_user['customer_id'] = $check_customer['customers_id'];
  }

  // заполнить
  //$vamshop_user;

  $vamshop_user['password'] = $check_customer['customers_password'];
  $vamshop_user['gender'] = $check_customer['customers_gender'];
  $vamshop_user['first_name'] = $check_customer['customers_firstname'];
  $vamshop_user['last_name'] = $check_customer['customers_lastname'];
  $vamshop_user['vat_id'] = $check_customer['customers_vat_id'];
  $vamshop_user['default_address_id'] = $check_customer['customers_default_address_id'];
  $vamshop_user['country_id'] = $check_country['entry_country_id'];
  $vamshop_user['zone_id'] = $check_country['entry_zone_id'];

  if (!isset($check_customer['username']))
  {
    // здесь алгоритм создание ника
    $vamshop_user['username'] = $check_customer['customers_firstname'] . $check_customer['customers_lastname'];
  }
  else
  {
    $vamshop_user['username'] = $check_customer['username'];
  }
  // и т.д  список индексов будет уточнен позднее

  // установить $vamshop_user['is_guest'] в зависимости в онлайне ли он
  // Брать не из $_SESSION['customer_id'])
  //...................................

  vam_db_free_result($check_customer_query);
  vam_db_free_result($check_country_query);

  return true;
}


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 24 Января 2008, 11:28:19
Отличное начинание! Я тоже начинающий друпалер, буду разбираться.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 24 Января 2008, 11:35:13
Я вот тоже начинающий, пробую по-тихоньку в drupal разбираться, потом перейду к советам от vebe.

Но идея связки VaM Shop с CMS вообще и drupal в частности мне нравится, если даже сам не смогу сделать, буду наверное заказывать где-то на стороне связки для VaM Shop и CMS, например на том же weblancer.net


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: geval от 24 Января 2008, 11:39:10
а если сделать с джумлой? все таки- джумла вещь тоже хорошая, да и пожалуй даже более популярная


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 24 Января 2008, 12:52:01
Посмотрим, у меня пока времени особо и на drupal не хватает, по-тихоньку пытаюсь разбираться.

Вообще, в идеале, конечно хотелось бы связать VaM Shop как минимум с:
Drupal
Xoops
Joomla
Dle-news

Постепенно буду идти к этому.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 13:00:42
Для друпала задел больший, конечный результат получится быстро.
Новая Joomla, конечно же кандидат после друпала


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 13:18:42
Разработка для друпал идет полным ходом, написаны профайл, регистрация и обновление (частично) в магазине из друпала, сейчас буду отлаживать.
Саша, мне бы нужны дефолтные регистрационные значения параметров, которые можно писать в БД, если они не заданы в регистрационных параметрах друпала.
$gender =
$dob =
$company =
$vat =
$street_address =
$postcode =
$city = 
$suburb = 
$state = 
$telephone =
$fax =
такие, на которые ты будешь знать, что их надо уточнить у юзера, если он, например, будет выбирать соотв. доставку
Или я могу пустышки написать?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: geval от 24 Января 2008, 13:20:24
а вообще интересно- как будут движки и вамшоп приводится к общему шаблону- ведь у них принцип как я понимаю разный. ведь надо чтобы внешний вид был одинаков.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 13:23:06
Модуль хорошо ужился в бандле с SMF, но не ужился с phpBB из-за совпадения названий функций с $utf8_
Это отдельная головная боль, пока в сторону.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 13:24:34
Цитата: geval от 24 Января 2008, 13:20:24
а вообще интересно- как будут движки и вамшоп приводится к общему шаблону- ведь у них принцип как я понимаю разный. ведь надо чтобы внешний вид был одинаков.
вручную, подгоном дизайна, а типа бизнес для дизайнеров магазинов ;)


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 24 Января 2008, 13:45:52
Цитата: vebe от 24 Января 2008, 13:18:42
Разработка для друпал идет полным ходом, написаны профайл, регистрация и обновление (частично) в магазине из друпала, сейчас буду отлаживать.
Саша, мне бы нужны дефолтные регистрационные значения параметров, которые можно писать в БД, если они не заданы в регистрационных параметрах друпала.
$gender =
$dob =
$company =
$vat =
$street_address =
$postcode =
$city = 
$suburb = 
$state = 
$telephone =
$fax =
такие, на которые ты будешь знать, что их надо уточнить у юзера, если он, например, будет выбирать соотв. доставку
Или я могу пустышки написать?

Да наверное пустышки вполне сгодятся для начала.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 24 Января 2008, 13:51:18
Цитата: geval от 24 Января 2008, 13:20:24
а вообще интересно- как будут движки и вамшоп приводится к общему шаблону- ведь у них принцип как я понимаю разный. ведь надо чтобы внешний вид был одинаков.

К общему шаблону конечно не получится, на всех движках разные шаблоны, разные условия.
Здесь придётся только внешний вид VaM Shop самому подгонять под внешний вид cms.

Но мне кажется что самое главное - единая авторизация (а в идеале и регистрация конечно, т.е. регисрируешься в cms и создаётся запись в магазине).


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 16:08:58
Цитировать
(а в идеале и регистрация конечно, т.е. регисрируешься в cms и создаётся запись в магазине).
только сейчас сделал - работает :), создает юзера, в админке виден, обязательные поля пустые :o


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 16:12:51
Создавшийся юзер спокойненько вошел в магазин с мылом и паролем из друпала :)


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 24 Января 2008, 16:32:03
Класс, а напишешь инструкции или своё сообщение обновишь?!

А такой вопрос, будет ли работать связка drupal + smf + vamshop?!
Просто всё мечтаю сделать здесь единую регистрации на cms, магазине, форуме, т.е. заполнив одну форму регистрации, а не три, очень удобно, зато будет доступ и к форуму и к магазину и к cms.
На базе xoops такое пока не получилось у меня сделать.

Я тут всё drupal смотрю, он оказывается довольно компактный, а я думал, это какой-то очередной монстр, а тут как раз только ядро, а модули уже самому вешать, мне такой подход нравится.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: geval от 24 Января 2008, 16:50:07
да друпал из всех вышеозначенных систем самый быстрый, но и самый замороченный.. интересно посмотреть на пример готового сайта- сделанного так.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 17:45:24
Цитата: VaM от 24 Января 2008, 16:32:03
Класс, а напишешь инструкции или своё сообщение обновишь?!
А такой вопрос, будет ли работать связка drupal + smf + vamshop?!
К этому все и идет. Надеюсь ничто не помешает сделать этот бандл.
Единственно, что там не всех удовлетворит в этой версии - это работа SMF или в отдельном окне, или во фрейме.
SMF с Друпалом плохо дружит. Внутри SMF не работает в данной реализации.
Пошлю тебе готовенькое как будет. Для отладки. С комплектом модулей.

function vam_get_user($user_id, $username, $email_address)

Сделаю сам, дойду до авторизации с магазинными куками, тут надо будет определиться.
Хотелось чтобы ты там чего-нибудь придумал пока я все остальное делаю. Пару дней пока можно поизучать, что я написал про SMF.
Как пришлю, можно будет занятся отладкой авторизации через куки.

Надо определиться с полем customers_username, в коде уже учтено, но закомментировано.



Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 24 Января 2008, 17:53:06
Цитата: geval от 24 Января 2008, 16:50:07
да друпал из всех вышеозначенных систем самый быстрый, но и самый замороченный.. интересно посмотреть на пример готового сайта- сделанного так.
не самый быстрый, но зато он многое делает - это плата за универсальность.

связку покажу всем желающим как сделаем.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 24 Января 2008, 20:10:58
Я сейчас пробую drupal, т.е. ставлю всякие модули на него, смотрю как работают, смотрю доки.
Пока конечно мне сложно что-то конкретное по нему говорить, советовать, пока только как пользователь.

Но идеи тобой реализованные выглядят очень интересно, наверное я даже буду и сам использовать твои идеи, т.к. очень хочется объединить cms + форум + магазин.


Название: VaM Shop, Drupal и $_SESSION
Отправлено: vebe от 25 Января 2008, 12:26:18
Саша, как правильно узнать в онлайне ли юзер из БД, не используя $_SESSION['customer_id'],
write customers status ?
function vam_get_customer_status_value($customer_id) ?
...?

отошли к нужным местам или, если это просто напиши, пожалуйста, пару строчек.


Название: VaM Shop, Drupal и $_SESSION
Отправлено: VaM от 25 Января 2008, 12:29:35
Да вроде как раз $_SESSION['customer_id'] и используется что б узнать, в онлайне или нет.
Хотя вот в /includes/header.php есть ещё такое:
Код:
if ($_SESSION['account_type']=='0') { ....

т.е. можно попробовать или $_SESSION['account_type']=='0' или $_SESSION['account_type']=='1'


Название: VaM Shop, Drupal и $_SESSION
Отправлено: vebe от 25 Января 2008, 12:31:25
Без $_SESSION, вообще у меня его нет,я в другой сессии

Чета я в джумлу перескочил :)


Название: VaM Shop, Drupal и $_SESSION
Отправлено: VaM от 25 Января 2008, 12:34:34
А, так ведь есть ещё таблица whos_online в базе данных.
В Админке - Разное - Инструменты - Кто в онлайне.
и файл /inc/vam_update_whos_online.inc.php
Он покдлючается в /includes/application_top.php
Там есть require_once для подключения файла.
А также строка vam_update_whos_online(); в этом же файле.

Посмотри, может как-то этот механизм можно использовать.


Название: Re: VaM Shop, Drupal и $_SESSION
Отправлено: VaM от 25 Января 2008, 12:36:56
vebe

Выделил в отдельную тему из темы про joomla, если не против!
Прочитай моё соощение про whos_online, может как-то можно его использовать.

Оказывается можно и объединять темы, вобщем, склеил с темой твоей про drupal, так правильнее.


Название: Re: VaM Shop, Drupal и $_SESSION
Отправлено: vebe от 25 Января 2008, 12:41:07
Joomla - ок, может кто придет, я уже отметился   :)

whos_online - ok
а вот эти
write customers status ?
function vam_get_customer_status_value($customer_id) ?
Что дают и достоверны ли они


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 25 Января 2008, 12:47:04
Вот насчёт write_customers_status я знаю, что есть файл /includes/write_customers_status.php
Где как раз все данные покупателя заносятся в сессию, т.е. имя, фамилия, группа, к которой он принажлежит, скидки и т.д., много всякой информации.

А вот насчёт функции vam_get_customer_status_value не знаю, не использовал.
Могу лишь сказать, что сами функции лежат в /inc
Их легко найти, т.к. названия файлов = названию функции, т.е. названиефункции.inc.php

В данном случае эта функция будет в /inc/vam_get_customer_status_value.inc.php


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 25 Января 2008, 13:47:11
Саша, а не подскажешь, где то место, где идет проверка, что время истекло, клиент убирается и уничтожается сессия, что-то в глаза не бросилось?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 25 Января 2008, 14:38:14
Я знаю, что в /includes/funtions/sessions.php как раз ставится время, может в этом же файле!?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 25 Января 2008, 15:29:57
Вот есть ещё такая функция - vam_exit - /inc/vam_exit.inc.php
Она использует vam_session_close из /includes/functions/sessions.php

Только сама функция vam_exit вроде нигде не используются, во всяком случае запустил поиск по vam_exit, нашёл упоминание только в /inc/vam_redirect.inc.php


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 25 Января 2008, 16:18:49
vam_get_user(), vam_get_whos_online() написал
вижу и пока также пишу
$xx_mins_ago = ($current_time - 900);
Константы в коде - грех программистский ;), не твой понятно от xt
в конфиг бы ее, а еще лучше в админке устанавливать

с выходом пока вопрос остался


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 25 Января 2008, 18:11:47
А это в каком файле вот такое - ($current_time - 900) !?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 25 Января 2008, 18:46:55
нашел SESSION_TIMEOUT_CATALOG и в админке он устанавливается
define('SESSION_TIMEOUT_CATALOG_TITLE','Сессия покупателя');
define('SESSION_TIMEOUT_CATALOG_DESC','Время жизни сессии покупателя (секунд).');

Не могу найти константу SESSION_TIMEOUT_CATALOG, которая в function vam_session_start() {
   @ini_set('session.gc_maxlifetime', SESSION_TIMEOUT_CATALOG);

Не подскажешь, где она? Не могу найти, заскок наверное, пора домой


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 25 Января 2008, 18:48:58
whos_online.php
Цитата: VaM от 25 Января 2008, 18:11:47
А это в каком файле вот такое - ($current_time - 900) !?
видел в
whos_online.php
vam_update_whos_online.inc.php


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 25 Января 2008, 18:52:28
SESSION_TIMEOUT_CATALOG - это константа.
Значение хранится в базе данных, в таблице configuration.
Устанавливается через Админку - Настройки - Основные - Сессии, там внизу две опции, сессия для админа и для покупателя.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 25 Января 2008, 18:55:59
понятно

и с завершением тоже прояснилось


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 26 Января 2008, 17:18:04
Пока свои магазинные куки не написаны, сделал авторизацию через халявные SMFовские куки, не пропадать же добру.:)
Выглядит это так - если ты используешь SMF, залогинился в форуме или на сайте, тыкаешь в магазин и ты уже внутри без всякого ввода мыла и пароля. :o


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 26 Января 2008, 17:43:53
т.е. это ты получается сам уже всё сделал?!  :o


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 26 Января 2008, 17:46:31
Да, родные магазинные потом сделаю, сейчас можно не тормозить на этом.
Но он нужны если SMF не будет использоваться.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 26 Января 2008, 17:58:50
Понятно, молодец.
Это ты тоже хочешь с себя сделай единый вход drupal + vam shop?!
Я дашь потом ссылку на сайт?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 26 Января 2008, 18:08:06
Сейчас на локалке делаю, все быстро меняется, код грязноватый, как доведу до уровня beta1, выйду наружу, ссылку дам для тестирования.
Тебе сразу модули пришлю с сайтом в комплекте для денвера.
Ну и монстр получается, и оно еще и работает :o


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 26 Января 2008, 18:17:31
Понятно, очень интересно глянуть.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 03 Февраля 2008, 13:29:25
Работа идет, но в триплете много нюансов, приходится все учитывать, поэтому не быстро все.
Сделана авторизация в магазине через SMF.
В магазин можно войти с SMF мылом и паролем, если тебя в магазине нет, то авторегистрация и ты в уже в магазине.
То есть, попутно рождается связка с SMF без необходимости Drupal.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 03 Февраля 2008, 14:02:02
vebe

Ты молодец.
Очень интересно будет вглянуть хотя бы одним глазком.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 03 Февраля 2008, 15:13:15
Буду стараться в течении следующей недели.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 13 Февраля 2008, 13:39:10
Основа сделана тестируется.
Кода много.
Есть проблемы с работой под Denwer 3. Написал в соотв. тему.
Торможу что-то.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 13 Февраля 2008, 18:01:54
Понятно, спасибо за замечания, сейчас буду исправлять.
Но в код магазина попадут исправления только к следующей весии.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 13 Февраля 2008, 18:15:36
Цитата: VaM от 13 Февраля 2008, 18:01:54
Понятно, спасибо за замечания, сейчас буду исправлять.
Но в код магазина попадут исправления только к следующей весии.
Буду тестировать там, где можно, но окончательно уже после нового кода магазина.
Ну это не долго, там тебе не много подправлять.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 13 Февраля 2008, 20:10:31
Хорошо, кстати, видел, 6 версия drupal вышла.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 13 Февраля 2008, 20:31:50
Уже поставил D6 на Denwer 3,
ждем-с магазинчик :)


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 16 Февраля 2008, 22:05:14
При удалении из админки
Fatal error: Cannot redeclare vam_href_link() (previously declared in z:\home\vgb.org.ru\www\shop\admin\includes\functions\html_output.php:22) in z:\home\vgb.org.ru\www\shop\inc\vam_href_link.inc.php on line 21

vam_href_link() одно название разных вещей

получается это так как мост живет на магазине, а в админке он должен тоже работать при операциях над клиентами.
Не второй же дублировать, в порочном стиле админки. Ужос :o


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 16 Февраля 2008, 22:05:50
beta1 сделана


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 11:16:06
Да просто в админке всё ещё не доделано общее использование функций из папки /inc


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 11:29:30
Самое время, есть повод :)


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 13:35:34
Попробую сделать к следующей версии.
По идее, не должно быть сложно, просто в /admin/includes/application_top.php
Подкчить функции из папки /inc и убрать подключение html_output.php


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 14:04:10
Тоже пока так попробую, просто я не могу оценить и знать последствия таких замен, может там что-нибудь слегка подправлено.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 17:15:41
Цитата: vebe от 17 Февраля 2008, 14:04:10
Тоже пока так попробую, просто я не могу оценить и знать последствия таких замен, может там что-нибудь слегка подправлено.
Попробовал
function vam_href_link
дают разные ссылки
при замене из inc дается неверная ссылка в админке Покупатели Кленты
без замены
_http://vgb.org.ru/shop/admin/customers.php
После
_http://vgb.org.ru/shop/customers.php

прими сам решение, где подправлять


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 18:27:36
Видимо, поэтому и не используется функция из /inc
Что разные ссылки должны формироваться.

Так а почему у тебя ошибки redeclare!?
Когда она выводится, вроде я у себя не замечал такой ошибки.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 18:35:16
Цитата: VaM от 17 Февраля 2008, 18:27:36
Видимо, поэтому и не используется функция из /inc
Что разные ссылки должны формироваться.
Так а почему у тебя ошибки redeclare!?
Когда она выводится, вроде я у себя не замечал такой ошибки.
Использую общие из application_top
Сейчас попробую поотключать лишнее - это правильная идея.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 18:37:39
Размещение файлов модуля Drupal vamshop в магазине vamshop

Новые файлы

Размещение файлов модуля Drupal vamshop

vamshop/root/vamshop_api.php
vamshop/root/vamshop_api_subs.php

Размещение файлов модуля vamapi в магазине vamshop

vamshop/root/includes/modules/vam_api_common.php  (общий файл с модулем Drupal vamshop)
vamshop/root/includes/modules/vam_api.php

Размещение файлов модуля vamapi_smf

vamshop/root/includes/modules/smf/vam_api_smf.php

Измененные файлы (список измененных файлов может немного увеличиться к релизу)

vamshop/root/account.php
vamshop/root/account_edit.php
vamshop/root/account_password.php
vamshop/root/create_account.php
vamshop/root/login.php
vamshop/root/logoff.php

vamshop/root/includes/application_top.php
vamshop/root/includes/configure.php
vamshop/root/includes/configure.org.php

vamshop/root/admin/create_account.php
vamshop/root/admin/customers.php
vamshop/root/admin/includes/application_top.php

vamshop/root/admin/includes/configure.php
vamshop/root/admin/includes/configure.org.php



Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 18:44:31
Пришлось магазинчик немного хакнуть, ну никак без этого. :D
Но очень аккуратно, деликатно даже можно сказать гуманно. :D
Ни один авторский участок кода не пострадал, только вставки нескольких строчек.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 18:46:55
Если нужно что-то в магазине изменить и если изменения не серьёзные, ты напиши, я ж могу внести изменения в код по умолчанию.

/inc/vam_href_link.inc.php, видимо, нормально не получится использовать и для каталог и для админки, без переделки в смысле не получится использовать один файл.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 18:58:16
Цитата: VaM от 17 Февраля 2008, 18:46:55
Если нужно что-то в магазине изменить и если изменения не серьёзные, ты напиши, я ж могу внести изменения в код по умолчанию.
думаю это надо модулем установки прописывать, там все идеально для вставки.
не каждому же нужна интеграция.

Во всех configure.php можно дописать сразу

  define('DIR_FS_FORUM_ROOT', '');
  define('DIR_FS_SITE_ROOT', '');
  define('VAM_COOKIE_NAME', 'VAMCookie');


Цитата: VaM от 17 Февраля 2008, 18:46:55
/inc/vam_href_link.inc.php, видимо, нормально не получится использовать и для каталог и для админки, без переделки в смысле не получится использовать один файл.
с этим пока не торопись, ты мне мысль подал, сейчас ее проверю.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 19:15:01
Цитата: VaM от 17 Февраля 2008, 18:46:55
/inc/vam_href_link.inc.php, видимо, нормально не получится использовать и для каталог и для админки, без переделки в смысле не получится использовать один файл.
да сделал, чтобы не дублировалось, можно оставлять
правильнее потом ей имя изменить


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 19:18:27
Добавил в /includes/configure.php и /admin/includes/cofigure.php вот такой код:
Код:
  define('DIR_FS_FORUM_ROOT', '');
  define('DIR_FS_SITE_ROOT', '');
  define('VAM_COOKIE_NAME', 'VAMCookie');
Это в /install/step5.php добавляется.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 19:19:23
А первые две константы так и должны быть пустые?!
или должно подставляться в них что-либо?!


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 19:23:37
Цитата: VaM от 17 Февраля 2008, 18:46:55
Если нужно что-то в магазине изменить и если изменения не серьёзные, ты напиши, я ж могу внести изменения в код по умолчанию.
Можно сделать так, ты после прически на предмет go MySQL 5 пришлешь мне эти файлы, мне все равно в них вставлять, я их проверю, чтоб работали, поправлю, где надо инты, если ты что-нибудь не заметил, отошлю обратно
ты потом сам оценишь как поступить с моими вставками
Пока мод не написан, можно их в if defined обрамить, они мешаться не будут


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 19:24:42
Цитата: VaM от 17 Февраля 2008, 19:19:23
А первые две константы так и должны быть пустые?!
или должно подставляться в них что-либо?!
там прописываются абсолютные пути к форуму и сайту
легче потом в готовую заготовку вписать


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 19:29:57
Цитата: vebe от 17 Февраля 2008, 19:23:37
Цитата: VaM от 17 Февраля 2008, 18:46:55
Если нужно что-то в магазине изменить и если изменения не серьёзные, ты напиши, я ж могу внести изменения в код по умолчанию.
Можно сделать так, ты после прически на предмет go MySQL 5 пришлешь мне эти файлы, мне все равно в них вставлять, я их проверю, чтоб работали, поправлю, где надо инты, если ты что-нибудь не заметил, отошлю обратно
ты потом сам оценишь как поступить с моими вставками
Пока мод не написан, можно их в if defined обрамить, они мешаться не будут

Я пробовал под денвером 3 ставить, вроде нормально.
Я только чуть /install/vam.sql поправил, там где записи в confgiration вставляются, ну, и те, что ты написал подправил.

Напиши почту свою, давай я тебе отправлю /install/vam.sql подправленный и файлы.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 19:36:25
Почта рабочая в профиле, шли на неё,
файлы давай, а еще лучше сразу весь магазинчик, может у меня что выявится
или можешь просто ссылку на твоем сервере написать откуда загрузить, если это удобнее


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 20:01:14
Отправил ссылку на архив текущей версии на почту.
Как скачаешь, скажи, удалю файл.

А ещё вопрос, а может тот .htaccess, что ты советовал для денвера 3, тоже в магазине по умолчанию добавить?!
С ним как, на разных хостингах проблем не будет, не знаешь, а то хостинги разные бывают.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 20:39:52
Цитата: VaM от 17 Февраля 2008, 20:01:14
Отправил ссылку на архив текущей версии на почту.
Как скачаешь, скажи, удалю файл.

А ещё вопрос, а может тот .htaccess, что ты советовал для денвера 3, тоже в магазине по умолчанию добавить?!
С ним как, на разных хостингах проблем не будет, не знаешь, а то хостинги разные бывают.
скачал
вообще без к-либо .htaccess нельзя выпускать, рыбу надо дать
те строчки можно вставить


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 17 Февраля 2008, 20:44:42
только я наверное уже завтра проверю, что-то уже не идет работа
саша, проверь пожалуйста, создай юзера из админки, посмотри что он там есть и удали его
проверь работает ли удаление, напиши, пожалуйста
у меня уже не работает, пора отдыхать на сегодня :'(


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 17 Февраля 2008, 20:47:05
Файл удалил.

Да я тоже только завтра посмотрю, зашёл только почту посмотреть.
Завтра проверю.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Февраля 2008, 11:16:13
Под денвером 3 в Админке - Покупатели - Клиенты нажал кнопку Создать покупателя, создал.
Затем выделил его и удалил, удалился, никаких ошибок не было.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Февраля 2008, 11:28:32
Добавил в .htaccess по умолчанию вот такой код: http://vamshop.ru/support/modules/smartfaq/faq.php?faqid=72
Надеюсь, проблем не будет на разных хостерах.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 18 Февраля 2008, 12:27:00
для универсальности эти строчки надо добавлять в еще два места которые определяют версии php и apache
возьми пока за образец тот что в drupal 6 или 5, если нет лучшего там увидишь, куда вставлять
там еще кое-что кроме этих строчек включается
я не знаток деректив, что там поправить еще пока не знаю, но для первого образца сойдет, по крайней мере с ним магазин вроде как работает
потом можно будет подкорректировать


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Февраля 2008, 14:10:51
Добавил ещё два куска кода для php4 apache 1 и apache 2, взял из drupal 6


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 18 Февраля 2008, 17:17:00
Добавил изменения в новую версию, что ты прислал.
По первым тестам работает, даже ничего дополнительного изменять не пришлось, и не стал раз работает, хоть видел, что можно кое-где.
Продолжу уже вечером более полное тестирование перенесенных своих кусков.
При установке магазина у меня был двойной последний слэш в пути, посмотри, может это не только у меня.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 18 Февраля 2008, 17:23:19
Могло быть вызвано тем, что вызывал так
_http://vgb.org.ru/shop/

и .htaccess был друпаловский


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Февраля 2008, 17:26:11
Понятно, хорошо, что работает.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 19 Февраля 2008, 11:42:00
Те файлы, где вставлены мои куски работают, остальные все не тестировал.
Буду готовить тестовую сборку для передачи тебе на тестирование, но это может занять до нескольких дней.
Передам в комплекте под денвером. Без инструкций и даже с ними, настроить этого монстра не так то просто.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 19 Февраля 2008, 11:43:49
Хорошо, спасибо, буду ждать.
Так ты сразу хочешь всё в куче выложить, т.е. vamshop + drupal + smf ?!


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 19 Февраля 2008, 12:08:08
Цитата: VaM от 19 Февраля 2008, 11:43:49
Хорошо, спасибо, буду ждать.
Так ты сразу хочешь всё в куче выложить, т.е. vamshop + drupal + smf ?!
да, но только для тебя для внутреннего тестирования


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 19 Февраля 2008, 16:45:59
Хорошо, ты ж автор, тебе решать, что делать со своей работой.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 19 Февраля 2008, 21:21:48
Еще рано делать публичное демо, а тем более публиковать неготовый продукт без более или менее серьезного внутреннего тестирования.
Как скажешь, что можно, пригласим посмотреть и попробовать всех желающих :D


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 19 Февраля 2008, 21:38:43
Хорошо, я полностью согласен, если выпускать что-то, то должно нормально работать, а не на костылях.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 26 Февраля 2008, 20:58:43
Попробовал предварительную версию от vebe
Это просто супер.

Зарегистрировался один раз и всё, затем вводишь логин и пароль и ты залогинен везде: и в cms и в магазине и в форуме.
Не надо три раза регистрироваться, не надо три раза входить, всё выглядит как единая система авторизации.

Не знаю, кто как, но я уже очень давно ищу связку cms + форум + магазин, что б всё работало как единое целое, единая авторизация.

Очень давно не могу найти подходящий вариант: либо форум в cms слабенький, либо нет магазина в cms, либо не связывается магазин и cms, вобщем, всё как-то по отдельности постоянно приходится использовать, а сейчас одни из лучших представителей в своём классе связаны воедино, всё-таки имея единую авторизацию можно говорить, что это единая система, по большому счёту.

vebe соединил, на мой взгляд, лучший open source форум SMF, одну из лучших open source cms Drupal и самый известный open source магазин osCommerce (и, в частности, VaM Shop, а ведь можно и обычный osC связать и Zen Cart и CRE Loaded и другие клоны, насколько я понимаю, потому что код в целом одинаковый во всех клонах osCommerce) в, практически, единое целое.

Прям мечты сбываются :)


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: geval от 26 Февраля 2008, 23:07:12
да мечты сбудутся окончательно- когда это будет доступно для желающих.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 27 Февраля 2008, 10:07:48
geval

Я тоже надеюсь, что vebe выложит в открытый доступ, ну, или по крайней мере стоить будет не дорого.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 27 Февраля 2008, 13:32:22
для общего ознакомления и тестирования постараюсь выложить за эти выходные.
но сами продукты еще не готовы, будут опубликованы только после завершения тестирования и соответствующего оформления.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 04 Марта 2008, 23:16:04
Отказался работать на хостинге. Пришлось делать его более правильным.
Официально доступ будет открыт к этим выходным.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 05 Марта 2008, 10:02:02
vebe

Спасибо, как будет готово, ты мне тоже дай команду, я сделаю тогда модули для магазина необходимые, для установки через Админку - Модули - Установка модулей.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 06 Марта 2008, 16:01:25
Прошу всех желающих http://vgb.org.ru/
Можно попробовать в качестве простого юзера.
В магазине пока ни товара, ни услуг, ни загрузок нет, продукта то еще нет. :D
Зато некоторые ошибки есть.
В частности при первом входе в Друпале в свои данные аккаунта появляется предупреждение.
Связано оно с тем, что некоторые данные не инициалицируются как надо, с этим еще надо разбираться.
Надо просто ввести свои данные, несколько раз посохранять данные Personal Settings.
Особенно дату рождения, пол, город и проч. Потом они буду нормально синхронизироваться.
Некоторые данные работают в одну сторону. Country лучше не менять.



Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 06 Марта 2008, 16:26:03
vebe

А будет скачиваемый вариант чуть позже?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: vebe от 06 Марта 2008, 16:31:03
Саша, тебе пошлю на выходных, а скачиваемый вариант будет позже, после того как сделаем то, что можно скачивать.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 06 Марта 2008, 19:25:41
Понял, спасибо, буду ждать, очень хочется довести до ума.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 16 Марта 2008, 10:22:16
Вобщем, как наверное некоторые заметили, сайт vamshop.ru изменился немного, CMS была зименена с Xoops на Drupal.

Так вот это я как раз на себе экпериментирую связку Drupal + SMF + VaM Shop от vebe.
Получилось, на мой взгляд, почти идеально.

Единая авторизация и регистрация пользователей в трёх разных системах.


Мы с vebe сейчас чуть обсуждаем, что к чему, в принципе, весь код уже готовых, модули для VaM Shop я тоже сделал по коду vebe, ещё чуть-чуть и будет выложен код с инструкциями как связывать VaM Shop с Drupal, VaM Shop с SMF.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 18 Марта 2008, 15:25:00
Цитировать
сайт vamshop.ru изменился немного, CMS была зименена с Xoops на Drupal.
пока очень непривычно, и посему неудобно

То что единая регистрация, это очень круто. Респект автору.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Марта 2008, 17:29:02
Согласен, придётся привыкать, но всё равно, лично мне нравится, когда не нужно 3 раза регистрироваться.
Сейчас подготавливаю инструкцию и файлы, напишу вместе с vebe как проделать тоже самое, если у кого-то будет желание связать между собой VaM Shop и форум SMF или VaM Shop и Drupal.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 18 Марта 2008, 17:35:55
я с удовольствием попробую сделать "Магазин + друпал".
Особенно здорово будет, если есть возможность в корне оставить магазин, а в папку - друпал ))


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 18 Марта 2008, 18:07:27
Ещё немного осталось, просто с vebe сейчас тестируем, что б как можно меньше глюков было.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: akzhan от 20 Марта 2008, 10:59:09
Сделайте демо-сайт с предопределённым логином и паролем администратора.

Ну и более менее унифицированной темой для всех модулей.

Это будет хорошее начало.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: flocky от 20 Марта 2008, 11:19:20
С нетерпением жду так как считаю очень нужная и удобная "Штуковина".


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 20 Марта 2008, 11:23:12
Уже почти, всё уже готово, осталось readme дописать и всё.
Думаю, что на этой неделе уже будет готово.

Просто решил сначала эксперимент на себе поставить, как это работает, т.е. на vamshop.ru.
Лично мне понравилось, как работает, даже очень.

Всё устанавливается легко и просто, не нужно ни в одном php файле даже копаться.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 20 Марта 2008, 11:25:16
Саш, а на готовый vamshop (уже с пользователями) ваша Drupal'ная связка встанет? Юзеров туда-сюда нужно же засинхронить...


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: flocky от 20 Марта 2008, 11:28:10
офф. топ.

Жалею только о том что уже поставил и "сверстал" портал на "joomla". Теперь только связка VamShop и SMF будет. Эххх поторопился :)


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: flocky от 20 Марта 2008, 11:56:59
Почитал про Drupal оказывается очень даже достойная система да и модулей там нужных хватает (в свое время джумла как раз выбиралась из соображений большого кол-ва модулей), что же будем изучать верстку под DruPal. Еще раз извините что может немного не по теме написал.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 20 Марта 2008, 12:00:48
medium

Если я правильно понимаю, то встанет.
Я вот здесь на vamshop.ru поставил и вот ты ж зашёл в форум со своим логином и паролем старым, т.е. не пришлось ведь по-новой регистрирвароваться.

flocky

В планах есть попробовать сделать связку VaM Shop и Joomla, но пока только в планах.
Вообще, есть желание постепенно развивать тему связки VaM Shop с форумами, cms.

Не надо, если с joomla разобрался, оставайся на ней, тут же дело больше в том, к чему привык. В принципе все cms одинаковые, по большому счёту если смотреть, разница лишь в деталях.

С друпал сейчас такая же проблема как и с Joomla, т.е. у друпал вышла 6.1 версия, у joomla вышла 1.5 версия и многие модули пока не переделаны под новые версии.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 20 Марта 2008, 12:12:15
Побегал по ссылкам в файрфоксе:
Приходится два раза логиниться на главной vamshop.ru чтобы войти.
Потом при выходе из магазина (/shop) выскакивает варнинг:

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /home/kypiru/domains/vamshop.ru/public_html/shop/includes/functions/sessions.php on line 116


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: flocky от 20 Марта 2008, 15:51:44
Александр понимаю что "бегу вперед паровоза", но не могли бы заранее подсказать VamShop и SMF для связки должны в одной базе находиться?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 20 Марта 2008, 16:16:12
medium

Спасибо за сообщение, буду разбираться.

flocky

Нет.
В разных базах вполне можно, это не важно, главное что б и smf и друпал и магазин, все были на одном домене.
т.е. например так:
site.ru - drupal
site.ru/forum - форум
site.ru/shop - магазин

т.е. что б в пределах одного домена были.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 23 Марта 2008, 16:56:16
Обнаружился один неприятный глюк, спасибо vebe, уже отловил, сейчас тестируем.
Вобщем-то статья уже написана как связывать между собой Drupal и VaM Shop.

Сейчас ещё немного потестируем, что б проблем как можно меньше было при использовании и будет готово.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 02 Апреля 2008, 12:47:36
Привет всем!

Походил сейчас по ссылкам - не синхронится (firefox).

Может известны сроки, когда чтото прояснится? А то сейчас планирую вамшоп апгрейдить, заодно бы и потестил друпал.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 02 Апреля 2008, 18:29:26
А ты зашёл под своим логином через вход слева на vamshop.ru ?!
Если зашёл, то должен был авторизоваться и на форуме и в магазине, я вот каждый день захожу, нормально.

Я сейчас жду команду от vebe, когда он разрешит выкладывать скрипты, а так всё готово уже, видимо, он тестирует какие-то моменты, что б работать всё гладко.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 03 Апреля 2008, 09:05:52
Да, я захожу на vamshop.ru слева под своим логином, мне становится доступным профиль и т.п.
Когда перехожу на форум - логина нет. Когда перехожу в магазин - логин вроде бы есть. Но достаточно щелкнeть по любой ссылке в магазине, как я становлюсь "неавторизованным".


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 03 Апреля 2008, 12:17:14
medium

Спасибо, что сообщил, попробую разобраться.
А ты регистрировался через vamshop.ru/user/register или просто вводил логин и пароль старые, без новой регистрации?


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: medium от 03 Апреля 2008, 12:42:38
Уже и не помню. Я использовал старые данные, кажется заново не регался.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 03 Апреля 2008, 16:39:36
Понятно, спасибо, что сообщил.


Название: Re: Интеграциия Vamshop и Drupal
Отправлено: VaM от 06 Апреля 2008, 20:24:15
Вот первую статью выложил с инструкциями о связке Drupal и VaM Shop - http://vamshop.ru/forum/index.php?topic=1195.0

Завтра ещё будет статьи о интеграции VaM Shop + SMF форум.
А также пару слов о Drupal + SMF.




Вам нужен шаблон Vamshop или интернет-магазин под ключ?
E-mail - help@visuon.ru
ICQ - 300253


униформа, профессиональная одежда

карта сайта