Мистика PHP и MySQL

Тема в разделе "Как сделать...", создана пользователем vave, 13 янв 2015.

  1. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    374
    Симпатии:
    15
    Никак не смог иначе придумать название данной теме.
    Несколько ночей провел в раздумьях..
    Расскажу с самого начала.
    Занимаюсь модернизацией SocialEngine 3, довожу социалку до идеала, увеличиваю функционал плагинов.

    Так вот сейчас столкнулся с очень странной проблемой.
    Установил плагин чата, для того, что бы все сообщения имели одно место, пытаюсь плагин привязать к основным сообщениям, таблица "se_pms".
    Есть в базе 2 столбика, 1 pm_authoruser_id, другой pm_pmconvo_id.
    По идее в оба столбика заносятся ID пользователя отправившего сообщение и ID получателя.
    Только проблема в том, что чат заносит в "pm_pmconvo_id" ID пользователя, а стандартные сообщения SE3, непонятный код, у каждого отправителя свой, состоит из 5 цифр.

    А нужно что бы стандартные сообщения вносили в "pm_pmconvo_id" просто id пользователя.
    Есть подозрения что ID как то шифруется, но если это даже так, какой в этом вообще смысл?

    Никогда ранее с подобным не сталкивался...

    Единственный файл в котом есть выход на эти столбики в базу, во вложении.
     

    Вложения:

    • class_user.rar
      Размер файла:
      16,9 КБ
      Просмотров:
      5
  2. zaxap83

    zaxap83 Постоялец

    Регистр.:
    6 дек 2010
    Сообщения:
    87
    Симпатии:
    28
    В pm_pmconvo_id заносится переменная $convo_id, ищем:
    строка 2338 // $convo_id (OPTIONAL) REPRESENTING THE CONVERSATION ID - в переводе id СООБЩЕНИЯ (беседы, если дословно)
    строка 2400 $convo_id = $database->database_insert_id(); - получает значение следующего ID в таблице.
    Т.е. в этом столбце хранится не какой-то зашифрованный id получателя, а id беседы, который вероятнее всего имеет вид "предыдущая беседа+1", цифра может быть и 11 знаков, со временем. Получатель хранится в se_pmconvoops (строки 2403-2415). Механизм примерно такой - в одну таблицу заносится автор, id сообщения и само сообщение, в другую заносятся id записи в базе, id сообщения и получатель, такой подход дает возможность отправить сообщение сразу нескольким пользователям. Так что никакой мистики.
    З.Ы. Может, рановато еще, об идеалах речь вести? ;)
     
    Последнее редактирование: 14 янв 2015
  3. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    374
    Симпатии:
    15
    А очень хотелось бы идеала)
    Можно как то совместить базу сообщений двух плагинов?
    Класс плагина чата приложил к сообщению.
     

    Вложения: