当前位置: 首页>>代码示例>>PHP>>正文


PHP wiki_class_load函数代码示例

本文整理汇总了PHP中wiki_class_load函数的典型用法代码示例。如果您正苦于以下问题:PHP wiki_class_load函数的具体用法?PHP wiki_class_load怎么用?PHP wiki_class_load使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了wiki_class_load函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: on_write_head

	/**
	 * 
	 * 문서 등록/수정 시 처리
	 * 
	 * @param array $params {@link NarinEvent} 에서 전달하는 파라미터
	 */
	public function on_write_head($params) {
		$wr_content = $params['write']['wr_content'];
		$member = $this->member;
		$setting = $this->plugin_info->getPluginSetting();		
		$allow_level = $setting['allow_level']['value'];
		$allow_iframe_level = $setting['allow_iframe_level']['value'];
		$allow_script_level = $setting['allow_script_level']['value'];
		
		if($allow_level > $member['mb_level'])
		{
			if(preg_match("/<html>/i", $wr_content)) {
				$wikiControl =& wiki_class_load("Control");
				$wikiControl->error("권한 없음", "접근할 수 없는 내용을 가지고 있습니다. (html)");
			}
		}
		
		if($allow_iframe_level > $member['mb_level'])
		{
			if(preg_match("/<iframe([^\>]*)/i", $wr_content)) {
				$wikiControl =& wiki_class_load("Control");
				$wikiControl->error("권한 없음", "접근할 수 없는 내용을 가지고 있습니다. (iframe)");
			}			
		}
		if($allow_script_level > $member['mb_level'])
		{
			if(preg_match("/<script([^\>]*)/i", $wr_content)) {
				$wikiControl =& wiki_class_load("Control");
				$wikiControl->error("권한 없음", "접근할 수 없는 내용을 가지고 있습니다. (script)");
				exit;
			}					
		}				
	}
开发者ID:J2paper,项目名称:narinwiki,代码行数:38,代码来源:action.php

示例2: on_write_update_tail

	/**
	 *
	 * 문서 등록/수정 시 처리
	 *
	 * @param array $params {@link NarinEvent} 에서 전달하는 파라미터
	 */
	public function on_write_update_tail($params) {
		$wr_id = $params['wr_id'];
		$wr_content = $params['write']['wr_content'];
		$member = $this->member;
		$setting = $this->plugin_info->getPluginSetting();
		$allow_level = $setting['dataentry_allow_level']['value'];
	
		if($allow_level > $member['mb_level'])
		{
			$patternB = '/---- dataentry (.*?)----/s';
			$patternI = '/{{dataentry=(.*?)\?(.*?)}}/s';
				
			if(preg_match($patternB, $wr_content) || preg_match($patternI, $wr_content)) {
				$wikiControl =& wiki_class_load("Control");
				$wikiControl->error("권한 없음", "사용할 수 없는 내용이 있습니다. (dataentry)");
			}
		}
		//TODO: wiki parsing
		// ignore pre, nowiki, code, html
		$wr_content = preg_replace('/&lt;pre&gt;(.*?)&lt;\/pre&gt;/si', '', $wr_content);
		$wr_content = preg_replace('/<pre>(.*?)<\/pre>/si', '', $wr_content);
		$wr_content = preg_replace('/&lt;nowiki&gt;(.*?)&lt;\/nowiki&gt;/si', '', $wr_content);
		$wr_content = preg_replace('/<nowiki>(.*?)<\/nowiki>/si', '', $wr_content);
		$wr_content = preg_replace('/&lt;code&gt;(.*?)&lt;\/code&gt;/si', '', $wr_content);
		$wr_content = preg_replace('/<code>(.*?)<\/code>/si', '', $wr_content);
		$wr_content = preg_replace('/&lt;html&gt;(.*?)&lt;\/html&gt;/si', '', $wr_content);
		$wr_content = preg_replace('/<html>(.*?)<\/html>/si', '', $wr_content);
		
		// clear the previous one: for now no easy way to find updated dataentry.. so delete every dataentry on this page
		$sql_clear = "DELETE FROM ".$this->db_table." WHERE bo_table = '".$this->wiki['bo_table']."' AND wr_id=".$wr_id;
		sql_query($sql_clear);
		
		// find block dataentry
		$pattern = '/---- dataentry (.*?)----(.*?)----/s';
		preg_match_all($pattern, $wr_content, $matches_all, PREG_SET_ORDER);
		foreach ($matches_all as $matches) {
			$keyword = trim($matches[1]);
			$options = preg_split( '/\r\n|\r|\n/', $matches[2]);
			
			$this->insert_dataentry($wr_id, $keyword, $options);
		}
		
		// find inline dataentry
		$pattern = '/{{dataentry=(.*?)\?(.*?)}}/s';
		preg_match_all($pattern, $wr_content, $matches_all, PREG_SET_ORDER);
		foreach ($matches_all as $matches) {
			$keyword = trim($matches[1]);
			$matches[2] = str_replace('=', ":", $matches[2]);
			$options = explode("&", str_replace("&amp;", "&", $matches[2]));
				
			$this->insert_dataentry($wr_id, $keyword, $options);
		}
	}
开发者ID:J2paper,项目名称:narinwiki-plugins,代码行数:59,代码来源:action.php

示例3: get

	/**
	 * 
	 * 해당 글에 대한 캐시 반환
	 * 
	 * @param int $wr_id 글 id
	 * @return string parsing 되어 저장된 cache
	 */
	public function get($wr_id) {
		$row = sql_fetch("SELECT content FROM ".$this->wiki['cache_table']." 
							WHERE bo_table = '".$this->wiki['bo_table']."' AND wr_id = $wr_id");

		// @todo 동작 확인해야 함
		// cache 된 내용이 없으면 parsing 수행
		if(!$row) {			
			$write = sql_fetch(" select * from ".$this->wiki['write_table']." where wr_id = '$wr_id' ");
			$wikiParser =& wiki_class_load("Parser");
			$content = mysql_real_escape_string($wikiParser->parse($write));
			sql_query("INSERT INTO ".$this->wiki['cache_table']." VALUES ('', '".$this->wiki['bo_table']."', $wr_id, '$content')");
			return $content;
		}
		
		return $row['content'];
	}
开发者ID:J2paper,项目名称:narinwiki,代码行数:23,代码来源:narin.Cache.class.php

示例4: wiki_json_encode

$ns = $media->getNS($loc);

if(!$ns) {
	echo wiki_json_encode(array('code'=>-101, 'msg'=>'존재하지 않는 폴더입니다 : ' . $loc));
	exit;
}


// 권한 검사
if($ns['ns_access_level'] > $member['mb_level']) {
	$ret = array('code'=>'-1', 'msg'=>'권한 없음');
	echo wiki_json_encode($ret);
	exit;
}

$thumb =& wiki_class_load("Thumb");
$thumb_width = 30;
$thumb_height = 30;	
$files = $media->getList($loc);
foreach($files as $k=>$file) {
	if($file['img_width'] > 0) {
		$thumb_path = $thumb->getMediaThumb($loc, $filename=$file['source'], $thumb_width, $thumb_height, $quality=90, $crop=true);
		$files[$k]['thumb'] = $thumb_path;
	} else $files[$k]['thumb'] = "";
	preg_match("/\.([a-zA-Z0-9]{2,4})$/", $file['source'], $m);
	if($m[1] && file_exists(WIKI_PATH.'/imgs/media_manager/ext/'.strtolower($m[1]).'.png')) {		
		$files[$k]['ext_icon'] = $wiki['url'].'/imgs/media_manager/ext/'.strtolower($m[1]).'.png';			
	} else $files[$k]['ext_icon'] = $wiki['url'].'/imgs/media_manager/ext/_blank.png';
	$files[$k]['filesize'] = wiki_file_size($file['filesize']);
	$files[$k]['bytes'] = $file['filesize'];
}
开发者ID:J2paper,项目名称:narinwiki,代码行数:31,代码来源:media_list.php

示例5: wiki_ajax_data

 * 미디어 폴더 zip
 *
 * @package	narinwiki
 * @subpackage pages
 * @license GPL2 (http://narinwiki.org/license)
 * @author	byfun (http://byfun.com)
 * @filesource
 */
 
if(!defined("__NARIN_API__")) wiki_not_found_page();

if(!$loc || !$is_wiki_admin) wiki_ajax_error();


$loc = wiki_ajax_data($loc);
$media =& wiki_class_load("Media");
$files = $media->getList($loc);

if(empty($files)) {
	echo wiki_json_encode(array('code'=>-1, 'msg'=>'빈 폴더입니다.'));
	exit;	
}

if(!class_exists('ZipArchive')) {
	echo wiki_json_encode(array('code'=>-1, 'msg'=>'PHP 에서 ZipArchive 를 지원하지 않습니다.'));
	exit;	
}
$zip = new ZipArchive();
$name = md5(time());
$zipFile = WIKI_PATH.'/data/'.$bo_table.'/'.$name.'.zip';
开发者ID:J2paper,项目名称:narinwiki,代码行数:30,代码来源:media_zip.php

示例6: on_ajax_call

	/**
	 * 
	 * AJAX 콜에 대한 응답
	 * 
	 * ajax로 문서 lock 갱신
	 * 
	 * @param array $params {@link NarinEvent) 에서 넘겨주는 파라미터
	 */
	public function on_ajax_call($params) {

		$member = $this->member;
		
		$get = $params['get'];
		
		// 크롭 사용?
		$crop = (isset($get['nocrop']) ? false : true);
		
		// 썸네일 품질
		$quality= (isset($get['q']) && is_int($get['q']) ? $get['q'] : 90);
		
		// 패턴 처리
		$add_where = "";
		foreach($params['get'] as $k => $v) {
			if(strpos($k, '*')) {
				// *.jpg => %.jpg
				// image_* => image_%
				// image_*.jpg => image%.jpg
				$add_where = ' AND m.source LIKE "' . addslashes(str_replace('*', '%', $k)) . '"';
				break;				
			}
		}
		
		// 페이징 처리
		$paging = $get['paging'];
		$page = $get['page'];		
		if($paging > 0 && $page > 0) {
			$arg_paging = array('page'=>$page, 'page_rows'=>$paging);
		} else $arg_paging = array();

		// 너비, 높이 처리
		$width = (isset($get['width']) ? $get['width'] : $this->width);
		$height = (isset($get['height']) ? $get['height'] : $this->height);
		
		if(isset($get['width']) && !isset($get['height'])) {
			$height = -1;
		}
		if(isset($get['height']) && !isset($get['width'])) {
			$width = -1;
		}			
		
		
		// 정렬 처리
		$sort = $get['sort'];
		$possible_ordering = array('name'=>'source', 'date'=>'reg_date', 'filesize'=>'filesize', 'width'=>'img_width', 'height'=>'img_height', 'random'=>'random');		
		if(isset($possible_ordering[$sort])) {
			$order = ( isset($get['reverse']) ? 'ASC' : 'DESC' );
			$arg_ordering = array('by'=>$possible_ordering[$sort], 'order'=>$order);
		} else $arg_ordering = array('by'=>'reg_date', 'order'=>'DESC');
		
		
		// 이미지 목록 가져오기
		$path = wiki_ajax_data($get['path']);		
		$wikiMedia =& wiki_class_load('Media');
		$ns = $wikiMedia->getNS($path);
		if($ns['ns_access_level'] > $member['mb_level']) {
			echo wiki_json_encode(array('code'=>-1, 'msg'=>'권한이 없어 이미지를 표시할 수 없습니다.'));
			exit;
		}
		
		list($total, $from_record, $page_rows, $files) = $this->get_media_list($path, $add_where, $arg_paging, $arg_ordering);
				
		// 목록 정리		
		$images = array();
		$wikiThumb =& wiki_class_load('Thumb');

		foreach($files as $k=>$f) {
			if(!$f['img_width']) continue;
			list($w, $h) = $this->get_size($width, $height, $f['img_width'], $f['img_height']);
			$thumb = $wikiThumb->getMediaThumb($f['ns'], $f['source'], $w, $h, $quality, $crop);
			array_push($images, array('name'=>$f['source'], 
															  'thumb'=>$thumb, 
															  'href'=>$f['imgsrc'], 
															  'thumb_width'=>$w,
															  'thumb_height'=>$h,
															  'width'=>$f['img_width'], 
															  'height'=>$f['img_height'],
															  'filesize'=>wiki_file_size($f['filesize']),
															  'filesize_byte'=>$f['filesize'],
															  'user'=>$f['mb_id'],															  
															  'date'=>$f['reg_date']
															  ));
		}
		
		$more = 0;
		if(!empty($images) && !empty($arg_paging)) {
			if(count($images) >= $page_rows && $total != $from_record + $page_rows) $more = 1;
		}
		

		echo wiki_json_encode(array('code'=>1, 'files'=>$images, 'more'=>$more));
//.........这里部分代码省略.........
开发者ID:J2paper,项目名称:narinwiki,代码行数:101,代码来源:action.php

示例7: wiki_class_load

 * @license GPL2 (http://narinwiki.org/license)
 * @author	byfun (http://byfun.com)
 * @filesource
 */
$use_minify = true;

if($use_minify) ob_start();	
include_once "_common.php";

@mkdir(WIKI_PATH.'/data/'.$bo_table, 0707);
@mkdir(WIKI_PATH.'/data/'.$bo_table.'/files', 0707);
@mkdir(WIKI_PATH.'/data/'.$bo_table.'/thumb', 0707);

$g4['title'] = '나린위키 미디어 관리자';

$wikiConfig =& wiki_class_load("Config");
$media_setting = $wikiConfig->media_setting;

$is_admin_mode = false;
$colspan = 5;
if($is_wiki_admin && $md == 'admin') {
	$is_admin_mode = true;
	$colspan++;
}

$no_layout = true;
include_once "head.php";
?>
<style>
	html, body { background-color:#fff; }
	#media_manager_wrapper { padding:10px; background-color:#fff;}
开发者ID:J2paper,项目名称:narinwiki,代码行数:31,代码来源:media.php

示例8: wiki_ajax_data

 * @filesource
 */
include_once "_common.php";

$doc = wiki_ajax_data($doc);
$content = wiki_ajax_data($content);

list($ns, $doc, $path) = wiki_page_name(stripslashes($doc));

$wr = array('mb_id'=>$member['mb_id'],
					  'mb_level'=>$member['mb_level'],
					  'mb_name'=>$member['mb_name'],
					  'mb_nick'=>$member['mb_nick'],
					  'wr_subject'=>$doc,
					  'wr_content'=>stripslashes($content)
					 );

$parser =& wiki_class_load("Parser");
$html = $parser->parse($wr);

$no_layout = true;
ob_start();
include_once WIKI_PATH."/head.php";
echo $html;
include_once WIKI_PATH."/tail.php";
$content = ob_get_contents();
ob_clean();
echo $content;

?>
开发者ID:J2paper,项目名称:narinwiki,代码行数:30,代码来源:preview.php

示例9: _updateNamespace

	/**
	 *
	 * 폴더 이름 변경
	 *
	 * 실제 이름 변경 매소드이다.
	 * 폴더 이름을 변경하고 폴더이름 변경의 영향을 받는 백링크들을 모두 업데이트한다.
	 * 백링크 업데이트 후 문서 이력으로 남긴다.
	 *
	 * @param WikiArticle $wikiArticle {@link NarinArticle} 객체
	 * @param string $srcNS 변경전 이름
	 * @param string $toNS 변경후 이름
	 */
	function _updateNamespace($wikiArticle, $srcNS, $toNS)
	{
		$wikiHistory =& wiki_class_load("History");

		// $srcNS 에 포함된 documents 목록을 읽어온다.
		$list = $this->getList($srcNS, $withArticle = true);

		$escapedSrcNS = mysql_real_escape_string($srcNS);
		$escapedToNS = mysql_real_escape_string($toNS);

		// $srcNS / $document[] 에 대한 백 링크들을 업데이트한다.
		for($i=0; $i<count($list); $i++) {
			if($list[$i][type] == 'folder')	continue;

			$wikiArticle->fromDoc = $fromDoc = $list[$i][path];
			$wikiArticle->toDoc = preg_replace("/^(".preg_quote($srcNS, "/").")(.*?)/", $toNS, $fromDoc);
				
			// 백링크 업데이트
			$backLinks = $wikiArticle->getBackLinks($fromDoc, $includeSelf=true);
			
			for($k=0; $k<count($backLinks); $k++) {							
				$content = mysql_real_escape_string(preg_replace_callback('/(\[\[)(.*?)(\]\])/', array(&$wikiArticle, 'wikiLinkReplace'), $backLinks[$k]['wr_content']));
				// 문서 이력에 백업
				$wikiHistory->update($backLinks[$k]['wr_id'], stripcslashes($content), $this->member['mb_id'], "폴더명 변경에 따른 자동 업데이트");
				$wikiArticle->shouldUpdateCache($backLinks[$k]['wr_id'], 1);
				sql_query("UPDATE ".$this->wiki['write_table']." SET wr_content = '$content' WHERE wr_id = ".$backLinks[$k]['wr_id']."");
			}
		}
		
		sql_query("UPDATE ".$this->wiki['ns_table']." SET ns = '$escapedToNS'
				   WHERE bo_table = '".$this->wiki['bo_table']."' AND ns = '$escapedSrcNS'", false);				
		sql_query("UPDATE ".$this->wiki['nsboard_table']." SET ns = '$escapedToNS'
				   WHERE bo_table = '".$this->wiki['bo_table']."' AND ns = '$escapedSrcNS'", false);

		$this->addNamespace($toNS);
		$this->checkAndRemove($srcNS);

		$wikiChanges =& wiki_class_load("Changes");
		$wikiChanges->update("FOLDER", $srcNS, "폴더명변경 (이전)", $this->member['mb_id']);
		$wikiChanges->update("FOLDER", $toNS, "폴더명변경 (이후)", $this->member['mb_id']);
	}
开发者ID:J2paper,项目名称:narinwiki,代码行数:53,代码来源:narin.Namespace.class.php

示例10: wiki_class_load

<?
/**
 * 
 * 문서 관리 실행 스크립트
 *
 * @package	narinwiki
 * @subpackage pages
 * @license GPL2 (http://narinwiki.org/license)
 * @author	byfun (http://byfun.com)
 * @filesource
 */

include_once "./_common.php";

$wikiArticle =& wiki_class_load("Article");
$write = &$wikiArticle->getArticle($ns, $docname);
if(!$write) {
	alert("존재하지 않는 문서입니다.");
	exit;
}
if( !$is_wiki_admin && ($member['mb_id'] && $member['mb_id'] != $write['mb_id']) )
{	
	alert("권한이 없습니다");
	exit;
}

if(!$w || !$doc || !$wiki_folder_switch || !$wiki_doc ||!$write || !$wiki_access_level || (!$is_wiki_admin && $member['mb_id'] != $write['mb_id']))
{
	alert("잘못된 접근입니다.");
	exit;	
}
开发者ID:J2paper,项目名称:narinwiki,代码行数:31,代码来源:doc_update.php

示例11: wiki_class_load

	if($url) {
		header("location:$url");
	}
	
	$wiki_path = $g4['path'] . "/" . $board['bo_1'];
	$wiki_config = $wiki_path."/narin.config.php";

	// 위키 설정 & 라이브러리 로드
	if(file_exists($wiki_config)) {
		
		define("__NARINWIKI__", TRUE);
		
		include_once $wiki_config;	
		include_once $wiki_path . "/lib/narin.wiki.lib.php";	
		
		$wikiControl =& wiki_class_load("Control");
		
		// 스킨 경로 변경
		$board_skin_path = $wiki['inc_skin_path'];
		
		// 게시판 스킨 & 헤더-테일 변경
		$board['bo_include_head'] = WIKI_PATH . "/head.php";
		$board['bo_include_tail'] = WIKI_PATH . "/tail.php";				
		
		// 위키를 전체 검색에 노출 안되도록 함
		// 위키 자체 권한, 파싱 문제 등...
		$board['bo_use_search'] = 0;
				
		$wikiControl->board($scriptFile);		
						
	} // if wiki_config
开发者ID:J2paper,项目名称:narinwiki,代码行数:31,代码来源:narin.wiki.extend.php

示例12: clear

	/**
	 * 
	 * 모든변경내역 삭제
	 */
	function clear()
	{
		sql_query("DELETE FROM ".$this->wiki['changes_table']." 
					WHERE bo_table = '".$this->wiki['bo_table']."'");	
		$wikiEvent =& wiki_class_load("Event");
		$wikiEvent->trigger("CHANGES_DELETE_ALL", array());			
	}
开发者ID:J2paper,项目名称:narinwiki,代码行数:11,代码来源:narin.Changes.class.php

示例13: header

header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Settings
$targetDir = WIKI_PATH . '/data/' . $bo_table . '/files/';
// 5 minutes execution time
@set_time_limit(5 * 60);
// Get parameters
$chunk = isset($_REQUEST["chunk"]) ? $_REQUEST["chunk"] : 0;
$chunks = isset($_REQUEST["chunks"]) ? $_REQUEST["chunks"] : 0;
$fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';
if (!$loc || !trim($filename)) {
    die('{"jsonrpc" : "2.0", "error" : {"code": 901, "message": "잘못된 요청"}, "id" : "id"}');
}
$loc = wiki_ajax_data($loc);
$filename = wiki_ajax_data($filename);
$media =& wiki_class_load('Media');
$reg_file = $media->getFile(stripslashes($loc), stripslashes($filename));
if ($reg_file['id']) {
    die('{"jsonrpc" : "2.0", "error" : {"code": 902, "message": "' . $filename . ' : 같은 이름의 파일이 있습니다"}, "id" : "id"}');
}
// Clean the fileName for security reasons
$fileName = preg_replace('/[^\\w\\._]+/', '', $fileName);
// Make sure the fileName is unique but only if chunking is disabled
if ($chunks < 2 && file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName)) {
    $ext = strrpos($fileName, '.');
    $fileName_a = substr($fileName, 0, $ext);
    $fileName_b = substr($fileName, $ext);
    $count = 1;
    while (file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName_a . '_' . $count . $fileName_b)) {
        $count++;
    }
开发者ID:J2paper,项目名称:narinwiki,代码行数:31,代码来源:media_upload.php

示例14: wiki_doc_from_write

/**
 *
 * 문서 제목 문자열 반환
 *
 * 'write.skin.php' 에서 문서 제목을 설정하기 위함
 */
function wiki_doc_from_write($doc, $wr_id)
{
	$wikiArticle =& wiki_class_load("Article");
	if(!$doc) {
		$write = &$wikiArticle->getArticleById($wr_id);
		$doc = ($write[ns] == "/" ? "" : $write[ns]) . "/" . $write[wr_subject];
	}

	list($ns, $doc, $full) = wiki_page_name($doc);
	return array(get_text($doc), get_text($full));
}
开发者ID:J2paper,项目名称:narinwiki,代码行数:17,代码来源:narin.wiki.lib.php

示例15: update_level

	/**
	 *
	 * AJAX 모듈 : 권한 설정 실행
	 *
	 * @param $params /adm/admin.plugin.php 에서 넘겨주는 파라미터로 array('get'=>$_GET, 'post'=>$_POST) 임
	 */		
	public function update_level($params) {
		$update_list = wiki_ajax_data($params['get']['update_list']);
		$recursive = (wiki_ajax_data($params['get']['recursive']) == 'true');
		
		if(!$update_list) {
			echo wiki_json_encode(array('code'=>-1, 'msg'=>'잘못된 파라미터'));
			exit;
		}
		
		$wikiArticle =& wiki_class_load('Article');
		$wikiNS =& wiki_class_load('Namespace');
		foreach($update_list as $k => $item) {
			if($item['type'] == 'doc') $wikiArticle->updateLevel(stripcslashes($item['path']), $item['access_level'], $item['edit_level']);
			else $wikiNS->updateAccessLevel(stripcslashes($item['path']), $item['access_level'], $recursive);
		}
		
		echo wiki_json_encode(array('code'=>1));
	}
开发者ID:J2paper,项目名称:narinwiki,代码行数:24,代码来源:admin.php


注:本文中的wiki_class_load函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。