WHMCS подключается для загрузки клиентов?


WHMCS имеет функцию для предоставления загрузок клиентам. Эту функцию можно найти в их административной области по адресу /admin/supportdownloads.php

Есть ли какой-либо крючок для действий, когда файлы загружаются через административную область? Единственный связанный крючок, который я могу найти, - это когда файлы загружаются.

Что я хочу сделать, так это добавить крючок, чтобы любой загружаемый мной файл добавлялся в список связанных загрузок для каждого из моих продуктов. Со всеми вариантами крючков, которые у них есть, я удивлен, что не могу найти ни одного для этого...

Author: Jamie, 2015-05-08

1 answers

Хотя я не сделал в точности то, что вы пытаетесь сделать, я могу сказать вам, что все, что вы помещаете в папку /includes/hooks, выполняется, независимо от того, действительно ли оно подключено к определенной точке. Это невероятно полезно для тех моментов, когда нет доступных точек подключения (или они задокументированы как присутствующие, но не на определенных рендерах страниц).

Итак, в php-файле в папке /includes/hooks я начинаю с повторения переменной globals. WHMCS хранит много информации в переменной globals, которая легко позволяет вам определить, на какой странице вы находитесь. Например, в одном из моих крючков у меня есть функция, которая определяет имя файла, на котором я нахожусь, просто вызывая get_filename(); Эта функция проверяет URI запроса и находит вызываемый php-файл. Если имя файла является тем, которое я ищу (например, "dologin") Я могу изолировать выполняемый код. Вы продолжаете изолировать на основе страницы, которую ищете (для например, если каждый запрос содержит определенную переменную или требует входа в систему, вы ищете эти переменные).

Как только вы убедитесь, что вам нужно быть на странице для запуска кода, вы можете написать свой PHP, чтобы захватить опубликованные данные формы и сохранить их так, как вам нравится, во вторичной таблице. Единственная загвоздка в том, что форма должна быть сначала сохранена в базе данных, поэтому вам нужен уникальный идентификатор, но его также можно обойти.

Надеюсь, это поможет...

 0
Author: muely2k1, 2015-05-14 16:10:10