redirect_header( XOOPS_URL."/modules/".$mydirname."/index.php?page=singlefile?cid=$cid&lid=$lid", 20, _MD_D3DOWNLOADS_NOPERMISETOLINK ); exit() ; } } $user_access = new user_access( $mydirname ) ; $whr_cat = "d.cid IN (".implode(",", $user_access->can_read() ).")" ; $mydownload = new MyDownload( $mydirname, $whr_cat, $lid ) ; if( ! $mydownload->return_lid() ) { d3download_delete_cache_of_categories( $mydirname ) ; redirect_header( XOOPS_URL."/modules/".$mydirname."/", 20, _MD_D3DOWNLOADS_NOMATCH ) ; exit() ; } if ( xoops_refcheck() ) $mydownload->Hits_Count( $lid ) ; d3download_delete_cache_of_categories( $mydirname ) ; switch( $second ) { case false : $url = $mydownload->return_url('Show') ; $filename = $mydownload->return_filename('Show') ; $ext = $mydownload->return_ext('Show') ; break ; case true : $url = $mydownload->return_file2('Show') ; $filename = $mydownload->return_filename2('Show') ; $ext = $mydownload->return_ext2('Show') ; break ; } d3download_download( $url, $filename, $ext, 0 ) ;
function d3download_import_from_d3download( $mydirname , $import_mid, $uploads_dir_error ) { $db =& Database::getInstance() ; include_once dirname( dirname(__FILE__) ).'/include/mytable.php' ; if( ! empty( $uploads_dir_error ) ){ redirect_header( XOOPS_URL."/modules/$mydirname/admin/index.php?page=import" , 10 , _MD_D3DOWNLOADS_FILE_CONFIGERROR ) ; exit ; } else { $module_handler = & xoops_gethandler( 'module' ) ; $from_module =& $module_handler->get( $import_mid ) ; $from_dirname = $from_module->getVar('dirname') ; foreach( $GLOBALS['d3download_tables'] as $table_name => $columns ) { $to_table = $db->prefix( $mydirname.'_'.$table_name ) ; $from_table = $db->prefix( $from_dirname.'_'.$table_name ) ; $columns4sql = implode( ',' , $columns ) ; $db->query( "DELETE FROM `$to_table`" ) ; $irs = $db->query( "INSERT INTO `$to_table` ( $columns4sql ) SELECT $columns4sql FROM `$from_table`" ) ; if( ! $irs ) d3download_import_errordie( $mydirname ) ; } // upload files delete d3download_delete_uploadfiles_for_import( $mydirname ); // upload files copy d3download_copy_uploadfiles_for_import( $mydirname, $from_dirname ); // convert url d3download_copy_converturl_for_import( $mydirname, $from_dirname ); // make serialize data include_once dirname( dirname(__FILE__) ).'/include/common_functions.php' ; d3download_make_serialize_data( $mydirname ); // cache files delete d3download_delete_cache_of_categories( $mydirname ) ; } }
function d3download_delete_lid( $mydirname, $lid ) { $db =& Database::getInstance() ; $module_handler =& xoops_gethandler('module'); $config_handler =& xoops_gethandler('config'); $module =& $module_handler->getByDirname( $mydirname ); $mod_config =& $config_handler->getConfigsByCat( 0, $module->getVar( 'mid' ) ); $res = $db->query("SELECT lid, filename, file2, submitter FROM ".$db->prefix( $mydirname."_downloads")." WHERE lid=$lid" ) ; while( list( $id, $fname, $fil2, $uid ) = $db->fetchRow( $res ) ) { $filename = htmlspecialchars( $fname , ENT_QUOTES ) ; $file2 = htmlspecialchars( $fil2 , ENT_QUOTES ) ; $submitter = intval( $uid ) ; // 「投稿をユーザーの投稿数に反映」が有効な場合、投稿数に反映 if( $submitter > 0 && ! empty( $mod_config['plus_posts'] ) ) { d3download_decrementPost( $submitter ) ; } $db->query( "DELETE FROM ".$db->prefix( $mydirname."_downloads")." WHERE lid=$id" ) or die( "DB error: DELETE downloads table." ) ; $db->query( "DELETE FROM ".$db->prefix( $mydirname."_broken")." WHERE lid=$id" ) or die( "DB error: DELETE broken table." ) ; $db->query( "DELETE FROM ".$db->prefix( $mydirname."_downloads_history")." WHERE lid=$id" ) or die( "DB error: DELETE downloads_history table." ) ; $db->query( "DELETE FROM ".$db->prefix( $mydirname."_votedata")." WHERE lid=$id" ) or die( "DB error: DELETE votedata table." ) ; } if( ! empty( $filename ) || ! empty( $file2 ) ){ d3download_delete_uploadfiles( $mydirname, $lid ); } d3download_delete_cache_of_categories( $mydirname ) ; }
// THIS PAGE CAN BE CALLED ONLY FROM D3DOWNLOADS if( $xoopsModule->getVar('dirname') != $mydirname ) die( 'this page can be called only from '.$mydirname ) ; // PERMISSION ERROR $module_handler =& xoops_gethandler( 'module' ) ; $module =& $module_handler->getByDirname( $mydirname ) ; $moduleperm_handler =& xoops_gethandler( 'groupperm' ) ; $mid = $module->getVar('mid') ; if( ! is_object( @$xoopsUser ) || ! $moduleperm_handler->checkRight( 'module_admin' , $mid , $xoopsUser->getGroups() ) ) { die( 'Only administrator can use this feature.' ) ; } if( ! empty( $_POST['copy'] ) ){ if ( ! $xoopsGTicket->check( true , 'd3downloads' ) ) { redirect_header(XOOPS_URL.'/modules/'.$mydirname.'/admin/index.php',3,$xoopsGTicket->getErrors()); } $error = 0 ; $file_manager = new file_manager( $mydirname ) ; $cid = isset( $_POST['cid'] ) ? intval( $_POST['cid'] ) : 0 ; $lid = isset( $_POST['lid'] ) ? intval( $_POST['lid'] ) : 0 ; $taget_mid = isset( $_POST['copy_mid'] ) ? intval( $_POST['copy_mid'] ) : 0 ; $taget_category = isset( $_POST['copy_category_id'][$taget_mid] ) ? intval( $_POST['copy_category_id'][$taget_mid] ) : 0 ; if( empty( $taget_mid ) || empty( $taget_category ) ) $error = true ; else $to_dirname = $file_manager->copy_execution( $taget_mid, $taget_category, $lid ) ; if( empty( $error ) ) d3download_delete_cache_of_categories( $to_dirname ) ; redirect_header( XOOPS_URL."/modules/$mydirname/index.php?page=modfile&cid=$cid&lid=$lid" , 2 , $error ? _MD_D3DOWNLOADS_NO_COPY : _MD_D3DOWNLOADS_COPYED ) ; exit(); } ?>
function d3download_approval_insertdb( $mydirname, $myparams ) { require_once dirname( dirname(__FILE__) ).'/class/db_download.php' ; require_once dirname( dirname(__FILE__) ).'/include/common_functions.php' ; include_once dirname( dirname(__FILE__) ).'/include/upload_functions.php' ; $db =& Database::getInstance() ; global $xoopsUser , $xoopsModuleConfig ; // Initialization $error = 0 ; foreach ( $myparams as $key=>$value ){ $$key = $value; } // MAKE LINK SQL if( ! empty( $requestid ) && empty( $modify ) && empty( $lid ) ) { $new_lid = $db->genId($db->prefix( $mydirname."_downloads" )."_lid_seq"); $make_link = new db_download( $db->prefix( $mydirname."_downloads" ) , "lid", $new_lid ) ; $newid = $make_link->db_insert( $set4sql ); if( empty( $newid ) ) $error = $requestid ; d3download_convert_for_newid( $mydirname, $newid, $post_url, $post_file2, $submitter ); // Category title include_once dirname( dirname(__FILE__) ).'/class/mycategory.php' ; $mycategory = new MyCategory( $mydirname, 'Show', $cid ) ; $ctitle = $mycategory->return_title() ; // Define tags for notification message $tags = array(); $tags = array( 'POSTER_UNAME' => $postname , 'POST_TITLE' => $title , 'POST_BODY' => $body , 'POST_URL' => XOOPS_URL . '/modules/' . $mydirname . '/index.php?page=singlefile&cid=' . $cid . '&lid=' . $newid, 'CAT_TITLE' => $ctitle , 'CAT_URL' => XOOPS_URL . '/modules/' . $mydirname . '/index.php?cid=' . $cid , ) ; d3download_main_trigger_event( $mydirname , 'global' , 0 , 'newpost' , $tags, 0 ) ; d3download_main_trigger_event( $mydirname , 'category' , $cid , 'newpost' , $tags, 0 ) ; d3download_main_trigger_event( $mydirname , 'category' , $cid , 'newpostfull' , $tags, 0 ) ; if( ! empty( $notify ) ){ d3download_main_trigger_event( $mydirname , 'global' , $requestid , 'approve' , $tags, 0 ) ; } // Increment Post if( $submitter > 0 && ! empty( $xoopsModuleConfig['plus_posts'] ) ) { $user = new XoopsUser( $submitter ) ; $user->incrementPost() ; } } elseif( ! empty( $requestid ) && ! empty( $modify ) && ! empty( $lid ) ) { // UPDATE SQL $make_link = new db_download( $db->prefix( $mydirname."_downloads" ) , "lid", $lid ) ; $count = $make_link->db_getrowsnum( $lid ); if( $count > 0 ){ require_once dirname( dirname(__FILE__) ).'/class/history_download.php' ; $history = new history_download( $mydirname ) ; $history->history_Insert_DB( $lid ) ; $result = $make_link->db_update( $set4sql, $lid ); if( ! $result ) $error = $lid ; $history->history_Delete( $lid ) ; if( ! empty( $notify ) ){ // Define tags for notification message $tags = array(); $tags = array( 'POST_TITLE' => $title , 'POST_URL' => XOOPS_URL . '/modules/' . $mydirname . '/index.php?page=singlefile&cid=' . $cid . '&lid=' . $lid, ) ; d3download_main_trigger_event( $mydirname , 'global' , $lid , 'approve' , $tags, 0 ) ; } } } $sql = "SELECT COUNT(*) FROM ".$db->prefix( $mydirname."_unapproval" )." WHERE requestid='".$requestid."'"; list( $count ) = $db->fetchRow( $db->query( $sql ) ); if( $count > 0 ){ $sql = "DELETE FROM ".$db->prefix($mydirname."_unapproval")." WHERE requestid = ".$requestid; $result = $db->query($sql); if( ! $result ) $error = $requestid ; } d3download_delete_cache_of_categories( $mydirname ) ; redirect_header( XOOPS_URL."/modules/$mydirname/admin/index.php?page=approvalmanager" , 2 , $error ? sprintf( _MD_D3DOWNLOADS_ERROR_MESSEAGE , $error ) : _MD_D3DOWNLOADS_SUBMIT_APPROVED ) ; exit(); }