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


PHP utf8RawUrlDecode函数代码示例

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


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

示例1: vtlib_purify

/*+********************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.0
 * ("License"); You may not use this file except in compliance with the License
 * The Original Code is:  vtiger CRM Open Source
 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'include/database/PearDatabase.php';
require_once 'include/ComboUtil.php';
$fld_module = vtlib_purify($_REQUEST["fld_module"]);
$tableName = vtlib_purify($_REQUEST["table_name"]);
$fldPickList = vtlib_purify($_REQUEST['listarea']);
$roleid = vtlib_purify($_REQUEST['roleid']);
//changed by dingjianting on 2006-10-1 for picklist editor
$fldPickList = utf8RawUrlDecode($fldPickList);
$uitype = vtlib_purify($_REQUEST['uitype']);
global $adb, $default_charset;
$sql = "select picklistid from vtiger_picklist where name=?";
$picklistid = $adb->query_result($adb->pquery($sql, array($tableName)), 0, 'picklistid');
//Deleting the already existing values
$qry = "select roleid,picklistvalueid from vtiger_role2picklist left join vtiger_{$tableName} on vtiger_{$tableName}.picklist_valueid=vtiger_role2picklist.picklistvalueid where roleid=? and picklistid=? and presence=1";
$res = $adb->pquery($qry, array($roleid, $picklistid));
$num_row = $adb->num_rows($res);
for ($s = 0; $s < $num_row; $s++) {
    $valid = $adb->query_result($res, $s, 'picklistvalueid');
    $sql = "delete from vtiger_role2picklist where roleid=? and picklistvalueid=?";
    $adb->pquery($sql, array($roleid, $valid));
}
$pickArray = explode("\n", $fldPickList);
$count = count($pickArray);
开发者ID:hbsman,项目名称:vtigercrm-5.3.0-ja,代码行数:31,代码来源:UpdateComboValues.php

示例2: utf8RawUrlDecode

<?php

require_once 'include/logging.php';
require_once 'modules/Memdays/Memdays.php';
require_once 'include/database/PearDatabase.php';
require_once 'modules/Memdays/ModuleConfig.php';
global $adb;
$local_log =& LoggerManager::getLogger('MemdaysAjax');
$ajaxaction = $_REQUEST["ajxaction"];
if ($ajaxaction == "DETAILVIEW") {
    $crmid = $_REQUEST["recordid"];
    $tablename = $_REQUEST["tableName"];
    $fieldname = $_REQUEST["fldName"];
    $fieldvalue = utf8RawUrlDecode($_REQUEST["fieldValue"]);
    if ($crmid != "") {
        if ((!isset($is_disable_approve) || isset($is_disable_approve) && !$is_disable_approve) && (isset($module_enable_approve) && $module_enable_approve)) {
            $sql = "select approved from ec_memdays where deleted=0 and memdaysid='" . $crmid . "'";
            $result = $adb->query($sql);
            $approved = $adb->query_result($result, 0, "approved");
            if ($approved == 1) {
                echo ":#:FAILURE";
                die;
            }
        }
        $modObj = new Memdays();
        $modObj->retrieve_entity_info($crmid, "Memdays");
        $modObj->column_fields[$fieldname] = $fieldvalue;
        $modObj->id = $crmid;
        $modObj->mode = "edit";
        $modObj->save("Memdays");
        if ($modObj->id != "") {
开发者ID:honj51,项目名称:taobaocrm,代码行数:31,代码来源:DetailViewAjax.php

示例3: utf8RawUrlDecode

/*+**********************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.0
 * ("License"); You may not use this file except in compliance with the License
 * The Original Code is:  vtiger CRM Open Source
 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 ************************************************************************************/
