Вход Регистрация
Файл: _rootadmin/_partnersettings.inc.php
Строк: 886
<?

    
if (!$sub) {$sub='partner';}

    if (
$sub == "percents" or $sub == "addpercent" or $sub == "addpercent2" or $sub == "deletepercent") {
        
$partnerType=GetSetting("partnerType");
        
$partnerLevels=GetSetting("partnerLevels");

        if (
$sub == "deletepercent") {
            
checkAdminAccess('sPartnerPercentsDelete',1);

            if (
$id) {
                @
mysql_query("delete from partner_percents where id='$id'") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());

                
writeAdminLog("Удалена процентная ставка партнерской программы ID # $id");

                print 
"Процентная ставка успешно удалена.";
            }
            else {
                print 
"Утерян идентификатор процентной ставки.";
            }
            print 
"<BR><BR>";
        }

        if (
$sub == "addpercent2") {
            
checkAdminAccess('sPartnerPercentsCreate',1);

            if (
$userLogin) {
                
$user GetUserByLogin($userLogin);
                
$userId $user->id;
            }
            if (!
$userId) { $userId 0; }

                    if (!
$type) {print "Не указан тип заказа для которого будет действовать процентная ставка.";}
                    else if (
$partnerType == "withReferalCount" and ($refsCountMin == "" or $refsCountMax == "")) { print "Не указан диапазон привлеченных рефералов при котором будет действовать процентная ставка."; }
                    else if (
$partnerType == "withReferalCount" and (intval($refsCountMin) >= intval($refsCountMax))) { print "Указан неправильный диапазон привлеченных рефералов при котором будет действовать процентная ставка."; }
            else if (
$percentsLevel1 0) { print "Не указана процентная ставка для уровня 1."; }
            else if (
$partnerLevels == "2" and $percentsLevel2 0) { print "Не указана процентная ставка для уровня 2."; }
            else if (
$userLogin and !$userId) { print "Клиент с логином $userLogin не найден."; }
                    else {
                
$refsCountMin intval($refsCountMin);
                
$refsCountMax intval($refsCountMax);

                if (
$type == "all") { $sql "type<>'all'"$error "Запрещено использовать тип заказа Любой, если есть хотябы одна процентная ставка с другим типом заказа.";    }  
                else { 
$sql "type='all'"$error "Запрещено использовать данный тип заказа, если есть хотябы одна процентная ставка с типом заказа Любой.";    }

                                
$r=@mysql_query("select * from partner_percents where uid='$userId' and $sql") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
                if (
mysql_num_rows($r) > 0) { print "$error"; }
                else {
                    if (
$partnerType == "withReferalCount") { $sql "and (refsCountMin=$refsCountMin or refsCountMax=$refsCountMax or refsCountMin=$refsCountMax or refsCountMax=$refsCountMin or ($refsCountMin > refsCountMin and $refsCountMin < refsCountMax) or ($refsCountMax > refsCountMin and $refsCountMax < refsCountMax))"; } else { $sql ""; }
                                    
$r=@mysql_query("select * from partner_percents where uid='$userId' and type='$type$sql") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
                    if (
mysql_num_rows($r) > 0) { 
                        if (
$partnerType == "withReferalCount") {
                            print 
"Одно из значений диапазона уже используется в ранее установленной процентной ставке."
                        } else {
                            print 
"Процентная ставка для данного типа заказа уже установлена ранее."
                        }
                    }
                    else {
                                            @
mysql_query("insert into partner_percents (type,refsCountMin,refsCountMax,percentsLevel1,percentsLevel2,uid) values('$type','$refsCountMin','$refsCountMax','$percentsLevel1','$percentsLevel2','$userId')") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
                        
$newid=mysql_insert_id();

                        
writeAdminLog("Добавлена новая процентная ставка партнерской программы ID # $newid");

                                            print 
"Процентная ставка успешно добавлена в базу.";

                        
$refsCountMin "";
                        
$refsCountMax "";
                        
$percentsLevel1 "";
                        
$percentsLevel2 "";
                        
$userLogin "";
                    }
                }
            }
            print 
"<BR><BR>";
                }

        
