Server : Apache
System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 5.6.40
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/saimikebio.com/mobile/ecshopjcw/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/saimikebio.com/mobile/ecshopjcw/affiliate_ck.php
<?php



/**

 * ECSHOP 程序说明

 * ===========================================================

 * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。

 * 网站地址: http://www.ecshop.com;

 * ----------------------------------------------------------

 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和

 * 使用;不允许对程序代码以任何形式任何目的的再发布。

 * ==========================================================

 * $Author: liubo $

 * $Id: affiliate_ck.php 17217 2011-01-19 06:29:08Z liubo $

 */



define('IN_ECTOUCH', true);

require(dirname(__FILE__) . '/includes/init.php');



admin_priv('affiliate_ck');

$timestamp = time();



$affiliate = unserialize($GLOBALS['_CFG']['affiliate']);

empty($affiliate) && $affiliate = array();

$separate_on = $affiliate['on'];



/*------------------------------------------------------ */

//-- 分成页

/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'list')

{

    $logdb = get_affiliate_ck();

    $smarty->assign('full_page',  1);

    $smarty->assign('ur_here', $_LANG['affiliate_ck']);

    $smarty->assign('on', $separate_on);

    $smarty->assign('logdb',        $logdb['logdb']);

    $smarty->assign('filter',       $logdb['filter']);

    $smarty->assign('record_count', $logdb['record_count']);

    $smarty->assign('page_count',   $logdb['page_count']);

    if (!empty($_GET['auid']))

    {

        $smarty->assign('action_link',  array('text' => $_LANG['back_note'], 'href'=>"users.php?act=edit&id=$_GET[auid]"));

    }

    assign_query_info();

    $smarty->display('affiliate_ck_list.htm');

}

/*------------------------------------------------------ */

//-- 分页

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'query')

{

    $logdb = get_affiliate_ck();

    $smarty->assign('logdb',        $logdb['logdb']);

    $smarty->assign('on', $separate_on);

    $smarty->assign('filter',       $logdb['filter']);

    $smarty->assign('record_count', $logdb['record_count']);

    $smarty->assign('page_count',   $logdb['page_count']);



    $sort_flag  = sort_flag($logdb['filter']);

    $smarty->assign($sort_flag['tag'], $sort_flag['img']);



    make_json_result($smarty->fetch('affiliate_ck_list.htm'), '', array('filter' => $logdb['filter'], 'page_count' => $logdb['page_count']));

}

/*

    取消分成,不再能对该订单进行分成

*/

elseif ($_REQUEST['act'] == 'del')

{

    $oid = (int)$_REQUEST['oid'];

    $stat = $db->getOne("SELECT is_separate FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE order_id = '$oid'");

    if (empty($stat))

    {

        $sql = "UPDATE " . $GLOBALS['ecs']->table('order_info') .

               " SET is_separate = 2" .

               " WHERE order_id = '$oid'";

        $db->query($sql);

    }

    $links[] = array('text' => $_LANG['affiliate_ck'], 'href' => 'affiliate_ck.php?act=list');

    sys_msg($_LANG['edit_ok'], 0 ,$links);

}

/*

    撤销某次分成,将已分成的收回来

*/

elseif ($_REQUEST['act'] == 'rollback')

{

    $logid = (int)$_REQUEST['logid'];

    $stat = $db->getRow("SELECT * FROM " . $GLOBALS['ecs']->table('affiliate_log') . " WHERE log_id = '$logid'");

    if (!empty($stat))

    {

        if($stat['separate_type'] == 1)

        {

            //推荐订单分成

            $flag = -2;

        }

        else

        {

            //推荐注册分成

            $flag = -1;

        }

        log_account_change($stat['user_id'], -$stat['money'], 0, -$stat['point'], 0, $_LANG['loginfo']['cancel']);

        $sql = "UPDATE " . $GLOBALS['ecs']->table('affiliate_log') .

               " SET separate_type = '$flag'" .

               " WHERE log_id = '$logid'";

        $db->query($sql);

    }

    $links[] = array('text' => $_LANG['affiliate_ck'], 'href' => 'affiliate_ck.php?act=list');

    sys_msg($_LANG['edit_ok'], 0 ,$links);

}

/*

    分成

*/

elseif ($_REQUEST['act'] == 'separate')

