Скрипт CRM Клиентская База

Alexeina66

Мой дом здесь!
Регистрация
26 Авг 2013
Сообщения
426
Реакции
445
Всем привет!

Представляю вашему вниманию CRM с очень широким функционалом. Достойнее не видел. Конструктор таблиц с любыми полями и зависимостями!!!
От авторов:
Функционал, дающий максимальную гибкость.
Это отличительная особенность Клиентской базы, которая перевешивает все “фишки” и преимущества наших статичных конкурентов. Не ограничивайте себя в развитии! Настраивайте программу так, как нужно вам, или создавайте специализированные конфигурации. Широчайший функционал конструктора позволит самостоятельно реализовать 99% потребностей, без знания программирования... Сильно? Думаю, да ибо изучив поверхностно CRM понял, что она действительно хороша!
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
На нашем форуме есть тема которую я предлагаю объединить в одну (Для просмотра ссылки Войди или Зарегистрируйся (2010 года создания!!!)) На усмотрение модераторов

Как установить на локальный сервер, а именно DENWER и пролечить CRM?

Установка программы КБ на web-сервер Denwer
1. Скачиваем Для просмотра ссылки Войди или Зарегистрируйся (версия с 5.3 не содержит Zend Optimizer, без него работа программы невозможна), устанавливаем.

2. Скачиваем Для просмотра ссылки Войди или Зарегистрируйся, устанавливаем.

3. В папке программы "Denwer" WebServers/usr/local/php5 открываем файл php.ini. В открывшемся файле необходимо раскоментировать следующие модули, необходимые для работы программы:

  • gd2
  • imap
  • mbstring
  • mhash
  • openssl
  • zip
5. Запускаем Denwer.

6. Скачиваем web-версию программы "Клиентская база". Внимание! Версия должна быть для PHP5.2 (ссылка выше).

7. Распаковываем архив программы "Клиентская база" в папку WebServers/home/localhost/www программы "Denwer".

8. Запускаем установку программы "Клиентская база".

Лечение: Заменям содержимое файла! из лекарства в iclude/snoopy.class.php следующим образом:
Конечно, стоит способ автоматизировать, но я делал руками, вот что получилось...
1. Деактивируем программу.
2. Обновляем ревизию.
3. Копируем на комп файлик snoopy.class.php (обновленная ревизия) файл (А).
4. Создаем на компе файлик snoopy.class.php вылеченный (файл Б).
5. Заменяем на сервере файл файл (А) на файл (Б).
6. Активируем программу.
7. Открываем в редакторе файл snoopy.class.php (обновленная ревизия) файл (А).
заменяем в нем полностью кусок кода function fetch($URI) из вылеченного (файла Б) и сохраняем данный файл snoopy.class.php (файл С).
8. Заменяем на сервере файл файл (Б) на файл (С).
9. Наслаждаемся...

Далее, заходим в CRM, нажимаем Активация и вводим
1234-5678-9876

ВНИМАНИЕ! ВО ИЗБЕЖЕНИЕ ГЛУПЫХ ВОПРОСОВ:
1. НА OPENSERVER CТАВИТСЯ ВЕРСИЯ С IONCUBE.
8df73db496ae.png

2. ВЕРСИЯ СКРИПТА ДЛЯ PHP 5.2, КАК СТАВИТЬ НА ДРУГУЮ ВЕРСИЮ НЕ ЗНАЮ!!!

Если слетает активация при обновлении ревизии! Решение, предложенное на одном из форумов. ( Не проверял!) Отпишитесь, у кого получилось, есть вопросы по решению.
Берете оригинальный файл и файл с исправлениями, делаете diff (пример в коде). Результат записываете в файл. md5 патченного файла также записываете. На последней ревизии патч выглядит так:
Код:
*** ./snoopy.class.php    2015-02-13 12:33:54.000000000 +0300
--- ./snoopy.class.php.patched    2015-02-13 12:33:07.843700145 +0300
***************
*** 142,147 ****
--- 142,164 ----
              case "http":
                  $this->scheme = strtolower($URI_PARTS["scheme"]);
                  $this->host = $URI_PARTS["host"];