global $currentModule;
$modObj = CRMEntity::getInstance($currentModule);
$ajaxaction = $_REQUEST["ajxaction"];
if ($ajaxaction == 'DETAILVIEW') {
    $crmid = $_REQUEST['recordid'];
    $tablename = $_REQUEST['tableName'];
    $fieldname = $_REQUEST['fldName'];
    $fieldvalue = utf8RawUrlDecode($_REQUEST['fieldValue']);
    if ($crmid != '') {
        $modObj->retrieve_entity_info($crmid, $currentModule);
        //Added to avoid the comment save, when we edit other fields through ajax edit
        if ($fieldname != 'comments') {
            $modObj->column_fields['comments'] = '';
        }
        $modObj->column_fields[$fieldname] = $fieldvalue;
        $modObj->id = $crmid;
        $modObj->mode = 'edit';
        list($saveerror, $errormessage, $error_action, $returnvalues) = $modObj->preSaveCheck($_REQUEST);
        if ($saveerror) {
            // there is an error so we report error
            echo ':#:ERR' . $errormessage;
        } else {
            $modObj->save($currentModule);
开发者ID:casati-dolibarr,项目名称:corebos,代码行数:31,代码来源:DetailViewAjax.php

示例4: vtlib_purify

 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'include/logging.php';
require_once 'include/database/PearDatabase.php';
global $adb;
$local_log =& LoggerManager::getLogger('VendorsAjax');
global $currentModule;
$modObj = CRMEntity::getInstance($currentModule);
$ajaxaction = $_REQUEST["ajxaction"];
if ($ajaxaction == "DETAILVIEW") {
    $crmid = vtlib_purify($_REQUEST["recordid"]);
    $tablename = vtlib_purify($_REQUEST["tableName"]);
    $fieldname = vtlib_purify($_REQUEST["fldName"]);
    $fieldvalue = utf8RawUrlDecode(vtlib_purify($_REQUEST["fieldValue"]));
    if ($crmid != "") {
        $modObj->retrieve_entity_info($crmid, "Vendors");
        $modObj->column_fields[$fieldname] = $fieldvalue;
        $modObj->id = $crmid;
        $modObj->mode = "edit";
        $modObj->save("Vendors");
        if ($modObj->id != "") {
            echo ":#:SUCCESS";
        } else {
            echo ":#:FAILURE";
        }
    } else {
        echo ":#:FAILURE";
    }
} elseif ($ajaxaction == "LOADRELATEDLIST" || $ajaxaction == "DISABLEMODULE") {
开发者ID:shamimhasan,项目名称:Vtiger-CRM-5.4.0,代码行数:31,代码来源:DetailViewAjax.php

示例5: utf8RawUrlDecode

/*+*******************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.0
 * ("License"); You may not use this file except in compliance with the License
 * The Original Code is:  vtiger CRM Open Source
 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'modules/Documents/Documents.php';
require_once 'include/logging.php';
require_once 'include/database/PearDatabase.php';
global $adb;
$local_log =& LoggerManager::getLogger('index');
$folderid = $_REQUEST['record'];
$foldername = utf8RawUrlDecode($_REQUEST["foldername"]);
$folderdesc = utf8RawUrlDecode($_REQUEST["folderdesc"]);
if (isset($_REQUEST['savemode']) && $_REQUEST['savemode'] == 'Save') {
    if ($folderid == "") {
        $params = array();
        $sqlfid = "select max(folderid) from vtiger_attachmentsfolder";
        $fid = $adb->query_result($adb->pquery($sqlfid, $params), 0, 'max(folderid)') + 1;
        $params = array();
        $sqlseq = "select max(sequence) from vtiger_attachmentsfolder";
        $sequence = $adb->query_result($adb->pquery($sqlseq, $params), 0, 'max(sequence)') + 1;
        $params = array();
        $dbQuery = "select * from vtiger_attachmentsfolder";
        $result1 = $adb->pquery($dbQuery, array());
        $flag = 0;
        for ($i = 0; $i < $adb->num_rows($result1); $i++) {
            $dbfldrname = $adb->query_result($result1, $i, 'foldername');
            if ($dbfldrname == $foldername) {
开发者ID:sacredwebsite,项目名称:vtigercrm,代码行数:31,代码来源:SaveFolder.php

示例6: url_decode

/**
 * Decode the URL in Korean
 *
 * @param string $str The url
 * @return string
 */
function url_decode($str)
{
    return htmlspecialchars(utf8RawUrlDecode($str), null, 'UTF-8');
}
开发者ID:1Sam,项目名称:rhymix,代码行数:10,代码来源:legacy.php

示例7: execute

 /**
  * @brief Widget name and argument and produce a result and Return the results
  * Tags used in templateHandler $this-&gt; execute() will be replaced by the code running
  *
  * $Javascript_mode is true when editing your page by the code for handling Includes photos
  */
 function execute($widget, $args, $javascript_mode = false, $escaped = true)
 {
     // Save for debug run-time widget
     if (__DEBUG__ == 3) {
         $start = getMicroTime();
     }
     $before = microtime(true);
     // urldecode the value of args haejum
     $object_vars = get_object_vars($args);
     if (count($object_vars)) {
         foreach ($object_vars as $key => $val) {
             if (in_array($key, array('widgetbox_content', 'body', 'class', 'style', 'widget_sequence', 'widget', 'widget_padding_left', 'widget_padding_top', 'widget_padding_bottom', 'widget_padding_right', 'widgetstyle', 'document_srl'))) {
                 continue;
             }
             if ($escaped) {
                 $args->{$key} = utf8RawUrlDecode($val);
             }
         }
     }
     /**
      * Widgets widgetContent/widgetBox Wanted If you are not content
      */
     $widget_content = '';
     if ($widget != 'widgetContent' && $widget != 'widgetBox') {
         if (!is_dir(sprintf(_XE_PATH_ . 'widgets/%s/', $widget))) {
             return;
         }
         // Hold the contents of the widget parameter
         $widget_content = $this->getCache($widget, $args);
     }
     if ($widget == 'widgetBox') {
         $widgetbox_content = $args->widgetbox_content;
     }
     /**
      * Wanted specified by the administrator of the widget style
      */
     // Sometimes the wrong code, background-image: url (none) can be heard but none in this case, the request for the url so unconditionally Removed
     $style = preg_replace('/url\\((.+)(\\/?)none\\)/is', '', $args->style);
     // Find a style statement that based on the internal margin dropping pre-change
     $widget_padding_left = $args->widget_padding_left;
     $widget_padding_right = $args->widget_padding_right;
     $widget_padding_top = $args->widget_padding_top;
     $widget_padding_bottom = $args->widget_padding_bottom;
     $inner_style = sprintf("padding:%dpx %dpx %dpx %dpx !important;", $widget_padding_top, $widget_padding_right, $widget_padding_bottom, $widget_padding_left);
     /**
      * Wanted widget output
      */
     $widget_content_header = '';
     $widget_content_body = '';
     $widget_content_footer = '';
     // If general call is given on page styles should return immediately dreamin '
     if (!$javascript_mode) {
         if ($args->id) {
             $args->id = ' id="' . $args->id . '" ';
         }
         switch ($widget) {
             // If a direct orthogonal addition information
             case 'widgetContent':
                 if ($args->document_srl) {
                     $oDocumentModel = getModel('document');
                     $oDocument = $oDocumentModel->getDocument($args->document_srl);
                     $body = $oDocument->getContent(false, false, false, false);
                 } else {
                     $body = base64_decode($args->body);
                 }
                 // Change the editor component
                 $oEditorController = getController('editor');
                 $body = $oEditorController->transComponent($body);
                 $widget_content_header = sprintf('<div class="xe-widget-wrapper ' . $args->css_class . '" %sstyle="%s"><div style="%s">', $args->id, $style, $inner_style);
                 $widget_content_body = $body;
                 $widget_content_footer = '</div></div>';
                 break;
                 // If the widget box; it could
             // If the widget box; it could
             case 'widgetBox':
                 $widget_content_header = sprintf('<div class="xe-widget-wrapper ' . $args->css_class . '" %sstyle="%s;"><div style="%s"><div>', $args->id, $style, $inner_style);
                 $widget_content_body = $widgetbox_content;
                 break;
                 // If the General wijetil
             // If the General wijetil
             default:
                 $widget_content_header = sprintf('<div class="xe-widget-wrapper ' . $args->css_class . '" %sstyle="%s">', $args->id, $style);
                 $widget_content_body = sprintf('<div style="*zoom:1;%s">%s</div>', $inner_style, $widget_content);
                 $widget_content_footer = '</div>';
                 break;
         }
         // Edit page is called when a widget if you add the code for handling
     } else {
         switch ($widget) {
             // If a direct orthogonal addition information
             case 'widgetContent':
                 if ($args->document_srl) {
                     $oDocumentModel = getModel('document');
                     $oDocument = $oDocumentModel->getDocument($args->document_srl);
//.........这里部分代码省略.........
开发者ID:umjinsun12,项目名称:dngshin,代码行数:101,代码来源:widget.controller.php

示例8: vtlib_purify

<?php

/*+********************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.0
 * ("License"); You may not use this file except in compliance with the License
 * The Original Code is:  vtiger CRM Open Source
 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'include/database/PearDatabase.php';
global $adb;
$profileid = vtlib_purify($_REQUEST['profileid']);
if ($default_charset == 'UTF-8') {
    $profilename = vtlib_purify($_REQUEST['profilename']);
    $profileDesc = vtlib_purify($_REQUEST['description']);
} else {
    $profilename = utf8RawUrlDecode($_REQUEST['profilename']);
    $profileDesc = utf8RawUrlDecode($_REQUEST['description']);
}
$query = "UPDATE vtiger_profile set profilename=?, description=? where profileid=?";
$adb->pquery($query, array($profilename, $profileDesc, $profileid));
开发者ID:casati-dolibarr,项目名称:corebos,代码行数:22,代码来源:RenameProfile.php

示例9: submit

 /**
  * process a submited msg
  */
 function submit($msg, $to = 0)
 {
     global $adb;
     //UTF-8 support added - ding
     $msg = utf8RawUrlDecode($msg);
     $msg = $this->msgParse($msg);
     $msg = htmlentities($msg);
     if (strlen($msg) == 0) {
         return;
     }
     //$sql = "insert into vtiger_chat_msg set chat_from=?, chat_to=?, born=now(), msg=?";
     $sql = "insert into vtiger_chat_msg(chat_from, chat_to, born, msg) values (?,?, now(), ?)";
     $params = array($_SESSION['chat_user'], $to, $msg);
     $res = $adb->pquery($sql, $params);
     $chat = "p";
     if ($to != 0) {
         $chat .= "v";
     }
     $res = $adb->pquery("insert into vtiger_chat_" . $chat . "chat set msg=LAST_INSERT_ID()", array());
 }
开发者ID:sacredwebsite,项目名称:vtigercrm,代码行数:23,代码来源:chat.php

示例10: editList


//.........这里部分代码省略.........
		}
?>
				<label for=ft1 ><input type="radio" <?php echo $simChecked; ?> id="ft1" onclick="javascript:shDiv('simFilter',1);shDiv('advFilter',0);" name=filtertype value="0" checked="checked" /><?php echo htmlspecialchars( CBTxt::T('Simple') ); ?> </label><label for=ft2 ><input type="radio" <?php echo $advChecked; ?> onclick="javascript:shDiv('simFilter',0);shDiv('advFilter',1);" id="ft2" name="filtertype" value="1" /><?php echo htmlspecialchars( CBTxt::T('Advanced') ); ?> </label>
				<br />
				<div id="simFilter" name="simFilter" style="<?php echo $simStyle; ?>" >
				<select name="filterfieldlist">
					<?php
						foreach ($filterfields AS $filterfield) {
							echo "<option value=\"`".$filterfield->name."`\">". htmlspecialchars( getLangDefinition($filterfield->title) ) ."\n";
						}

					?>
				</select>
				<select name=comparison onchange="javascript:filterCondition(this.options[this.selectedIndex].getAttribute('needCond'));">
					<option value=">" needCond="1"><?php echo htmlspecialchars( CBTxt::T('Greater Than') ); ?></option>
					<option value=">=" needCond="1"><?php echo htmlspecialchars( CBTxt::T('Greater Than or Equal To') ); ?></option>
					<option value="&lt;" needCond="1"><?php echo htmlspecialchars( CBTxt::T('Less Than') ); ?></option>
					<option value="&lt;=" needCond="1"><?php echo htmlspecialchars( CBTxt::T('Less Than or Equal To') ); ?></option>
					<option value="=" needCond="1"><?php echo htmlspecialchars( CBTxt::T('Equal To') ); ?></option>
					<option value="!=" needCond="1"><?php echo htmlspecialchars( CBTxt::T('Not Equal To') ); ?></option>
					<option value="= ''" needCond="0"><?php echo htmlspecialchars( CBTxt::T('Is Empty') ); ?></option>
					<option value="!= ''" needCond="0"><?php echo htmlspecialchars( CBTxt::T('Is Not Empty') ); ?></option>
					<option value="IS NULL" needCond="0"><?php echo htmlspecialchars( CBTxt::T('Is NULL') ); ?></option>
					<option value="IS NOT NULL"  needCond="0"><?php echo htmlspecialchars( CBTxt::T('Is Not NULL') ); ?></option>
					<option value="LIKE"  needCond="1"><?php echo htmlspecialchars( CBTxt::T('Like') ); ?></option>
				</select>
				<input type=text name=condition value="" Req=1 />
				<input type=button onclick="moveOption3(this.form.filterfieldlist, filter, this.form.comparison.value, this.form.condition.value);" value=" <?php echo htmlspecialchars( CBTxt::T('Add') ); ?> ">
				<br />
				<select id=filter name=filter size="5" multiple  mosReq=0 mosLabel="<?php echo htmlspecialchars( CBTxt::T('Filter By') ); ?>">
					<?php
						foreach ($filterparts AS $filterpart) {
							if($filterpart['value']!='') {
								echo "<option value=\"".$filterpart['value']."\">".stripslashes(utf8RawUrlDecode($filterpart['title']))."\n";	//BB todo sortout htmlspecialchars...not compatible with utf8rawdecode
							}
						}

					?>
				</select><br />
				<input type=button onclick="moveOptions(filter, -1);" value=" <?php echo htmlspecialchars( CBTxt::T('+') ); ?> " />
				<input type=button onclick="moveOptions(filter, 1);" value=" <?php echo htmlspecialchars( CBTxt::T('-') ); ?> " />
				<br />
				<input type=button onclick="moveOption4(this.form.filter,this.form.filterfieldlist);" value=" <?php echo htmlspecialchars( CBTxt::T('Remove') ); ?> ">
				</div>
				<div id="advFilter" name="advFilter" style="<?php echo $advStyle; ?>">
					<textarea name="advFilterText" cols="50" rows="7"><?php echo stripslashes(utf8RawUrlDecode($row->filterfields)); 	//BB todo sortout htmlspecialchars...not compatible with utf8rawdecode
					?></textarea>
				</div>
			</td>
		</tr>
	</table>
	<table cellpadding="4" cellspacing="1" border="0" width="100%" class="adminform">
		<tr>
			<td width="100%" colspan="3" style="text-align:center;">
				<?php echo CBTxt::T('<strong>Note:</strong> fields must be on profile to appear in this list and be visible on the users-list.'); ?>
			</td>
		</tr>
		<tr>
			<td width="33%">
				<?php echo htmlspecialchars( CBTxt::T('Enable Column 1') ); ?>: <input type=checkbox <?php /* onclick="javascript:enableListColumn(1);" */ ?> name="col1enabled" <?php if($row->col1enabled == 1) echo ' checked="checked" ';  ?> value=1 ><br />
				<?php echo htmlspecialchars( CBTxt::T('Column 1 Title') ); ?>:<br />
				<input type="text" name="col1title" mosReq=0 mosLabel="<?php echo htmlspecialchars( CBTxt::T('Column 1 Title') ); ?>" class="inputbox" value="<?php echo htmlspecialchars($row->col1title); ?>" /><br />
				<?php echo htmlspecialchars( CBTxt::T('Column 1 Captions') ); ?>:<input type=checkbox name=col1captions <?php if($row->col1captions == 1) echo " CHECKED ";  ?> value=1 ><br />
				<select id=col1 size="5" multiple name=col1[] >
					<?php
					echo $col1options;
开发者ID:rkern21,项目名称:videoeditor,代码行数:67,代码来源:admin.comprofiler.html.php

示例11: drawUsersList


//.........这里部分代码省略.........
		$usergids				=	explode( ',', $row->usergroupids );
	/*	This was a bug tending to list admins when "public backend" was checked, and all frontend users when "public backend was checked. Now just ignore them:
		foreach( $usergids AS $usergid ) {
			$allusergids[]		=	$usergid;
			if ($usergid==29 || $usergid==30) {
				$groupchildren	=	array();
				$groupchildren	=	$_CB_framework->acl->get_group_children( $usergid, 'ARO','RECURSE' );
				$allusergids	=	array_merge($allusergids,$groupchildren);
			}
		}
	*/
		$allusergids			=	array_diff( $usergids, array( 29, 30 ) );
		$usergids				=	implode( ",", $allusergids );
	
		// build SQL Select query:
	
		$random					=	0;
		if( $row->sortfields != '' ) {
			$matches			=	null;
			if ( preg_match( '/^RAND\(\)\s(ASC|DESC)$/', $row->sortfields, $matches ) ) {
				// random sorting needs to have same seed on pages > 1 to not have probability to show same users:
				if ( $limitstart ) {
					$random		=	(int) $randomParam;
				}
				if ( ! $random ) {
					$random		=	rand( 0, 32767 );
				}
				$row->sortfields =	'RAND(' . (int) $random . ') ' . $matches[1];
			}
			$orderby			=	"\n ORDER BY " . $row->sortfields;
		}
		$filterby				=	'';
		if ( $row->filterfields != '' ) {
			$filterRules		=	utf8RawUrlDecode( substr( $row->filterfields, 1 ) );
	
			if ( $_CB_framework->myId() ) {
				$user			=	new moscomprofilerUser( $_CB_database );
				if ( $user->load( (int) $_CB_framework->myId() ) ) {
					$filterRules	=	cbReplaceVars( $filterRules, $user, array( $_CB_database, 'getEscaped' ), false, array() );
				}
			}
			$filterby			=	" AND ". $filterRules;
		}
	
		// Prepare part after SELECT .... " and before "FROM" :
	
		$tableReferences		=	array( '#__comprofiler' => 'ue', '#__users' => 'u' );
	
		// Fetch all fields:
	
		$tabs					=	$myCbUser->_getCbTabs();		//	new cbTabs( 0, 1 );		//TBD: later: this private method should not be called here, but the whole users-list should go into there and be called here.
	
		$allFields				=	$tabs->_getTabFieldsDb( null, $myUser, 'list' );
		// $_CB_database->setQuery( "SELECT * FROM #__comprofiler_fields WHERE published = 1" );
		// $allFields				=	$_CB_database->loadObjectList( 'fieldid', 'moscomprofilerFields', array( &$_CB_database ) );
	
	
		//Make columns array. This array will later be constructed from the tabs table:
	
		$columns				=	array();
	
		for ( $i = 1; $i < 50; ++$i ) {
			$enabledVar			=	"col".$i."enabled";
	
			if ( ! isset( $row->$enabledVar ) ) {
				break;
开发者ID:rkern21,项目名称:videoeditor,代码行数:67,代码来源:cb.lists.php

示例12: execute

 /**
  * @brief 위젯이름과 인자를 받아서 결과를 생성하고 결과 리턴
  * 태그 사용 templateHandler에서 $this->execute()를 실행하는 코드로 대체하게 된다
  *
  * $javascript_mode가 true일 경우 페이지 수정시 위젯 핸들링을 위한 코드까지 포함함
  **/
 function execute($widget, $args, $javascript_mode = false)
 {
     // 디버그를 위한 위젯 실행 시간 저장
     if (__DEBUG__ == 3) {
         $start = getMicroTime();
     }
     // args값에서 urldecode를 해줌
     $object_vars = get_object_vars($args);
     if (count($object_vars)) {
         foreach ($object_vars as $key => $val) {
             if (in_array($key, array('widgetbox_content', 'body', 'class', 'style', 'widget_sequence', 'widget', 'widget_padding_left', 'widget_padding_top', 'widget_padding_bottom', 'widget_padding_right', 'widgetstyle', 'document_srl'))) {
                 continue;
             }
             $args->{$key} = utf8RawUrlDecode($val);
         }
     }
     /**
      * 위젯이 widgetContent/ widgetBox가 아니라면 내용을 구함
      **/
     $widget_content = '';
     if ($widget != 'widgetContent' && $widget != 'widgetBox') {
         if (!is_dir(sprintf(_XE_PATH_ . 'widgets/%s/', $widget))) {
             return;
         }
         // 위젯의 내용을 담을 변수
         $widget_content = $this->getCache($widget, $args);
     }
     if ($widget == 'widgetBox') {
         $widgetbox_content = $args->widgetbox_content;
     }
     /**
      * 관리자가 지정한 위젯의 style을 구함
      **/
     // 가끔 잘못된 코드인 background-image:url(none)이 들어 있을 수가 있는데 이럴 경우 none에 대한 url을 요청하므로 무조건 제거함
     $style = preg_replace('/url\\((.+)(\\/?)none\\)/is', '', $args->style);
     // 내부 여백을 둔 것을 구해서 style문으로 미리 변경해 놓음
     $widget_padding_left = $args->widget_padding_left;
     $widget_padding_right = $args->widget_padding_right;
     $widget_padding_top = $args->widget_padding_top;
     $widget_padding_bottom = $args->widget_padding_bottom;
     $inner_style = sprintf("padding:%dpx %dpx %dpx %dpx !important; padding:none !important;", $widget_padding_top, $widget_padding_right, $widget_padding_bottom, $widget_padding_left);
     /**
      * 위젯 출력물을 구함
      **/
     $widget_content_header = '';
     $widget_content_body = '';
     $widget_content_footer = '';
     // 일반 페이지 호출일 경우 지정된 스타일만 꾸면서 바로 return 함
     if (!$javascript_mode) {
         if ($args->id) {
             $args->id = ' id="' . $args->id . '" ';
         }
         switch ($widget) {
             // 내용 직접 추가일 경우
             case 'widgetContent':
                 if ($args->document_srl) {
                     $oDocumentModel =& getModel('document');
                     $oDocument = $oDocumentModel->getDocument($args->document_srl);
                     $body = $oDocument->getContent(false, false, false, false);
                 } else {
                     $body = base64_decode($args->body);
                 }
                 // 에디터컴포넌트 변경
                 $oEditorController =& getController('editor');
                 $body = $oEditorController->transComponent($body);
                 $widget_content_header = sprintf('<div %sstyle="overflow:hidden;%s"><div style="%s">', $args->id, $style, $inner_style);
                 $widget_content_body = $body;
                 $widget_content_footer = '</div></div>';
                 break;
                 // 위젯 박스일 경우
             // 위젯 박스일 경우
             case 'widgetBox':
                 $widget_content_header = sprintf('<div %sstyle="overflow:hidden;%s;"><div style="%s"><div>', $args->id, $style, $inner_style);
                 $widget_content_body = $widgetbox_content;
                 break;
                 // 일반 위젯일 경우
             // 일반 위젯일 경우
             default:
                 $widget_content_header = sprintf('<div %sstyle="overflow:hidden;%s">', $args->id, $style);
                 $widget_content_body = sprintf('<div style="*zoom:1;%s">%s</div>', $inner_style, $widget_content);
                 $widget_content_footer = '</div>';
                 break;
         }
         // 페이지 수정시에 호출되었을 경우 위젯 핸들링을 위한 코드 추가
     } else {
         switch ($widget) {
             // 내용 직접 추가일 경우
             case 'widgetContent':
                 if ($args->document_srl) {
                     $oDocumentModel =& getModel('document');
                     $oDocument = $oDocumentModel->getDocument($args->document_srl);
                     $body = $oDocument->getContent(false, false, false);
                 } else {
                     $body = base64_decode($args->body);
//.........这里部分代码省略.........
开发者ID:hottaro,项目名称:xpressengine,代码行数:101,代码来源:widget.controller.php


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