{

    include_once(ROOT_PATH . 'include/lib_order.php');

    $affiliate = unserialize($GLOBALS['_CFG']['affiliate']);

    empty($affiliate) && $affiliate = array();



    $separate_by = $affiliate['config']['separate_by'];



    $oid = (int)$_REQUEST['oid'];



    $row = $db->getRow("SELECT o.order_sn, o.is_separate, o.fencheng, o.user_id FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                    " LEFT JOIN " . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id".

            " WHERE order_id = '$oid'");



    $order_sn = $row['order_sn'];



    if (empty($row['is_separate']))

    {

        $affiliate['config']['level_point_all'] = (float)$affiliate['config']['level_point_all'];

		

        if ($affiliate['config']['level_point_all'])

        {

            $affiliate['config']['level_point_all'] /= 100;

        }



        $money = round($row['fencheng'],2);

        $integral = integral_to_give(array('order_id' => $oid, 'extension_code' => ''));

        $point = round($row['fencheng'],2);



        if(empty($separate_by))

        {

            //推荐注册分成

            $num = count($affiliate['item']);

            for ($i=0; $i < $num; $i++)

            {

                $affiliate['item'][$i]['level_point'] = (float)$affiliate['item'][$i]['level_point'];

                $affiliate['item'][$i]['level_money'] = (float)$affiliate['item'][$i]['level_money'];

                if ($affiliate['item'][$i]['level_point'])

                {

                    $affiliate['item'][$i]['level_point'] /= 100;

                }

                if ($affiliate['item'][$i]['level_money'])

                {

                    $affiliate['item'][$i]['level_money'] /= 100;

                }

                $setmoney = round($money * $affiliate['item'][$i]['level_money'], 2);

                $setpoint = round($point * $affiliate['item'][$i]['level_point'], 0);

                $row = $db->getRow("SELECT o.parent_id as user_id,u.user_name FROM " . $GLOBALS['ecs']->table('users') . " o" .

                        " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.parent_id = u.user_id".

                        " WHERE o.user_id = '$row[user_id]'"

                    );

                $up_uid = $row['user_id'];

                if (empty($up_uid) || empty($row['user_name']))

                {

                    break;

                }

                else

                {

                    $info = sprintf($_LANG['separate_info'], $order_sn, $setmoney, $setpoint);

                    log_account_change($up_uid, $setmoney, 0, $setpoint, 0, $info);

                    write_affiliate_log($oid, $up_uid, $row['user_name'], $setmoney, $setpoint, $separate_by);

                }

            }

        }

        else

        {

            //推荐订单分成

            $row = $db->getRow("SELECT o.parent_id, u.user_name FROM " . $GLOBALS['ecs']->table('order_info') . " o" .

                    " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.parent_id = u.user_id".

                    " WHERE o.order_id = '$oid'"

                );

            $up_uid = $row['parent_id'];

            if(!empty($up_uid) && $up_uid > 0)

            {

                $info = sprintf($_LANG['separate_info'], $order_sn, $money, $point);

                log_account_change($up_uid, $money, 0, $point, 0, $info);

                write_affiliate_log($oid, $up_uid, $row['user_name'], $money, $point, $separate_by);

            }

            else

            {

                $links[] = array('text' => $_LANG['affiliate_ck'], 'href' => 'affiliate_ck.php?act=list');

                sys_msg($_LANG['edit_fail'], 1 ,$links);

            }

        }

        $sql = "UPDATE " . $GLOBALS['ecs']->table('order_info') .

               " SET is_separate = 1" .

               " WHERE order_id = '$oid'";

        $db->query($sql);

    }

    $links[] = array('text' => $_LANG['affiliate_ck'], 'href' => 'affiliate_ck.php?act=list');

    sys_msg($_LANG['edit_ok'], 0 ,$links);

}

function get_affiliate_ck()