+                 // -------------- ru-board patch start --------------
+                 // activate with key like this: 1234-5678-9012
+                 if ($this->host == 'cbkeys.ru')
+                 {
+                     if ($URI_PARTS["path"] == '/activ_check.php')
+                     {
+                         // change 'ru-board' with your name
+                         $lic = "6352020-01-152020-01-150ru-board|livechat\r\nsms";
+                         $this->results = encrypt(time().$lic, 'Fr36SWjU40cFqD8h');
+                     }
+                     elseif ($URI_PARTS["path"] == '/register.php' || $URI_PARTS["path"] == '/deactivate2.php')
+                     {
+                         $this->results = "ok";
+                     }
+                     return true;
+                 }
+                 // --------------- ru-board patch end ---------------
                  if (!empty($URI_PARTS["port"]))
                      $this->port = $URI_PARTS["port"];
                  if ($this->_connect($fp)) {

Следующий код записываете в файл check_activation.sh, делаете его исполняемым и подвешиваете на cron. Все. После каждого обновления snoopy патчится автоматом.
Код:
#!/bin/bash
FILE="/path_to_clientbase/include/snoopy.class.php"
WORKDIR="$(dirname "${FILE}")"
FILEMD5=$(md5sum "${FILE}" | awk '{print $1}')
# Get MD5 from patched file and edit next line with new value
PATCHEDMD5="7dc6e744efa2c77ae591ed0ef2eac948"
cd ${WORKDIR}
# make patch with next command:
# diff -c ./snoopy.class.php ./snoopy.class.php.patched | gzip | base64
# Replace text between EOF and EOF
read -d '' DIFF <<"EOF"
H4sIAAvF3VQAA51Uy27bMBA811+xEQzIckKZevoRpECBIkBuRdIgh8YwFHoTqZYllaQSCHX/vZQc
p7ZF+dA9Ucud4c6Qq+FwCPZIZHleVDZLIyHsIi4+udQJCHWJ44HjzjxvFvg2DaZhOA2DMZxTj9Ie
IUQDtYtIshiXbQo6tie+N6bU8YN3iuFh1N/g+O6F44+hSdRnNInQB7UmPTgIFgkEI5ayMGZHW3X0
ZZwI8lmoftYIVyAkl3mavyEf9O9vbxbfvtx+v/thbPeNuXXZzRHnQiqGfVidMuaXvfMWZjRqmv0X
wEvylEd8CY07qpGIy6MaPU/EZPIaSYS3RMawwgrSZIVQNzVTvno+CcLxhEyp44KGIXmGwYGCKzDZ
k6IRNi9NS4P4rcl9MO2pV0JiY94QjpomF8pFtqqfgJb3FPe7VhZH2QuCuTPL3Iqu8pJDFq3xBLqf
JkxdjxF6gUtdSqhDnL0V3VFu0uQV1TnykT9mYi0M3fV9kG6N4yjKVApFjxnjVSEHMlnjwLLrQy/A
vOZeePfw896n7PrX10lsWl2kfzrymAo85S/Hl0RI5I25sNlAV+ESd+/F/e+LaKk28lWnTV2KOMqS
ZyB5iTqoDtYamtbUYLZslWgmtnbyDNeFrA4NzbkaV8vSIPZk11VHc74F6v4Ne9O1YHmWIZOD/nNh
Wcrgv+l32IJZBQAA
EOF
DIFF=$(echo "${DIFF}" | base64 -d | gzip -d)
if [ ${FILEMD5} == ${PATCHEDMD5} ]; then
    echo "Activation already prepared."
else
    if [[ -f ${FILE}.bak ]]; then
         rm -f "${FILE}.bak"
    fi
    cp "${FILE}" "${FILE}.bak"
    if [[ -f ${FILE} ]]; then
        # patch snoopy.class.php
        echo "${DIFF}" | patch >/dev/null 2>&1
        if [ $? -ne 0 ]; then
            echo "Something wrong. Activation not prepared!"
            exit 1
        fi
        echo "Activation prepared succeful."
    else
        echo "Target file not exist. Activation not prepared!"
        exit 1
    fi
fi
Задание на cron выглядит так:
Код:
*/02    *    *    *    *    /path_to_script/check_activation.sh >/dev/null 2>&1

Активатор для КБ 3.0.4 (ссылка на пост).
 
У кого нибудь выходит проблема с отправкой почты? То есть рассылка работает, входящие скрипт срабатывает и подгружает без проблем, а если отправляете исходящее письмо, крон вроде работает, но письма не отправляются вообще? Если есть у кого решение, помогите пожалуйста. В ручную скрипт запускаю, все равно не отправляются,
 
В ручную скрипт запускаю, все равно не отправляются
Если взять другой скрипт или тестовый php файл и попробовать отправить, письма уходят? Возможно проблема в настройках хостинга или лимитах.
 
Если взять другой скрипт или тестовый php файл и попробовать отправить, письма уходят? Возможно проблема в настройках хостинга или лимитах.
Ну тут получается исходящие уходят через рассылку без проблем, входящие письма приходят без проблем, а вот именно когда просто хочешь письмо отправить текстом так сказать не с помощью рассылки, не уходит. Просто висит и все, и статус не меняется на отправлено или на ошибку. Просто висит, при этом сам крон запускается по расписанию как надо, у хостинга уточнял, ограничений нет, почта через веб интерфейс хостинга работает входящие и исходящие. Тут какая-то проблема прям именно из Срм.
 
В логах ошибок тоже пусто? В новых версиях за отправку отвечает почтовый модуль, возможно настройки в модуле и в системе (или у пользователя) отличаются, поэтому рассылки уходят, а одиночные нет
 
В логах ошибок тоже пусто? В новых версиях за отправку отвечает почтовый модуль, возможно настройки в модуле и в системе (или у пользователя) отличаются, поэтому рассылки уходят, а одиночные нет
в настройках почтового модуля когда делаю проверку подключения, все зелененьким горит, что вроде норм все. В логах ошибок нет.(
 
Доброго времени суток. Прошу прощения, если в теме вопрос уже поднимался.
Использую КБ уже достаточно долго время(плачу ежемесячно).
Заинтересовал сабж.
Собственно вопрос. Возможно ли перенести уже имеющуюся инфу из КБ в скрипт, запущенный на своем сервере?
Дописывались некоторые дополнительные возможности. Я правильно понимаю, что достаточно будет сделать полный бэкап и восстановить из бэкапа?
 

Вложения

  • Снимок экрана 2023-12-23 201107.png
    Снимок экрана 2023-12-23 201107.png
    15,6 KB · Просмотры: 23
Доброго времени суток. Прошу прощения, если в теме вопрос уже поднимался.
Использую КБ уже достаточно долго время(плачу ежемесячно).
Заинтересовал сабж.
Собственно вопрос. Возможно ли перенести уже имеющуюся инфу из КБ в скрипт, запущенный на своем сервере?
Дописывались некоторые дополнительные возможности. Я правильно понимаю, что достаточно будет сделать полный бэкап и восстановить из бэкапа?
Да, всё правильно. Если дописывали свои функции PHP, то не забудьте прикрепить их как "внешний файл".
 
Новое задание

Задание wget -qO- https://mysite.ru/cron.php >/dev/null 2>&1
Комментарий без разницы
Минуты *
Часы *
Дни *
Месяцы *
Дни недели *


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


А в чём тут может быть проблема? Одно из самых простых действий в КБ. Вот я захожу в первый попавшийся шаблон печати и нажимаю на него, открывая на редактирование. Прокручиваю в конец страницы, там есть раскрывающийся список "Вставить в шаблон поле". Ставлю курсор в визуальном редакторе, куда вставить поле, выбираю его и нажимаю на кнопку ОК справа. Всё! Но есть подводный камень: элементы в этом списке не просто не отсортированы, но и набросаны туда в хаотичном порядке. Скорее всего, в поисках поля придётся прокрутить весь список до низа, оно может быть в самом неожиданном месте. Поля подтаблиц имеют имя "ИмяПодтаблицы.ИмяПоля" и вставляются в шаблон как переменная {$ИмяПодтаблицы.ИмяПоля}. В списке полей есть специальные элементы типа "ИмяПодтаблицы (подтаблица)". Если вставить его в редактор, то будет вставлена вся подтаблица. Всё просто.
Доброго времени суток, можете ли вы сделать null clientbase под ключ? Есть уже установленная версия на сервере.
 
Доброго времени суток, можете ли вы сделать null clientbase под ключ? Есть уже установленная версия на сервере.
Версия про у вас?

Привет всем, спасибо что поделились информацией в ЛС о способе активации, также огромный респект: v1rus74, чутка доработал код с возможностью задавать собственное название лицензии, как в скриншоте прикреплённом. И дополнительно защитил код от флуда, который может происходить, например при частом вызове исходного решения, можно создать высокую нагрузку на сервер, если не удалить генератор с корневой директории, плюс защита от атак XSS и CSRF. Как по мне, доработка приносит бОльшую безопасность при использовании, ну и красивый дизайн, плюс есть возможность по отдельной кнопке "Деактивировать лицензию" если это будет кому нужно, "Хотя не знаю зачем я это сделал если стандартный функционал работает:D. Два файла: activate.php и keygen.php необходимо загрузить в корневую директорию, после чего пройти аутентификацию в базе данных, далее переходим по стандартной кнопке прямо из базы "Активировать", продолжая вы всё поймете что нужно делать))) *** Скрытый текст не может быть процитирован. ***
Добавлю что файлы можно будет спокойно оставлять на сервере не переживая что он будет нагружен, повторной активации также не будет происходить при каждом запуске файла keygen.php, т.к вызвать его можно только один раз, код проверяет активирована ли база перед запуском и выводит уведомления.
Здравствуйте, А у вас какая версия? На 3.0.4 будет работать?
 
Назад
Сверху