checkAdminAccess('sPartnerPercentsRead',1);

        
$cols 4;
        if (
$partnerType == "withReferalCount") { $cols += 1; }
        if (
$partnerLevels == "2") { $cols += 1; }

        print 
"<form method=post>";
        print 
"<input type=hidden name=do value=$do>";
        print 
"<input type=hidden name=sub value=addpercent2>";
        print 
"<table width=99%>";
        print 
"<tr><td colspan=".($cols-1)." align=center bgcolor=#EAEAEA><B>Добавление процентной ставки</b></td></tr>";
        print 
"<tr bgcolor=$font_row align=center>";
        print 
"<td>Тип заказа: <select name=type>";
            print 
"<option value=all "; if ($type == "all") { print "selected"; } print ">Любой</option>";
            print 
"<option value=hosting "; if ($type == "hosting") { print "selected"; } print ">Хостинг</option>";
            print 
"<option value=reseller "; if ($type == "reseller") { print "selected"; } print ">Реселлинг</option>";
            print 
"<option value=vds "; if ($type == "vds") { print "selected"; } print ">Виртуальный сервер</option>";
            print 
"<option value=dedicated "; if ($type == "dedicated") { print "selected"; } print ">Выделенный сервер</option>";
            print 
"<option value=vpn "; if ($type == "vpn") { print "selected"; } print ">VPN</option>";
            print 
"<option value=ssh "; if ($type == "ssh") { print "selected"; } print ">SSH</option>";
            print 
"<option value=domains "; if ($type == "domains") { print "selected"; } print ">Домены</option>";
            print 
"<option value=addons "; if ($type == "addons") { print "selected"; } print ">Дополнительные услуги</option>";
            print 
"<option value=shop "; if ($type == "shop") { print "selected"; } print ">Товары / Услуги</option>";
            print 
"<option value=other "; if ($type == "other") { print "selected"; } print ">Другое</option>";
        print 
"</select></td>";
        if (
$partnerType == "withReferalCount") {
            print 
"<td>Рефералов: от <input type=text name=refsCountMin size=1 value=$refsCountMin> до <input type=text name=refsCountMax size=1 value=$refsCountMax></td>";
        }
        print 
"<td>Проценты: уровень 1 <input type=text name=percentsLevel1 size=1 value=$percentsLevel1>";
        if (
$partnerLevels == "2") {
            print 
" уровень 2 <input type=text name=percentsLevel2 size=1 value=$percentsLevel2>";
        }
        print 
"</td>";
        print 
"</tr>";
        print 
"<tr bgcolor=$font_row>";
        print 
"<td colspan=".($cols-1)." align=center>Для добавления персональной процентной ставки, укажите логин клиента: <input type=text name=userLogin size=10 value=$userLogin></td></tr>";
        print 
"<tr><td colspan=".($cols-1)." align=center bgcolor=#EAEAEA><input type=submit value=Добавить></td></tr>";
        print 
"</table>";
        print 
