⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 savepage.php

📁 一款基于PHP的网络日记程序。WikyBlog支持:多用户的 BLOG
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		if($numc < 1){			message('UNABLE_TO_SAVE','4');			return false;		}				//	all links		$query = 'UPDATE '.$wbTables['all_links'];		$query .= ' SET `to_id` = "'.$saveObj->file_id.'" ';		$query .= ' WHERE `to_link` = "'.wbDB::escape($saveObj->uniqStorage).'" ';		wbDB::runQuery($query);	}		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	//	//			IV)	After save organisation	// 			message('SAVED_FILE');		if( $_SESSION['userlevel'] < 2 ){			$_SESSION['lastSave'] = array($pageKey=>time());		}						////	allSearch			allSearch::update($saveObj);				////	fileUsage			$pageOwner += array('fileUsage'=>0);			if( !is_array($pageOwner['fileUsage']) ){				unset($pageOwner['fileUsage']);			}			$newSize = objectSave::getSize($saveObj);			$table = $saveObj->dbInfo['dbTable'];						if( empty($pageOwner['fileUsage'][$table]) ){				$pageOwner['fileUsage'][$table] = $newSize;			}else{				$pageOwner['fileUsage'][$table] += ($newSize-$oldSize);			}			if( $pageOwner['fileUsage'][$table] < 0){				unset($pageOwner['fileUsage'][$table]);			}							////	Hidden? 				if( strpos($saveObj->flags,'hidden') === false){				if( $oldKeywords != $saveObj->keywords ){					includeFile('tool/Tags.php');					updateTags($oldKeywords,$saveObj->keywords);				}			}elseif( !empty($saveObj->keywords) ){				message('HIDDEN_FILE3');			}					////	Blog This			if( isOwner(false,false)				&& isset($pageOwner['isBlog']) 				&& ($pageOwner['isBlog'] =='On')				&& isset($pageOwner['sBlog'])				&& ($pageOwner['sBlog'] == 'On')				&& ($saveObj->objectType == $pageOwner['blogT'])				&& (strtolower($saveObj->title) != 'home')				&& (strpos($saveObj->flags,'unchecked') === false)				&& (strpos($saveObj->flags,'hidden') === false)){					message(wbLinks::local($saveObj->uniqLink.'?cmd=blogthis',$lang['blog_this']));			}					////	all_links			objectSave::links($saveObj);			$saveObj->modified= $wbNow;	return true;}class objectSave{		//	//		Working on for version 1.4	function links(&$saveObj){		global $wbTables,$dbInfo,$wbLinkPrefixStor;		$linkCheck = array();				$query = 'SELECT LOWER(`to_link`) as `to_link` FROM '.$wbTables['all_links'].' where `file_id` = "'.$saveObj->file_id.'" ';		$result = wbDB::runQuery($query);		$oldLinks = array();		while($row = mysql_fetch_assoc($result) ){			if( isset($saveObj->inLinks[$row['to_link']]) ){				unset($saveObj->inLinks[$row['to_link']]);			}else{				$oldLinks[] = ' (`to_link` = "'.wbDB::escape($row['to_link']).'") ';			}		}				//Delete Removed Links		if( count($oldLinks) > 0 ){			$query = 'DELETE FROM '.$wbTables['all_links'];			$query .= ' WHERE ';			$query .= ' `file_id` = "'.$saveObj->file_id.'" ';			$query .= ' AND ( ';			$query .= implode(' OR ',$oldLinks);			$query .= ' )';			wbDB::runQuery($query);		}				if( count($saveObj->inLinks) < 1){			return;		}				//this will only be new links		foreach($saveObj->inLinks as $rev => $link){						if( $hash = strpos($link,'#') ){				$link = substr($link,0,$hash);				$rev = substr($rev,0,$hash);			}			if($rev == $saveObj->uniqStorage ){ //don't save link to self				continue;			}						$link = toStorage($link);			$pathArray = interpretPath($link);						if( !isset($dbInfo[$pathArray['type']]['dbTable']) ){				continue;			}						if( count($pathArray['path']) < 1){				$link = str_replace('//','/',$link.'/Home');			}						$space =& $pathArray['type'];						//get to_id			$query = 'SELECT '.$dbInfo[$space]['dbTable'].'.`file_id` ';			$query .= ' FROM '.$dbInfo[$space]['dbTable'];			$query .= ' INNER JOIN '.$wbTables['all_files'];			$query .= ' USING(`file_id`) ';			//might be able to use keys instead of uniqLink			$query .= ' WHERE '.wbData::dbInfo($space,'uniqLink').' = "'.wbDB::escape($link).'" '; 			$query .= ' LIMIT 1 ';			$result = wbDB::runQuery($query);			$to_id = false;			if( $row = mysql_fetch_assoc($result) ){				$to_id = $row['file_id'];			}						$query = 'INSERT IGNORE INTO '.$wbTables['all_links'].' SET ';			$query .= ' `file_id` = "'.$saveObj->file_id.'" ';			$query .= ', `to_link` = "'.wbDB::escape($link).'" ';			$query .= ', `to_owner` = "'.$pathArray['owner'].'" ';			if( $to_id ){				$query .= ', `to_id` ="'.$to_id.'" ';			}			wbDB::runQuery($query);		}	}	function getSize(&$saveObj){				//Starting size should include dateTime values		//	= (4 bytes)* 3 = 12 insignificant compared to the following		//-this does not account for history tables		//-flags are stored in a SET which does not have the same storage requirements as VARCHAR, BLOB, etc		//-summary is more of a history concern						$size = 12;		$size += strlen($saveObj->ip);		$size += strlen($saveObj->username);		$values = array_merge($saveObj->userValues,$saveObj->dbValues);		foreach($values as $key => $nothing){			$size += strlen($saveObj->$key)+1; //+1 is nit-picky but true, +2 for blobs but we'll let it go		}				//	Round off so the $pageOwner['fileUsage'] 		//	isn't updated with every single small change		if( $size < 1000 ){			$n = 2; //better for small files		}else{			$n = 5; //sufficient for larger files		}		//$n = 5; 		//round to every 500 bytes		//$n = 2; 		//round to every 100 bytes		//$n = 10/3;	//round to every 333 bytes		//$n = 2.5;		//round to every 250		$size = round($size/$n,-2)*$n;		return $size;	}}////					SAVING////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////					COPY////!! should probably just be part of toolEditPage.php//function copyPage(){	global $dbObject;	global $page;	global $pageOwner;		//	2)	Signed in?	if( !isset($_SESSION['username']) ){		message('LOGIN_REQUIRED');		return false;	}		//	1)	Check Path	//$toPage = $_GET['to'];	$toPage = $_POST['to'];	if( wbStrpos($toPage,'../') !== false){		message('INVALID_PATH',$toPage);		return false;	}	$page->displayTitle = 'Copy to '.$toPage;			//Change the owner	$fromUrl = $dbObject->uniqLink;	$dbObject->owner = $_SESSION['username'];	$dbObject->setUniqLink();		//	3)	Change Edit Link	$pos = strrpos($dbObject->uniqLink,'/');	if( $pos == false){		message('INVALID_PATH',$toPage);		return false;	}		// Add $toPage to end of $stripped	$stripped = wbSubstr($dbObject->uniqLink,0,$pos+1);	$newPath = $stripped.toStorage($toPage);	message('COPY_TO',$fromUrl,$newPath);		//Reset Object Keys from $newPath	$tmp = interpretPath($newPath);	$dbObject->setKeys($tmp); // do this to set the title, or subject $dbObject values		//Reset the key information 	$dbObject->links = array();//need to reset it, should probably be in the $dbObject setLinks function	$dbObject->setUniqLink();	$dbObject->checkKeys();	$dbObject->setLinks();		$dbObject->modified = '';		includeFile('tool/EditPage.php');	return;}//!! instead of create a path, parsing it, calling setKeys() and setLinks() ...//	we could just set one of the keys and uniqLink to the new value then call setLinks()////					COPY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////					FLOW//global $dbObject,$lang, $wbParser;if( !cookies() ){	message('COOKIES_REQUIRED');	return;}switch( $page->userCmd ){			case 'save'://maps don't use $lang['save']	case wbStrtolower($lang['save']):		$edit = true;		//try to save the object		if( fileToDisk($dbObject) ){			$field = $dbObject->outputObj();			$dbObject->addFooter($field);			$edit = false;		}elseif( isset($_GET['wb']) ){			$edit = false;		}				// need to send the the edit form again if it's not an xmlHttp request		if( $edit ){			includeFile('tool/EditPage.php');		}			break;	case 'copy':		copyPage();	break;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -