http://oformikredit.ru/affiliate/ зеленый
http://partner-programm.ru/partnerki-telefon.html славина херь
Структура системы лидогенератор
Endjine – движек
APPLICATION –применение
ARTICLES – товары
api_docs.htm Описание выгрузки API в XML
Дополнительный параметр партнера: sub_id
URL оффера: http://cpartner.ru/lead.php?aid=&oid=
URL оффера с привязанным дополнительным параметром: http://cpartner.ru/lead.php?aid=&oid=&sub_id=
Параметры, зарезервированные партнерской программой
aid – идентификатор партнера в партнерской программе
bid – идентификатор баннера (рекламного материала)
fid – идентификатор перехода (клика)
oid – идентификатор оффера
DB базы в sqllite
adv_applications.sqlite
applications.sqlite заявки
banners.sqlite банеры
leads.sqlite лиды-выплаты
offers.sqlite оферы
partners.sqlite партнеры
payments.sqlite оплаты
prices.sqlite цены
rejects.sqlite отказы
syncs.sqlite
users.sqlite пользователи
EMAIL_TEMPLATES письма тексты
advertiser_registered_for_manager.htm Заполнена форма заявки рекламодателя / агентства\
confirm_email.htm подтверждение авторизации в регистрации
send_registration_approval.htm заявка одобрена получение логина и пороля
TEMPLATES формы всякие
add_banner_form.htm Добавление нового баннера к офферу
add_offer_form.htm Добавление нового оффера
add_partner_form.htm Добавление нового партнера
add_user_form.htm Добавление нового пользователя
api.htm Партнеры, имеющие доступ к API
applications_list.htm Заявки на участие в партнерской программе
approve_application_form.htm страница заявки
create_api_key_form.htm Создание API-ключа для партнера
delete_api_key_form.htm Удаление API-ключа у партнера
delete_application_form.htm Отклонение заявки
delete_banner_form.htm Удаление банера
edit_application_form.htm Регистрация нового участника партнерской программы
edit_offer_form.htm Редактирование оффера oid:
edit_partner_form.htm Редактирование данных партнера
edit_profile_form.htm смена пороля
edit_user_form.htm Редактирование данных пользователя
empty.htm <?=@$S["_HTML"];?>
home.htm Офферы $S["offers"]
Партнеры $S["partners"]
Пользователи $S["users"]
Журнал событий $S["journal"]
homepage_for_guest.htm для гостей
logout.htm выход из системы
maintain_close_period_form.htm Учет продаж. Закрытие периода
maintain_rejects_form.htm Учет возвратов от рекламодателей (jquery по имени)
maintain_sync_analyse.htm <?=$S["_HTML"];?>
maintain_sync_apply.htm Произведена сверка лидов с leadsystem.ru
maintain_sync_form.htm Сверка с внешними системами
maintenance.htm Обслуживание расчетов
message.htm msg
message2.htm
offers_list.htm Оффер Цена
on-off_offer_form.htm Включение оффера / Выключение оффера
partner_page_for_user.htm
partners_list.htm Партнеры
referrals_list.htm Рефералы участник партнёрской программы, зарегистрировавшийся по рекомендации другого участника
reg_info.htm Заявка зарегистрирована
register_ad_application_form.htm Пожалуйста, оставьте ваши пожелания:
show_offer.htm Оффер '' oid: Оффер отключен
template.htm <base href="<?=$CFG["base_url"];?>">
template2.htm
users_list.htm Пользователи
$S["offer"] = array();
$S["_USER"]["id"] выбить работу если не авторизован
$S["partners"] = array();
$S["partner"] = array();
$S["rights"] = array();
$S["applications"] = array(); массив заявок
db_set("leads");
$first_unclosed_lead_data = db_select("SELECT min(fid) as fid FROM leads WHERE lead_date != '' AND lead_date IS NOT NULL AND (sell_date = '' OR sell_date IS NULL);");
$first_unclosed_fid = $first_unclosed_lead_data[0]["fid"];
dump($first_unclosed_fid);
actions.xml какие функции дергать при режиме
api_functions.php -------------------------
config.php $CFG[] используеи APPLICATION_DIR
db.xml описание структур таблиц
functions.php ИЗУЧИТЬ ** перечис 29 функ
functions_actions.php ИЗУЧИТЬ *** 44 ФУНКЦИИ
functions_api.php ИЗУЧИТЬ
libgelog.php логи пишет
pages.xml для какова вида страницы какие модули подгружать
************************************
PLATFORM
acharset.php преобразование символов
config.php $CFG[ ] platform_actions.xml platform_forms.xml platform_functions.php
platform_db.php ИЗУЧИТЬ
platform_actions.xml какие базы подключат
platform_forms.xml Регистрация нового пользователя
platform_functions.php ИЗУЧИТЬ
************
define.php завод переменных
index.php ИЗУЧИТЬ *** загрузка страниц из записей xml файлов с применением внутренних функций
№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№ конец engine
l-modules
_pixel
index.php изучить функции адаптирования под проект
stat.php статистика за перод
autostore
index.php базово _pixel
stat.php базово _pixel
cpanetwork
cpanetwork.sqlite
index.php базово _pixel
stat.php базово _pixel
flexbank
homecredit
leadsystem.ru
debug.php api.php
api.php
sberbank
sovcombank
speakup бесплатный демо урок
svyaznoybank
tcs
index.php базово _pixel
stat.php базово _pixel
*****************************
index.php
include "engine/define.php";
include "engine/index.php";
api.php
require_once "engine/PLATFORM/platform_db.php";
require_once "engine/APPLICATION/functions.php";
debug.php параметры подключения к серверу
lead.php ИЗУЧИТЬ *** перечислены функции
*******************
разбор функций
*******************
переменные
memory_limit=256M
TEST_MODE=false
global $ERROR;
global $S;
global $ISERRORSREGISTERED;
global $DONTSHOWERRORS;
global $CFG;
index.php корня 28 функций
{{{{{{{{{{{{{{{{{{{{{{{{
dump($var, $msg="") сообщение о нехватки памяти
get_filename($name, $ext = "") обработка имени файла
shutdown закрытие
function apply_template($template_name)
$S["_PAGE"]->templates->template as $xmltemplate)
$xmltemplate["name"] == $template_name) file_exists($CFG["templates_dir"] . $template)
include $CFG["templates_dir"] . $template;
function get_content($block_name){
global $ERROR;
global $S;
global $CFG;
if (array_pop($blocks_chain) !== $block_name) {
return $HTML;
function get_page_by_uri($xml, $uri){
$xml as $page) if($page->uri == $uri) return $page;
function get_page_rights($page)
$page->acl->right as $xmlright
$rights[] = $xmlright["name"];
function get_pages_xml()
global $ERROR;
global $CFG;
$xml = false;
return $xml;
function import_tsv($filename, $convertToUFT8=true)
global $ERROR;
$file = @file($filename);
$res = array();
$header_line = $file[0];
$header_line = iconv("CP1251","UTF-8",$header_line);
$header = explode("\t",$header_line);
foreach($header as $k=>$v)
$header[$k] = trim(stripslashes($v));
$record = array();
foreach($header as $k=>$v) {
$record[$v] = trim(stripslashes($tmp[$k]));
$res[] = $record;
return $res;
function set_content($block_name, $content)
function show($var){
global $config;
global $ERROR;
function_exists("show_".$var)
return call_user_func("show_".$var)
return $config[$var];
function translit($s) {//Возвращает транслитирированную строку.
function APPLYRESULT($state){
function APPLYPAGETEMPLATE(){
function AUTENTICATE(){
function AUTHORIZE(){
function DOACTION(){
function DOLOG(){
function IDENTICATE(){
function GETPAGE(){ // поиск страницы, соответствующей текущему URI
function GETURI(){
function HASNEXTACTION(){
function LOADCONFIG(){
function REGISTERERRORS(){
function SENDHEADERS(){
function SENDHTML(){
function SETACTION(){
function SETACTIONLIST(){
function SETPARAMS(){
global $ERROR;
global $CFG;
global $S;
LOADCONFIG();
require_once PLATFORM_DIR."platform_db.php";
require_once PLATFORM_DIR."platform_functions.php";
register_shutdown_function("shutdown");
session_start();
$DONTSHOWERRORS = false; // когда вывод ошибок недопустим (при вызове методов API, например, надо устанавливать эту переменную в true.
$ISERRORSREGISTERED = false; // зарегистрированы ли ошибки? Функция REGISTERERRORS() устанавливает переменную в true. Иначе, регистрация ошибок будет в shutdown().
$ISREDIRECT = false;
GETURI();
GETPAGE(); // поиск и получение объекта текущей страницы
IDENTICATE(); // идентификация - пользователь или гость
AUTENTICATE(); // аутентификация пользователя (проверка пароля)
AUTHORIZE(); // авторизация пользователя (создание спиcка разрешений ACL)
if (!$S["_USER"]["isBot"]) header("Content-type: text/html; charset=".CHARSET);
SETACTIONLIST();
SETPARAMS();
while(HASNEXTACTION()){
DOACTION();
if (!$ISREDIRECT){
APPLYPAGETEMPLATE();
DOLOG();
REGISTERERRORS();
SENDHEADERS();
SENDHTML();
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
lead.php Корня 15 функций
{{{{{{{{{{{{{{{{{{{{{{
function djumbo_ping_sale($lead){
function dump($var, $title="") { // Печатает дамп переменной, окруженный тегами PRE
function calc_fee($fid){
function get_db($db_name){
function get_offers(){
function get_partners(){
function get_offerUrl($aid, $oid, $fid){
// ////////////////////////////////////////////////
// Специальная обработка url для некоторых офферов
// ////////////////////////////////////////////////
function get_ref_fid($fid){
function getmicrotime() Возвращает текущее время в секундах и микросекундах. Используется для замеров производительности.
function import_tsv($filename, $convertToUFT8=true){
function isValidFid($fid){
function ping_extra_system($fid){
function show_report_journal($sd="",$ed=""){
function track_click($aid, $oid, $bid="", $ip="", $referer="", $extra = ""){
function track_lead($fid, $x_id, $x_system, $isValid, $price, $request_uri){
}}}}}}}}}}}}}}}}}}}}}}
functions.php 29 функций
{{{{{{{{{{{{{{{{{{{{{{
require_once "functions_api.php";
require_once "functions_actions.php";
function dosyslog($message, $file="") { // Пишет сообщение в системный лог при включенной опции DO_SYSLOG.
function get_partners_list($limit="",$returnAid=false){
function get_db_comment($db_name, $action, $data){
function get_offerById($oid){
function get_offers_by_url($url){
function get_offer_tags($offerORoffers){
function get_partner_by_aid($aid){
function get_partnerUri_by_id($partnerId){
function get_price($aid, $oid, $date=""){
function get_user_by_login($login){
function get_username_by_id($userId, $getLogin=false){
function get_users_list($limit=""){
function is_offer_disabled($offer){
function parse_db_data($db_name,$field,$value, $optional_data=""){
function parse_post_data(){
function query_x_system($leads, $x_system="leadsystem.ru"){
function send_message($emailOrUserId, $template, $data, $options=""){
function set_objects(){
function set_partner_api_key($partner){
function set_redirect_on_db_result(){
function set_session_msg($action="", $db_name="", $db_result=""){
function set_template_for_form(){
function set_template_for_user(){
function show_forbiden(){
function show_partners(){
function store_userinput_in_session(){
function sync_compare($lead, $x_lead){
function sync_update_lead($lead){
function validate_data($param, $param_value, $operation, $db_name="", $old_value=""){
}}}}}}}}}}}}}}}}}}}}}}
functions_actions.php 44 ФУНКЦИИ
{{{{{{{{{{{{{{{{{{{{{{
function add_data($db_table=""){
function api_request(){
function approve_application(){
function confirm_email(){
function create_api_key(){
function close_period(){ // закрытие периода - все проставление sell_date для всех лидов, имеющих не пустой lead_date и пустой sell_date (бизнес-логика: начисления по лидам с непустым sell_date надо показывать в колонке "К выплате", с пустым - в "Начислено")
function delete_api_key(){
function delete_data(){
function edit_data(){
function edit_profile(){
function import_first_user(){
function maintenance() { // stub
function onoff_offer($offerId="", $off_date="", $on_date=""){
function process_application(){
function register_application(){ // регистрация в БД новой заявки на регистрацию в партнерской программе.
function register_ad_application(){ // регистарция заявки от рекламодателя (отправка ее по e-mail).
function send_registration_approval(){
function set_application(){
function set_applications_all(){
function set_banner($bannerId=""){
function set_banners(){
function set_banners_all(){
function set_form_data(){ // ДОРАБОТАТЬ: 2012-01-20 - функцию нужно удалить, т.к. она частично дублирует функционал set_objects(). Использовадась в action "form". Проверить, где еще она может использовать и переписать соотвествующий код.
function set_journal($limit=20){
function set_offer($offerId=""){
function set_offers(){
function set_offers_all(){
function set_partner($partnerId=""){
function set_partners(){
function set_partners_all(){
function set_prices($type="all"){
function set_referrals_all(){
function set_rights(){
function set_stat(){
function set_topmenu(){
function set_user(){
function set_users(){
function set_users_all(){
function sync_apply(){
function sync_analyse($options="") {
function update_prices(){
function dbmigrate(){
function test_leadsystem_urls(){
function test(){
}}}}}}}}}}}}}}}}}}}}}}
db_set($db_name, "history");
$res = db_select("SELECT changes_to, timestamp FROM history WHERE changes_what='_comment' ORDER BY timestamp DESC LIMIT ".sqlite_escape_string($limit).";");
foreach($res as $v){
$journal[$v["timestamp"]] = array("caption" =>$v["changes_to"], "timestamp"=>$v["timestamp"]); };
db_set("partners","history");
$tmp = db_select("SELECT DISTINCT objectId FROM history WHERE db='partners' ORDER BY timestamp DESC LIMIT 10;");
foreach($tmp as $v) $partner_ids[] = $v["objectId"];
db_set("partners");
$tmp = db_select("SELECT * FROM partners ORDER BY company;");
db_set("partners","referrals");
$tmp = db_select("SELECT * FROM referrals ORDER BY ref_aid;");
db_set("leads");
$tmp = db_select("SELECT * from leads WHERE aid = '".$aid."' AND fid >= ".$start_date." AND fid <= ".$end_date.";");
db_set("users","history");
$tmp = db_select("SELECT DISTINCT objectId FROM history WHERE db='users' ORDER BY timestamp DESC LIMIT 10;");
db_set("leads");
$tmp = db_select("SELECT count(id) as c FROM leads ".$where_clause.";");