"</form><BR>";

                
$r=@mysql_query("select * from partner_percents where uid='0' order by type,refsCountMin") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
        if (
mysql_num_rows($r) > 0) {
                    print 
"<table cellpadding=3 width=99%>";
                    print 
"<tr><td colspan=$cols align=center bgcolor=$font_head><B>Глобальные процентные ставки</b></td></tr>";

                    print 
"<tr bgcolor=$font_head><td align=center>ID</td><td align=center>Тип заказа</td>";
            if (
$partnerType == "withReferalCount") {
                print 
"<td align=center>Кол-во рефералов</td>";
            }
            print 
"<td align=center>%, уровень 1</td>";
            if (
$partnerLevels == "2") {
                print 
"<td align=center>%, уровень 2</td>"
            }
            print 
"<td align=center></td></tr>";

                    
$cnt=0;
                    while (
$rr = @mysql_fetch_object($r)) {
                            
getfont();

                            print 
"<tr bgcolor=$font_row align=center>";
                            print 
"<td width=30>$rr->id</td>";
                            print 
"<td>$rr->type</td>";
                if (
$partnerType == "withReferalCount") {
                    print 
"<td>от $rr->refsCountMin до $rr->refsCountMax</td>";
                }
                            print 
"<td>$rr->percentsLevel1</td>";
                if (
$partnerLevels == "2") {
                    print 
"<td>$rr->percentsLevel2</td>"
                }
                print 
"<td width=100 align=center><A href=?do=$do&sub=deletepercent&id=$rr->id onclick="javascript: return confirm('Вы уверены, что хотите удалить процентную ставку?');"><img src=./_rootimages/del.gif alt=Удалить border=0></a></td>";
                            print 
"</tr>";

                            
$cnt++;
                    }

                    print 
"<tr bgcolor=$font_head><Td colspan=$cols>Всего процентных ставок: $cnt</td></tr>";
                    print 
"</table><BR>";
        }

                
$r=@mysql_query("select * from partner_percents where uid<>'0' order by uid,type,refsCountMin") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
        if (
mysql_num_rows($r) > 0) {
                    print 
"<table cellpadding=3 width=99%>";
                    print 
"<tr><td colspan=".($cols+1)." align=center bgcolor=$font_head><B>Персональные процентные ставки</b></td></tr>";

                    print 
"<tr bgcolor=$font_head><td align=center>ID</td><td align=center>Клиент</td><td align=center>Тип заказа</td>";
            if (
$partnerType == "withReferalCount") {
                print 
"<td align=center>Кол-во рефералов</td>";
            }
            print 
"<td align=center>%, уровень 1</td>";
            if (
$partnerLevels == "2") {
                print 
"<td align=center>%, уровень 2</td>"
            }
            print 
"<td align=center></td></tr>";

                    
$cnt=0;
                    while (
$rr = @mysql_fetch_object($r)) {
                            
getfont();

                
$user GetUserById($rr->uid);

                            print 
"<tr bgcolor=$font_row align=center>";
                            print 
"<td width=30>$rr->id</td>";
                            print 
"<td><A href=?do=fullinfo&id=$rr->uid>$user->login</a></td>";
                            print 
"<td>$rr->type</td>";
                if (
$partnerType == "withReferalCount") {
                    print 
"<td>от $rr->refsCountMin до $rr->refsCountMax</td>";
                }
                            print 
"<td>$rr->percentsLevel1</td>";
                if (
$partnerLevels == "2") {
                    print 
"<td>$rr->percentsLevel2</td>"
                }
                print 
"<td width=100 align=center><A href=?do=$do&sub=deletepercent&id=$rr->id onclick="javascript: return confirm('Вы уверены, что хотите удалить процентную ставку?');"><img src=./_rootimages/del.gif alt=Удалить border=0></a></td>";
                            print 
"</tr>";

                            
$cnt++;
                    }

                    print 
"<tr bgcolor=$font_head><Td colspan=".($cols+1).">Всего процентных ставок: $cnt</td></tr>";
                    print 
"</table><BR>";
        }

    }

    if (
$sub == "addbanner") {
        
checkAdminAccess('sPartnerBannerCreate',1);

        if (
$_FILES['userfile']['name'] != '' and $_FILES['userfile']['type'] != '' and $_FILES['userfile']['tmp_name'] != '') {
            if (
preg_match("/jpg/ui",$_FILES['userfile']['type']) or preg_match("/jpeg/ui",$_FILES['userfile']['type']) or preg_match("/gif/ui",$_FILES['userfile']['type']) or preg_match("/png/ui",$_FILES['userfile']['type']) or preg_match("/flash/ui",$_FILES['userfile']['type'])) {
                if (
preg_match("/flash/ui",$_FILES['userfile']['type']) and !$banner_code) {print "<font color=red>Для Flash-баннеров обязательно должен быть указан код баннера.</font><br><br>";}
                else {
                    
$file="./_rootimages/banners/".$_FILES['userfile']['name'];
                    
$file_code=$file.".code";

                    if (!
file_exists($file)) {
                        if (
move_uploaded_file($_FILES['userfile']['tmp_name'],$file)) {
                            @
chmod($file0777);

                            if (
$banner_code) {
                                
$handle fopen($file_code'w');
                                
fwrite($handlehtmlDecode($banner_code));
                                
fclose($handle);
                                @
chmod($file_code0777);
                            }

                            
writeAdminLog("Добавлен баннер в партнерскую программу");

                            print 
"Баннер успешно загружен.<br><br>";
                        }
                        else {print 
"<font color=red>Невозможно переместить файл. Возможно не выставлены права на запись на директорию <b>_rootimages/banners</b>.</font><br><br>";}
                    } else {print 
"<font color=red>Баннер с таким именем файла уже загружен.</font><br><br>";}
                }
            }
            else {
                print 
"<font color=red>Неверный тип файла. Допустимые расширения: jpg, jpeg, gif, png, swf.</font><br><br>";
            }
        }
        else {
            print 
"<font color=red>Системная ошибка. Невозможно загрузить файл.</font><br><br>";
        }
        
$sub="banners";
    }

    if (
$sub == "delbanner" and $file) {
        
checkAdminAccess('sPartnerBannerDelete',1);

        @
unlink("./_rootimages/banners/".$file);
        @
unlink("./_rootimages/banners/".$file.".code");

        
writeAdminLog("Удален баннер из партнерской программы");

        print 
"Баннер успешно удален.<br><br>";
        
$sub="banners";
    }

    if (
$sub == "banners") {
        
checkAdminAccess('sPartnerBannerRead',1);

        
$company_name=GetSetting("company_name");
        if (!
$banner_code) { $banner_code="<a href='{url}' alt='$company_name' target='_blank'><img src='{image}' border='0'></a>"; }
        
?>

        <table width=99%>
        <tr><td colspan=2 align=center bgcolor=<? print $font_head?>><B>Ваши баннеры</b></td></tr>
        <tr><td colspan=2 align=center bgcolor=<? print $font_row?> valign=middle height=60>
            Допустимые расширения: jpg, jpeg, gif, png, swf<BR><BR>
            <form method=post enctype="multipart/form-data">
            <input type=hidden name=do value=<? print $do?>>
            <input type=hidden name=sub value=addbanner>
            Загрузить баннер: <input type='file' name='userfile'><BR><BR>
            Код баннера:<BR>
            <textarea name=banner_code cols=50 rows=7><? print $banner_code?></textarea><BR>Путь к файлу в коде нужно заменить на {image}, а ссылку на {url}<BR><BR>
            <input type=submit value=Загрузить>
            </form>
        </td></tr>
        <?

        $handle
=opendir("./_rootimages/banners/");
        while (
$file readdir($handle)) {
            
$f mb_split(".",$file);
            if (
$file != "." and $file != ".." and $file != "" and !preg_match("/.code$/iu"$file) and !preg_match("/^cat_/iu"$file) and (preg_match ("/gif/ui"$f[1]) or preg_match ("/jpg/iu"$f[1]) or preg_match ("/jpeg/iu"$f[1]) or preg_match ("/png/ui"$f[1]) or preg_match ("/swf/ui"$f[1]))) {$files[] = $file;}
        }
        
closedir($handle);
        @
sort($files);
        
$cnt=count($files);

        while (list(
$k,$v) = @each($files)) {
            
$banner_code GetBannerCodeByFileName($v);

            
getfont();
            
?>
            <tr align=center valign=middle bgcolor=<? print $font_row?>><td>[<? print $v?>]<br><a href=?do=<? print $do?>&sub=delbanner&file=<? print $v?> onclick="javascript: return confirm('Вы уверены, что хотите удалить баннер?');"><img src=./_rootimages/del.gif border=0 alt="Удалить баннер"></a></td><td><? print $banner_code?></td></tr>
            <?
        
}

        
?>
        </table>
        <?
    
}

    if (
$sub == "savepartner") {
        
checkAdminAccess('sPartnerEdit',1);

        
SetSetting("partnerEnable"$partnerEnable);
        
SetSetting("partnerType"$partnerType);
        
SetSetting("partnerLevels"$partnerLevels);
        
SetSetting("partnerEnableOrderReferalLogin"$partnerEnableOrderReferalLogin);
        
        if (
$partnerCookieTime 1) {print "<font color=red>Время жизни cookies не может быть меньше одного дня.</font><br>";}
        else { 
SetSetting("partnerCookieTime"$partnerCookieTime); }

        
SetSetting("partnerUrl"$partnerUrl);
        
SetSetting("partnerProcentAllOrders"$partnerProcentAllOrders);
        
SetSetting("partnerEnablePayOrders"$partnerEnablePayOrders);
        
SetSetting("partnerAllowSendMoney"$partnerAllowSendMoney);

        if (
$partnerMaxReferals 0) {print "<font color=red>Максимальное количество рефералов не может быть меньше нуля.</font><br>";}
        else { 
SetSetting("partnerMaxReferals",$partnerMaxReferals); }

        if (
$partnerMinMoneyOut 0) {print "<font color=red>Минимальная сумма вывода не может быть меньше нуля.</font><br>";}
        else { 
SetSetting("partnerMinMoneyOut"$partnerMinMoneyOut); }

        
SetSetting("partnerMinActiveReferalsMoneyOut"$partnerMinActiveReferalsMoneyOut);

        
writeAdminLog("Изменены настройки: Партнерская программа");

        print 
"Данные успешно сохранены.<BR><BR>";
        
$sub="partner";
    }
        
    if (
$sub == "partner") {
        
checkAdminAccess('sPartnerRead',1);

        
$partnerEnable=GetSetting("partnerEnable");
        
$partnerType=GetSetting("partnerType");
        
$partnerLevels=GetSetting("partnerLevels");
        
$partnerEnableOrderReferalLogin=GetSetting("partnerEnableOrderReferalLogin");
        
$partnerCookieTime=GetSetting("partnerCookieTime");
        
$partnerUrl=GetSetting("partnerUrl");
        
$partnerProcentAllOrders=GetSetting("partnerProcentAllOrders");
        
$partnerMaxReferals=GetSetting("partnerMaxReferals");
        
$partnerEnablePayOrders=GetSetting("partnerEnablePayOrders");
        
$partnerAllowSendMoney=GetSetting("partnerAllowSendMoney");
        
$partnerMaxReferals=GetSetting("partnerMaxReferals");
        
$partnerMinMoneyOut=GetSetting("partnerMinMoneyOut");
        
$partnerMinActiveReferalsMoneyOut=GetSetting("partnerMinActiveReferalsMoneyOut");
        
        
?>
        <form method=post>
        <input type=hidden name=do value=<? print $do?>>
        <input type=hidden name=sub value=savepartner>

        <table width=99% bgcolor=<? print $font_row?>
        <tr><td colspan=2 align=center bgcolor=<? print $font_head?>><B>Общие настройки партнерской программы</b></td></tr>
        <tr><td align=right width=400>Партнерская программа:</td><Td align=left><input type=radio name=partnerEnable value=1 <? if ($partnerEnable) { print "checked"; } ?>> включена <input type=radio name=partnerEnable value=0 <? if (!$partnerEnable) { print "checked"; } ?>> выключена</td></tr>
        <tr><td align=right valign=top>Тип партнерской программы:</td><Td align=left><input type=radio name=partnerType value=normal <? if ($partnerType == "normal") { print "checked"; } ?>> Стандартная (учитывается только тип заказа)<BR><input type=radio name=partnerType value=withReferalCount <? if ($partnerType == "withReferalCount") { print "checked"; } ?>> Расширенная (учитывается тип заказа и кол-во привлеченных клиентов)</td></tr>
        <tr><td align=right>Количество уровней:</td><Td align=left><input type=radio name=partnerLevels value=1 <? if ($partnerLevels == "1") { print "checked"; } ?>> 1 уровень <input type=radio name=partnerLevels value=2 <? if ($partnerLevels == "2") { print "checked"; } ?>> 2 уровня</td></tr>
        <tr><td align=right>Начислять проценты за оплату:</td><Td align=left><input type=radio name=partnerProcentAllOrders value=0 <? if (!$partnerProcentAllOrders) { print "checked"; } ?>> первого заказа реферала <input type=radio name=partnerProcentAllOrders value=1 <? if ($partnerProcentAllOrders) { print "checked"; } ?>> всех заказов реферала</td></tr>

        <tr><td align=right><BR>Поле для ввода логина друга:<img src='./_rootimages/question.gif' alt='Если включено, то в форме регистрации будет возможность указать логин друга, который привел клиента.'></td><Td align=left><BR><input type=radio name=partnerEnableOrderReferalLogin value=1 <? if ($partnerEnableOrderReferalLogin) { print "checked"; } ?>> включено <input type=radio name=partnerEnableOrderReferalLogin value=0 <? if (!$partnerEnableOrderReferalLogin) { print "checked"; } ?>> выключено</td></tr>
        <tr><td align=right>Разрешить оплачивать заказы с партнерского счета:</td><Td align=left><input type=radio name=partnerEnablePayOrders value=1 <? if ($partnerEnablePayOrders) { print "checked"; } ?>> да <input type=radio name=partnerEnablePayOrders value=0 <? if (!$partnerEnablePayOrders) { print "checked"; } ?>> нет</td></tr>
        <tr><td align=right>Разрешить перевод партнерских средств:<img src='./_rootimages/question.gif' alt='Если включено, то клиент сможет перевести партнерские средства на внутренний баланс другого клиента.'></td><Td align=left><input type=radio name=partnerAllowSendMoney value=1 <? if ($partnerAllowSendMoney) { print "checked"; } ?>> да <input type=radio name=partnerAllowSendMoney value=0 <? if (!$partnerAllowSendMoney) { print "checked"; } ?>> нет</td></tr>

        <tr><td align=right><BR>Макс. кол-во рефералов:<img src='./_rootimages/question.gif' alt='Максимальное количество рефералов, которых может привести клиент и получать за них проценты от продаж.<BR><BR>0 - без ограничений.'></td><Td align=left><BR><input type=text name=partnerMaxReferals size=3 value="<? print $partnerMaxReferals?>"></td></tr>

        <tr><td align=right><BR>Минимальная сумма вывода, <? print CURAS?>:</td><Td align=left><BR><input type=text name=partnerMinMoneyOut size=3 value="<? print $partnerMinMoneyOut?>"></td></tr>
        <tr><td align=right>Разрешить вывод если миним. кол-во активных рефералов, шт.:<img src='./_rootimages/question.gif' alt='Если <B>0</B> - вывод разрешен всегда, если на счету есть минимальная сумма для вывода.<BR><BR>Если <B>задано значение</B> - вывод разрешен только тогда, когда у клиента есть минимальная сумма для вывода и он привёл указанное количество активных рефералов первого уровня (у реферала есть хотябы один оплаченный счет или непросроченный заказ/домен/товар)'></td><Td align=left><input type=text name=partnerMinActiveReferalsMoneyOut size=3 value="<? print $partnerMinActiveReferalsMoneyOut?>"></td></tr>

        <tr><td align=right><BR>Срок жизни cookies:</td><Td align=left><BR><input type=text name=partnerCookieTime size=3 value="<? print $partnerCookieTime?>"> дней</td></tr>
        <tr><td align=right>URL, куда направляем посетителя после перехода по ссылке:</td><Td align=left><input type=text name=partnerUrl size=30 value="<? print $partnerUrl?>"></td></tr>

        <tr><Td colspan=2 align=center><BR><input type=submit value=Сохранить></td></tr>
        </table>
        </form><br>
        <?
    
}
?>
Онлайн: 0
Реклама