www.gusucode.com > 网猫影视系统NetMao Movie 4.6.6 开源版源码程序 > upload/admin/global.func.php
<?php /* *###################################### * Netmao Movie 4.x - NetMao Movie System * Copyright (c) 2007-2008 NetMao.cn * For further information go to http://www.netmao.cn/ * This copyright notice must stay intact for use. *###################################### */ if(!defined('IN_NetMao')) exit('Access Denied'); @set_time_limit(600); function nmsg($message, $url_forward = '', $msgtype = 'message') { extract($GLOBALS, EXTR_SKIP); eval("\$message = \"".(isset($msglang[$message]) ? $msglang[$message] : $message)."\";"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>NetMao NMsg</title><meta http-equiv="Content-Type" content="text/html; charset=<?=$charset?>"> <link href="./images/admin/style.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="500" height="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> </td> </tr> </table> <table width="500" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td> <table width="100%" border='0' align='center' cellpadding='1' cellspacing='1' class="tableborder"> <tr><th height="25">NetMao<?=$cplang[netmao_message]?></th></tr> <tr align='center'><td height='100' valign='middle' bgcolor="#FFFFFF"><br><br><?=$message?><br><br> <?php if ($msgtype=='form'){ ?> <form method="post" action="<?=$url_forward ?>"> <input type="submit" name="confirmed" value="<?=$cplang[ok]?>"> <input name="button" type="button" onClick="history.go(-1);" value="<?=$cplang[cancel]?>"> </form><br> <?php }elseif ($msgtype=='back'){ ?> <br><a href="javascript:history.go(-1);" ><?=$cplang[message_return]?></a> <?php }elseif($url_forward){ ?> <br> <a href="<?=$url_forward?>"><?=$cplang[message_redirect]?></a> <script>setTimeout("redirect('<?=$url_forward ?>');", 1250);</script> <?php } ?> </td></tr> </table> </td></tr> </table> <table width="500" height="60" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="center"><?=NetMao_CP_CopyRight?> </td> </tr> </table> <script language="JavaScript">function redirect(url) {window.location.replace(url);}</script> </body> </html> <?php exit(); } function nmcptpl($tplfile){ extract($GLOBALS, EXTR_SKIP); ?> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=<?=$charset?>"><link rel="stylesheet" type="text/css" href="./images/admin/style.css"><title>NetMao Movie</title></head><body> <?php $netmao_tpl_file=NetMao_ROOT.'./admin/tpl/'.$tplfile.'.tpl.php'; if(!file_exists($netmao_tpl_file)){ nmsg('tpl_file_invalid','','back'); } @clearstatcache($netmao_tpl_file); include $netmao_tpl_file; echo NetMao_CP_CopyRight."<script language=JavaScript src=./inc/js/common.js></script></body></html>"; exit(); } function sqldumptable($table, $startfrom = 0, $currsize = 0) { global $db, $sizelimit, $startrow, $extendins, $sqlcompat, $sqlcharset, $dumpcharset, $usehex; $offset = 300; $tabledump = ''; if(!$startfrom) { $tabledump = "DROP TABLE IF EXISTS $table;\n"; $createtable = $db->query("SHOW CREATE TABLE $table"); $create = $db->fetch_row($createtable); $tabledump .= $create[1]; if($sqlcompat == 'MYSQL41' && $db->version() < '4.1') { $tabledump = preg_replace("/TYPE\=(.+)/", "ENGINE=\\1 DEFAULT CHARSET=".$dumpcharset, $tabledump); } if($db->version() > '4.1' && $sqlcharset) { $tabledump = preg_replace("/(DEFAULT)*\s*CHARSET=.+/", "DEFAULT CHARSET=".$sqlcharset, $tabledump); } $query = $db->query("SHOW TABLE STATUS LIKE '$table'"); $tablestatus = $db->fetch_array($query); $tabledump .= ($tablestatus['Auto_increment'] ? " AUTO_INCREMENT=$tablestatus[Auto_increment]" : '').";\n\n"; if($sqlcompat == 'MYSQL40' && $db->version() >= '4.1') { if($tablestatus['Auto_increment'] <> '') { $temppos = strpos($tabledump, ','); $tabledump = substr($tabledump, 0, $temppos).' auto_increment'.substr($tabledump, $temppos); } if($tablestatus['Engine'] == 'MEMORY') { $tabledump = str_replace('TYPE=MEMORY', 'TYPE=HEAP', $tabledump); } } } $tabledumped = 0; $numrows = $offset; if($extendins =='0') { while($currsize + strlen($tabledump) < $sizelimit * 1000 && $numrows == $offset) { $tabledumped = 1; $rows = $db->query("SELECT * FROM $table LIMIT $startfrom, $offset"); $numfields = $db->num_fields($rows); if($usehex) { $fields=$db->query("SHOW FIELDS FROM $table"); while ($fieldrows = $db->fetch_row($fields)) { $stringfield[] = preg_match('/char|text/i', $fieldrows[1]); } } $numrows = $db->num_rows($rows); while($row = $db->fetch_row($rows)) { $comma = ''; $tabledump .= "INSERT INTO $table VALUES ("; for($i = 0; $i < $numfields; $i++) { $tabledump .= $comma.($usehex ? ($row[$i] != '' && $stringfield[$i] ? '0x'.bin2hex($row[$i]) : '\''.$row[$i].'\'') : '\''.mysql_escape_string($row[$i]).'\''); $comma = ','; } $tabledump .= ");\n"; } $startfrom += $offset; } } else { while($currsize + strlen($tabledump) < $sizelimit * 1000 && $numrows == $offset) { $tabledumped = 1; $rows = $db->query("SELECT * FROM $table LIMIT $startfrom, $offset"); $numfields = $db->num_fields($rows); if($usehex) { $fields=$db->query("SHOW FIELDS FROM $table"); while ($fieldrows = $db->fetch_row($fields)) { $stringfield[] = preg_match('/char|text/i', $fieldrows[1]); } } if($numrows = $db->num_rows($rows)) { $tabledump .= "INSERT INTO $table VALUES"; $commas = ''; while($row = $db->fetch_row($rows)) { $comma = ''; $tabledump .= $commas." ("; for($i = 0; $i < $numfields; $i++) { $tabledump .= $comma.($usehex ? ($row[$i] != '' && $stringfield[$i] ? '0x'.bin2hex($row[$i]) : '\''.$row[$i].'\'') : '\''.mysql_escape_string($row[$i]).'\''); $comma = ','; } $tabledump .= ')'; $commas = ','; } $tabledump .= ";\n"; } $startfrom += $offset; } } $startrow = $startfrom; $tabledump .= "\n"; return $tabledump; } function splitsql($sql) { $sql = str_replace("\r", "\n", $sql); $ret = array(); $num = 0; $queriesarray = explode(";\n", trim($sql)); unset($sql); foreach($queriesarray as $query) { $queries = explode("\n", trim($query)); foreach($queries as $query) { $ret[$num] .= $query[0] == "#" ? NULL : $query; } $num++; } return($ret); } function istpldir($dir) { return is_dir(NetMao_ROOT.'./'.$dir) && !in_array(substr($dir, -1, 1), array('/', '\\')) && strpos(realpath(NetMao_ROOT.'./'.$dir), realpath(NetMao_ROOT.'./templates')) === 0; } function dir_writeable($dir) { if(!is_dir($dir)) { @mkdir($dir, 0777); } if(is_dir($dir)) { if($fp = @fopen("$dir/test.test", 'w')) { @fclose($fp); @unlink("$dir/test.test"); $writeable = 1; } else { $writeable = 0; } } return $writeable; } function file_write($filename,$content){ if($file_name=fopen($filename,"w")){ flock($file_name,LOCK_EX); $file_content=fwrite($file_name,$content); fclose($file_name); return 1 ; }else{ return 0 ; } } function nmtohtml($filename, $tplfile){ extract($GLOBALS, EXTR_SKIP); ob_start(); include template($tplfile, $templateid, $tpldir); $data=ob_get_contents(); ob_clean(); $data=stripslashes($data); file_write($filename,$data); } function del_file($file){ global $site_mdir; if(!eregi("images/",$file)){ $delete = @unlink($file); if(@file_exists($file)){ $filesys = eregi_replace("/","\\",$file); $delete = @system("del $filesys"); if(@file_exists($file)){ $delete = @chmod ($file, 0777); $delete = @unlink($file); $delete = @system("del $filesys"); } } @clearstatcache(); } } function sizecount($filesize) { if($filesize >= 1073741824) { $filesize = round($filesize / 1073741824 * 100) / 100 . ' G'; } elseif($filesize >= 1048576) { $filesize = round($filesize / 1048576 * 100) / 100 . ' M'; } elseif($filesize >= 1024) { $filesize = round($filesize / 1024 * 100) / 100 . ' K'; } else { $filesize = $filesize . ' bytes'; } return $filesize; } function fileext($filename) { return substr(strrchr($filename, '.'), 1); } function file_ext($fileext,$exts){ $exts=explode("|",$exts); foreach($exts AS $ext){ if(strtolower($fileext)==strtolower($ext)){ return strtolower($ext); }else{ $ext=0; } } return strtolower($ext); } function tplext($filename) { return substr(strstr($filename, '.'), 1); } ?>