{



    $affiliate = unserialize($GLOBALS['_CFG']['affiliate']);

    empty($affiliate) && $affiliate = array();

    $separate_by = $affiliate['config']['separate_by'];



    $sqladd = '';

    if (isset($_REQUEST['status']))

    {

        $sqladd = ' AND o.is_separate = ' . (int)$_REQUEST['status'];

        $filter['status'] = (int)$_REQUEST['status'];

    }

    if (isset($_REQUEST['order_sn']))

    {

        $sqladd = ' AND o.order_sn LIKE \'%' . trim($_REQUEST['order_sn']) . '%\'';

        $filter['order_sn'] = $_REQUEST['order_sn'];

    }

    if (isset($_GET['auid']))

    {

        $sqladd = ' AND a.user_id=' . $_GET['auid'];

    }



    if(!empty($affiliate['on']))

    {

        if(empty($separate_by))

        {

            //推荐注册分成

            $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                    " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON o.user_id = u.user_id".

                    " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" .

                    " WHERE o.user_id > 0 AND o.fencheng > 0 AND (u.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) $sqladd";

        }

        else

        {

            //推荐订单分成

            $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                    " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON o.user_id = u.user_id".

                    " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" .

                    " WHERE o.user_id > 0 AND o.fencheng > 0 AND (o.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) $sqladd";

        }

    }

    else

    {

        $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON o.user_id = u.user_id".

                " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" .

                " WHERE o.user_id > 0 AND o.is_separate > 0 $sqladd";

    }





    $filter['record_count'] = $GLOBALS['db']->getOne($sql);

    $logdb = array();

    /* 分页大小 */

    $filter = page_and_size($filter);



    if(!empty($affiliate['on']))

    {

        if(empty($separate_by))

        {

            //推荐注册分成

            $sql = "SELECT o.*, a.log_id, a.user_id as suid,  a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                    " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON o.user_id = u.user_id".

                    " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" .

                    " WHERE o.user_id > 0 AND o.fencheng > 0 AND (u.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) $sqladd".

                    " ORDER BY order_id DESC" .

                    " LIMIT " . $filter['start'] . ",$filter[page_size]";



            /*

                SQL解释:



                列出同时满足以下条件的订单分成情况:

                1、有效订单o.user_id > 0

                2、满足以下情况之一:

                    a.有用户注册上线的未分成订单 u.parent_id > 0 AND o.is_separate = 0

                    b.已分成订单 o.is_separate > 0



            */

        }

        else

        {

            //推荐订单分成

            $sql = "SELECT o.*, a.log_id,a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                    " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON o.user_id = u.user_id".

                    " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" .

                    " WHERE o.user_id > 0 AND o.fencheng > 0 AND (o.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) $sqladd" .

                    " ORDER BY order_id DESC" .

                    " LIMIT " . $filter['start'] . ",$filter[page_size]";



            /*

                SQL解释:



                列出同时满足以下条件的订单分成情况:

                1、有效订单o.user_id > 0

                2、满足以下情况之一:

                    a.有订单推荐上线的未分成订单 o.parent_id > 0 AND o.is_separate = 0

                    b.已分成订单 o.is_separate > 0



            */

        }

    }

    else

    {

        //关闭

        $sql = "SELECT o.*, a.log_id,a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o".

                " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON o.user_id = u.user_id".

                " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" .

                " WHERE o.user_id > 0 AND o.is_separate > 0 $sqladd" .

                " ORDER BY order_id DESC" .

                " LIMIT " . $filter['start'] . ",$filter[page_size]";

    }





    $query = $GLOBALS['db']->query($sql);

    while ($rt = $GLOBALS['db']->fetch_array($query))

    {

        if(empty($separate_by) && $rt['up'] > 0)

        {

            //按推荐注册分成

            $rt['separate_able'] = 1;

        }

        elseif(!empty($separate_by) && $rt['parent_id'] > 0)

        {

            //按推荐订单分成

            $rt['separate_able'] = 1;

        }

        if(!empty($rt['suid']))

        {

            //在affiliate_log有记录

            $rt['info'] = sprintf($GLOBALS['_LANG']['separate_info2'], $rt['suid'], $rt['auser'], $rt['money'], $rt['point']);

            if($rt['separate_type'] == -1 || $rt['separate_type'] == -2)

            {

                //已被撤销

                $rt['is_separate'] = 3;

                $rt['info'] = "<s>" . $rt['info'] . "</s>";

            }

        }

        $logdb[] = $rt;

    }

    $arr = array('logdb' => $logdb, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);



    return $arr;

}

function write_affiliate_log($oid, $uid, $username, $money, $point, $separate_by)

{

    $time = gmtime();

    $sql = "INSERT INTO " . $GLOBALS['ecs']->table('affiliate_log') . "( order_id, user_id, user_name, time, money, point, separate_type)".

                                                              " VALUES ( '$oid', '$uid', '$username', '$time', '$money', '$point', $separate_by)";

    if ($oid)

    {

        $GLOBALS['db']->query($sql);

    }

}

?>