| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- <?php
- // +----------------------------------------------------------------------
- // | Fanwe 方维直播系统
- // +----------------------------------------------------------------------
- // | Copyright (c) 2011 http://www.fanwe.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Author: 云淡风轻(1956838968@qq.com)
- // +----------------------------------------------------------------------
- class PaymentAction extends CommonAction{
- private function read_modules()
- {
- $directory = APP_ROOT_PATH."system/payment/";
- $read_modules = true;
- $dir = @opendir($directory);
- $modules = array();
-
- while (false !== ($file = @readdir($dir)))
- {
- if (preg_match("/^.*?\.php$/", $file))
- {
- $module = require_once($directory .$file);
- if(!defined('OPEN_PC') || OPEN_PC != 1){
- if(in_array($module['class_name'], array('Wxjspay'))){
- continue;
- }
- }
- $modules[] = $module;
- }
- }
- @closedir($dir);
- unset($read_modules);
-
- foreach ($modules AS $key => $value)
- {
- ksort($modules[$key]);
- }
- ksort($modules);
-
- return $modules;
- }
- public function index()
- {
- $modules = $this->read_modules();
- $db_modules = $GLOBALS['db']->getAll("select * from ".DB_PREFIX."payment");
- foreach($modules as $k=>$v)
- {
- foreach($db_modules as $kk=>$vv)
- {
- if($v['class_name']==$vv['class_name'])
- {
- //已安装
- $modules[$k]['id'] = $vv['id'];
- if($v['class_name']=='Wwxjspay'){
- $modules[$k]['total_amount'] = floatval($GLOBALS['db']->getOne("select sum(money) from ".DB_PREFIX."user_refund where is_pay=3 and withdrawals_type=0"));
- }else{
- $modules[$k]['total_amount'] = $vv['total_amount'];
- }
- $modules[$k]['installed'] = 1;
- $modules[$k]['is_effect'] = $vv['is_effect'];
- $modules[$k]['sort'] = $vv['sort'];
- break;
- }
- }
-
- if($modules[$k]['installed'] != 1)
- $modules[$k]['installed'] = 0;
- $modules[$k]['is_effect'] = intval($modules[$k]['is_effect']);
- $modules[$k]['sort'] = intval($modules[$k]['sort']);
- $modules[$k]['total_amount'] = floatval($modules[$k]['total_amount']);
- $modules[$k]['reg_url'] = $v['reg_url']?$v['reg_url']:'';
- }
- $this->assign("payment_list",$modules);
- $this->display();
- }
-
- public function install()
- {
- $class_name = $_REQUEST['class_name'];
- $directory = APP_ROOT_PATH."system/payment/";
- $read_modules = true;
-
- $file = $directory.$class_name."_payment.php";
- if(file_exists($file))
- {
- $module = require_once($file);
- $rs = M("Payment")->where("class_name = '".$class_name."'")->count();
- if($rs > 0)
- {
- $this->error(l("PAYMENT_INSTALLED"));
- }
- }
- else
- {
- $this->error(l("INVALID_OPERATION"));
- }
-
- //开始插入数据
- $data['name'] = $module['name'];
- $data['class_name'] = $module['class_name'];
- $data['online_pay'] = $module['online_pay'];
- $data['lang'] = $module['lang'];
- $data['config'] = $module['config'];
- $data['sort'] = (M("Payment")->max("sort") + 1);
-
- $this->assign("data",$data);
- $this->display();
-
- }
-
- public function insert()
- {
- $data = M(MODULE_NAME)->create ();
- if(empty($data['name'])){
- $this->error("请输入支付接口名称");
- }
- $data['config'] = serialize($_REQUEST['config']);
- // 更新数据
- $log_info = $data['name'];
- $list=M(MODULE_NAME)->add($data);
- $this->assign("jumpUrl",u(MODULE_NAME."/index"));
- if (false !== $list) {
- clear_auto_cache("pay_list");
- load_auto_cache("pay_list");
- //成功提示
- save_log($log_info.L("INSTALL_SUCCESS"),1);
- $this->success(L("INSTALL_SUCCESS"));
- } else {
- //错误提示
- save_log($log_info.L("INSTALL_FAILED"),0);
- $this->error(L("INSTALL_FAILED"));
- }
- }
- public function edit() {
- $id = intval($_REQUEST ['id']);
- $condition['id'] = $id;
- $vo = M(MODULE_NAME)->where($condition)->find();
-
- $directory = APP_ROOT_PATH."system/payment/";
- $read_modules = true;
-
- $file = $directory.$vo['class_name']."_payment.php";
- if(file_exists($file))
- {
- $module = require_once($file);
- }
- else
- {
- $this->error(l("INVALID_OPERATION"));
- }
-
- $vo['config'] = unserialize($vo['config']);
- $data['lang'] = $module['lang'];
- $data['config'] = $module['config'];
-
- $this->assign ( 'vo', $vo );
- $this->assign ( 'data', $data );
- $this->display ();
- }
-
- public function update()
- {
- $data = M(MODULE_NAME)->create ();
- if(empty($data['name'])){
- $this->error("请输入支付接口名称");
- }
- $data['config'] = serialize($_REQUEST['config']);
- $log_info = M(MODULE_NAME)->where("id=".intval($data['id']))->getField("name");
- $this->assign("jumpUrl",u(MODULE_NAME."/edit",array("id"=>$data['id'])));
- // 更新数据
- $list=M(MODULE_NAME)->save ($data);
- if (false !== $list) {
- clear_auto_cache("pay_list");
- load_auto_cache("pay_list");
- save_log($log_info.L("UPDATE_SUCCESS"),1);
- $this->success(L("UPDATE_SUCCESS"));
- } else {
- //错误提示
- save_log($log_info.L("UPDATE_FAILED"),0);
- $this->error(L("UPDATE_FAILED"),0,$log_info.L("UPDATE_FAILED"));
- }
- }
-
- public function uninstall()
- {
- $ajax = intval($_REQUEST['ajax']);
- $id = intval($_REQUEST ['id']);
- $data = M(MODULE_NAME)->getById($id);
- if($data)
- {
- $info = $data['name'];
- $list = M(MODULE_NAME)->where ( array('id'=>$data['id']) )->delete();
- clear_auto_cache("pay_list");
- load_auto_cache("pay_list");
- if ($list!==false) {
- save_log($info.l("UNINSTALL_SUCCESS"),1);
- $this->success (l("UNINSTALL_SUCCESS"),$ajax);
- } else {
- save_log($info.l("UNINSTALL_FAILED"),0);
- $this->error (l("UNINSTALL_FAILED"),$ajax);
- }
- }
- else
- {
- $this->error (l("INVALID_OPERATION"),$ajax);
- }
- }
-
- }
- ?>
|