忘记密码?

一键登录

草根吧源码论坛

百度云网盘 0.2用户组权限 base.class.php

查看: 707|回复: 0

百度云网盘 0.2用户组权限 base.class.php

[复制链接]

5760

主题

704

热度

2218

贡献

管理员

Rank: 9Rank: 9Rank: 9

DZ专员

发表于 2014-9-27 13:04:32 | 显示全部楼层 |阅读模式 | 百度  360  谷歌 
分享到:
  1. <?php

  2. class plugin_baidu_yun_base
  3. {

  4.     public function getEnCodeUrl( $http )
  5.     {
  6.         $http = base64_encode( authcode( $http, "ENCODE" ) );
  7.         $http = "plugin.php?id=baidu_yun:get&url=".$http;
  8.         return $http;
  9.     }

  10.     public function my_deleteattach( )
  11.     {
  12.         $aids = $_GET['aids'];
  13.         if ( empty( $aids ) )
  14.         {
  15.             return;
  16.         }
  17.         foreach ( $aids as $k => $v )
  18.         {
  19.             $v = addslashes( $v );
  20.             $table = $this->get_table_name( $v );
  21.             DB::query( "delete from ".$table." where aid=".$v );
  22.         }
  23.     }

  24.     public function post_edit( )
  25.     {
  26.         if ( isset( $_POST['attachipdate'] ) )
  27.         {
  28.             $this->post_edit_update( );
  29.         }
  30.     }

  31.     public function post_edit_update( )
  32.     {
  33.         $tid = addslashes( $_POST['tid'] );
  34.         $updates = $_POST['attachipdate'];
  35.         foreach ( $updates as $k => $v )
  36.         {
  37.             $k = addslashes( $k );
  38.             $this->delete_the_attachment( $k );
  39.         }
  40.     }

  41.     public function get_attachment_id( $aid )
  42.     {
  43.         $ret = C::t( "forum_attachment" )->fetch( $aid );
  44.         if ( empty( $ret ) )
  45.         {
  46.             return 0;
  47.         }
  48.         return $ret['tid'];
  49.     }

  50.     public function get_store_attachment( $tid, $aid )
  51.     {
  52.         $tid = $this->get_attachment_id( $aid );
  53.         $sql = "select * from ".DB::table( "forum_attachment_".substr( $tid, -1 ) );
  54.         $sql = $sql." where aid=".$aid;
  55.         $attachment = DB::fetch_first( $sql );
  56.         if ( !empty( $attachment ) )
  57.         {
  58.             $this->save_to_baidu_yun( $attachment, FALSE );
  59.         }
  60.     }

  61.     public function delete_the_attachment( $aid )
  62.     {
  63.         $table = $this->get_table_name( $aid );
  64.         DB::query( "delete from ".$table." where aid=".$aid );
  65.     }

  66.     public function save_to_baidu_yun( $attachment, $check = TRUE )
  67.     {
  68.         if ( $check )
  69.         {
  70.             $is_saved = $this->has_stored( $attachment['aid'] );
  71.             if ( $is_saved )
  72.             {
  73.                 return $is_saved;
  74.             }
  75.         }
  76.         if ( !isset( $attachment['url'] ) )
  77.         {
  78.             $attach = C::t( "common_setting" )->fetch( "attachurl" )."/forum/";
  79.             $attachment['url'] = $attach;
  80.         }
  81.         $data = array( );
  82.         $data['aid'] = $attachment['aid'];
  83.         $data['is_ok'] = 0;
  84.         $data['tid'] = $attachment['tid'];
  85.         $data['path'] = $attachment['url'].$attachment['attachment'];
  86.         $data['path'] = $data['path']."|fs_".$attachment['aid']."_".$attachment['filename'];
  87.         $table = $this->get_table_name( $attachment['aid'], FALSE );
  88.         DB::insert( $table, $data, TRUE );
  89.         return TRUE;
  90.     }

  91.     public function get_attachment( $aid )
  92.     {
  93.         $sql = "select path from ".$this->get_table_name( $aid )." where aid=".$aid." and is_ok = 1";
  94.         $ret = DB::fetch_first( $sql );
  95.         if ( empty( $ret ) )
  96.         {
  97.             return;
  98.         }
  99.         return $ret['path'];
  100.     }

  101.     public function get_the_store_attachment( $aid )
  102.     {
  103.         $sql = "select is_ok,path from ".$this->get_table_name( $aid )." where aid=".$aid;
  104.         $ret = DB::fetch_first( $sql );
  105.         if ( empty( $ret ) )
  106.         {
  107.             return;
  108.         }
  109.         return $ret;
  110.     }

  111.     public function has_stored( $aid )
  112.     {
  113.         $sql = "select id from ".$this->get_table_name( $aid )." where aid=".$aid;
  114.         $ret = DB::fetch_first( $sql );
  115.         if ( !$ret )
  116.         {
  117.             return FALSE;
  118.         }
  119.         return TRUE;
  120.     }

  121.     public function get_table_name( $aid, $pre = TRUE )
  122.     {
  123.         $aid = intval( $aid );
  124.         if ( $pre )
  125.         {
  126.             return DB::table( "baidu_yun_attachment_".substr( $aid, -1 ) );
  127.         }
  128.         return "baidu_yun_attachment_".substr( $aid, -1 );
  129.     }

  130.     public function get_http_url( $path, $access_token )
  131.     {
  132.         if ( CHARSET != "utf-8" )
  133.         {
  134.             $path = mb_convert_encoding( $path, "utf-8", CHARSET );
  135.         }
  136.         $http = "https://pcs.baidu.com/rest/2.0/pcs/file?method=download";
  137.         $http = $http."&path=".urlencode( $path );
  138.         $http = $http."&access_token=".$access_token;
  139.         return $this->getEnCodeUrl( $http );
  140.     }

  141.     public function my_parse_attach( $message )
  142.     {
  143.         preg_match_all( "~zoomfile=\"(.*?)\"~", $message, $attach );
  144.         if ( isset( $attach[1], $attach[1] ) )
  145.         {
  146.             return $message;
  147.         }
  148.         preg_match_all( "~aid=\"(\\d+)\"~", $message, $aid );
  149.         if ( empty( $aid[1] ) )
  150.         {
  151.             return $message;
  152.         }
  153.         foreach ( $attach[1] as $k => $v )
  154.         {
  155.             $id = $aid[1][$k];
  156.             $table = "baidu_yun_attachment_".substr( $id, -1 );
  157.             $sql = "select path,is_ok from ".DB::table( $table )." where aid=".$id;
  158.             $rs = DB::fetch_first( $sql );
  159.             if ( empty( $rs ) || !$rs['is_ok'] )
  160.             {
  161.             }
  162.             else
  163.             {
  164.                 $replace = $this->get_http_url( BAIDU_YUN_PATH.$rs['path'], BAIDU_YUN_TOKEN );
  165.                 $message = str_replace( $v, $replace, $message );
  166.             }
  167.         }
  168.         return $message;
  169.     }

  170.     public function get_unused_attachment( $aid )
  171.     {
  172.         $attachment = C::t( "forum_attachment_unused" )->fetch( $aid );
  173.         return $attachment;
  174.     }

  175. }

  176. if ( !defined( "IN_DISCUZ" ) )
  177. {
  178.     exit( "Access Denied" );
  179. }
  180. ?>
复制代码


帖子地址: 

本文来源于草根吧源码论坛 www.caogen8.co,欢迎大家下载。
如果您没有贡献需要充值,可以直接在线充值,点击充值
如果你需要加入本站赞助VIP会员,可以直接在线开通,点击开通
如果找不到您要的资源,请搜索一下,点击搜索
回复

举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 用百度帐号登录 一键登录:

本版积分规则

收藏帖子 返回列表 搜索
快速回复 返回顶部 返回列表