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

Alexeina66

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

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

Alexeina66

Мой дом здесь!
Регистрация
26 Авг 2013
Сообщения
403
Реакции
430
Прошу помощи в насущном вопросе.

Допустим поступил, на приход склада, товар зеленого цвета в количестве 200 шт.
Далее клиент создает заявку, где выбирает количество товара зеленого цвета и соответственно он
- Может заказать 200 шт. или менее.
- Не может заказать свыше этого количества.
- Списание количества товара в расход.
Поле товар, где выбирается цвет (список множественного выбора). Поле количество (текст)

Знаю что решается написание JS кода, но в нем не силен :(
 
Последнее редактирование:

n4yk

Писатель
Регистрация
6 Июн 2013
Сообщения
1
Реакции
0
А может ли её кто-нибудь деZend'нуть? Можно платно. Очень хотелось бы доработать для своих нужд ее внутренние модули.
 

halbonus

Создатель
Регистрация
6 Июн 2015
Сообщения
42
Реакции
2
Кто знает как убрать лимит в 635 пользователей?
 

Sergey$

Создатель
Регистрация
16 Авг 2015
Сообщения
15
Реакции
4
Прошу помощи в насущном вопросе.

Допустим поступил, на приход склада, товар зеленого цвета в количестве 200 шт.
Далее клиент создает заявку, где выбирает количество товара зеленого цвета и соответственно он
- Может заказать 200 шт. или менее.
- Не может заказать свыше этого количества.
- Списание количества товара в расход.
Поле товар, где выбирается цвет (список множественного выбора). Поле количество (текст)

Знаю что решается написание JS кода, но в нем не силен :(
Из того, что пришло в голову -- добавить поле «Статус проводки», и при сохранении записи проводить вычисление с проверкой введенного числа. Если число <=200, сохраняем и проводим вычисление по списанию, устанавливаем статус проводки «Успешно». Если число больше -- выводим предупреждение, сумму не вычитаем, статус устанавливаем, как «Ошибка».
 

Arturio

Создатель
Регистрация
24 Июл 2013
Сообщения
41
Реакции
2
Неплохая CRM, у нас куплена лицензия на одного пользователя. Интерфейс корявенький правда, обещают скоро выпустить версию 3.0 с красивыми кнопками) У нас стоит на CentOS 6.5, работает нормально. Подскажите, а пролечить можно уже установленную версию? И будет ли обновляться потом?
 

Arturio

Создатель
Регистрация
24 Июл 2013
Сообщения
41
Реакции
2
Спасибо! А "стучалки" нет в CRM? При обновлении или добавлении пользователя не обращается ли база на головной сайт для проверки конкретной лицензии? Или эта вся инфа хранится локально? Просто интересно.
 

denverkurt

Denve®
Регистрация
23 Дек 2013
Сообщения
749
Реакции
481
Спасибо! А "стучалки" нет в CRM? При обновлении или добавлении пользователя не обращается ли база на головной сайт для проверки конкретной лицензии? Или эта вся инфа хранится локально? Просто интересно.
нет не стучит. но на всякий случай не рекомендую пользоваться встроенной формой тех. поддержки. там по-моему с запросом отправляется информация о лицензии, сроках поддержки и т.п.
 

sdk2014

Постоялец
Регистрация
11 Янв 2014
Сообщения
111
Реакции
53
Скрипт очень хороший, поклацал демку, надумал тоже поставить. НО может у кого то тоже так будет, я часа полтора ковырял ее, не ставилась, ошибка с бд, просто раз 5 понажимал на установить, и вуа ля) стала, пока багов нет. Активировалась тож бес проблем. Спасибо
 
Сверху