Commit c561c6b562030ec76dc74c876ccb1a165347bc46
1 parent
c507e462
KTS-2076
"Character encoding issue with document titles" Fixed this issue. Working on other encoding issues. Committed By: Kevin Reviewed By: Conrad git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@6730 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
33 changed files
with
166 additions
and
131 deletions
lib/documentmanagement/documentmetadataversion.inc.php
| @@ -95,8 +95,8 @@ class KTDocumentMetadataVersion extends KTEntity { | @@ -95,8 +95,8 @@ class KTDocumentMetadataVersion extends KTEntity { | ||
| 95 | function setContentVersion($iNewValue) { $this->iContentVersion = $iNewValue; } | 95 | function setContentVersion($iNewValue) { $this->iContentVersion = $iNewValue; } |
| 96 | function getDocumentTypeId() { return $this->iDocumentTypeId; } | 96 | function getDocumentTypeId() { return $this->iDocumentTypeId; } |
| 97 | function setDocumentTypeId($iNewValue) { $this->iDocumentTypeId = $iNewValue; } | 97 | function setDocumentTypeId($iNewValue) { $this->iDocumentTypeId = $iNewValue; } |
| 98 | - function getName() { return $this->sName; } | ||
| 99 | - function setName($sNewValue) { $this->sName = $sNewValue; } | 98 | + function getName() { return sanitizeForSQLtoHTML($this->sName); } |
| 99 | + function setName($sNewValue) { $this->sName = sanitizeForSQL($sNewValue); } | ||
| 100 | function getDescription() { return $this->sDescription; } | 100 | function getDescription() { return $this->sDescription; } |
| 101 | function setDescription($sNewValue) { $this->sDescription = $sNewValue; } | 101 | function setDescription($sNewValue) { $this->sDescription = $sNewValue; } |
| 102 | function getStatusId() { return $this->iStatusId; } | 102 | function getStatusId() { return $this->iStatusId; } |
lib/sanitize.inc deleted
| 1 | -<?php | ||
| 2 | -/** | ||
| 3 | - * $Id$ | ||
| 4 | - * | ||
| 5 | - * This page is meant to provide functions to prevent XSS cracks. | ||
| 6 | - * | ||
| 7 | - * The contents of this file are subject to the KnowledgeTree Public | ||
| 8 | - * License Version 1.1.2 ("License"); You may not use this file except in | ||
| 9 | - * compliance with the License. You may obtain a copy of the License at | ||
| 10 | - * http://www.knowledgetree.com/KPL | ||
| 11 | - * | ||
| 12 | - * Software distributed under the License is distributed on an "AS IS" | ||
| 13 | - * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. | ||
| 14 | - * See the License for the specific language governing rights and | ||
| 15 | - * limitations under the License. | ||
| 16 | - * | ||
| 17 | - * All copies of the Covered Code must include on each user interface screen: | ||
| 18 | - * (i) the "Powered by KnowledgeTree" logo and | ||
| 19 | - * (ii) the KnowledgeTree copyright notice | ||
| 20 | - * in the same form as they appear in the distribution. See the License for | ||
| 21 | - * requirements. | ||
| 22 | - * | ||
| 23 | - * The Original Code is: KnowledgeTree Open Source | ||
| 24 | - * | ||
| 25 | - * The Initial Developer of the Original Code is The Jam Warehouse Software | ||
| 26 | - * (Pty) Ltd, trading as KnowledgeTree. | ||
| 27 | - * Portions created by The Jam Warehouse Software (Pty) Ltd are Copyright | ||
| 28 | - * (C) 2007 The Jam Warehouse Software (Pty) Ltd; | ||
| 29 | - * All Rights Reserved. | ||
| 30 | - * Contributor( s): ______________________________________ | ||
| 31 | - */ | ||
| 32 | - | ||
| 33 | -/** | ||
| 34 | - * Accepts a web encoded string and outputs a "clean" string. | ||
| 35 | - */ | ||
| 36 | - | ||
| 37 | -function sanitize($string) { | ||
| 38 | - // This should be set if you've read the INSTALL instructions. | ||
| 39 | - // Better to be safe though. | ||
| 40 | - if (get_magic_quotes_gpc()) { | ||
| 41 | - $string = strip_tags(urldecode(trim($string))); | ||
| 42 | - } else { | ||
| 43 | - $string = addslashes(strip_tags(urldecode(trim($string)))); | ||
| 44 | - } | ||
| 45 | - | ||
| 46 | - // This might be a little too aggressive | ||
| 47 | - //$pattern = "([^[:alpha:]|^_\.\ \:-])"; | ||
| 48 | - // Allow numeric characters | ||
| 49 | - $pattern = "([^[:alnum:]|^_\.\ \:-])"; | ||
| 50 | - return ereg_replace($pattern, '', $string); | ||
| 51 | -} | ||
| 52 | - | ||
| 53 | -?> |
lib/util/sanitize.inc
| @@ -52,11 +52,12 @@ function sanitize($string) { | @@ -52,11 +52,12 @@ function sanitize($string) { | ||
| 52 | 52 | ||
| 53 | function sanitizeForSQL($string, $min='', $max='') { | 53 | function sanitizeForSQL($string, $min='', $max='') { |
| 54 | 54 | ||
| 55 | + $string = trim($string); | ||
| 56 | + if(get_magic_quotes_gpc()) $string = stripslashes($string); | ||
| 57 | + | ||
| 55 | $len = strlen($string); | 58 | $len = strlen($string); |
| 56 | if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return false; | 59 | if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return false; |
| 57 | 60 | ||
| 58 | - if(get_magic_quotes_gpc()) $string = stripslashes($string); | ||
| 59 | - | ||
| 60 | if(function_exists("mysql_real_escape_string")) { | 61 | if(function_exists("mysql_real_escape_string")) { |
| 61 | return mysql_real_escape_string($string); | 62 | return mysql_real_escape_string($string); |
| 62 | } else { | 63 | } else { |
| @@ -64,38 +65,54 @@ function sanitizeForSQL($string, $min='', $max='') { | @@ -64,38 +65,54 @@ function sanitizeForSQL($string, $min='', $max='') { | ||
| 64 | } | 65 | } |
| 65 | } | 66 | } |
| 66 | 67 | ||
| 68 | +function sanitizeForSQLtoHTML($string, $min='', $max='') { | ||
| 69 | + | ||
| 70 | + return stripslashes(trim($string)); | ||
| 71 | + | ||
| 72 | +} | ||
| 73 | + | ||
| 67 | function sanitizeForHTML($string, $min='', $max='') | 74 | function sanitizeForHTML($string, $min='', $max='') |
| 68 | { | 75 | { |
| 76 | + $string = trim($string); | ||
| 77 | + if(get_magic_quotes_gpc()) $string = stripslashes($string); | ||
| 78 | + | ||
| 69 | $len = strlen($string); | 79 | $len = strlen($string); |
| 70 | if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return false; | 80 | if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return false; |
| 71 | 81 | ||
| 72 | - $pattern[0] = '/\&/'; | ||
| 73 | - $pattern[1] = '/</'; | ||
| 74 | - $pattern[2] = "/>/"; | ||
| 75 | - $pattern[3] = '/\n/'; | ||
| 76 | - $pattern[4] = '/"/'; | ||
| 77 | - $pattern[5] = "/'/"; | ||
| 78 | - $pattern[6] = "/%/"; | ||
| 79 | - $pattern[7] = '/\( /'; | ||
| 80 | - $pattern[8] = '/\)/'; | ||
| 81 | - $pattern[9] = '/\+/'; | ||
| 82 | - $pattern[10] = '/-/'; | ||
| 83 | - $replacement[0] = '&'; | ||
| 84 | - $replacement[1] = '<'; | ||
| 85 | - $replacement[2] = '>'; | ||
| 86 | - $replacement[3] = '<br>'; | ||
| 87 | - $replacement[4] = '"'; | ||
| 88 | - $replacement[5] = '''; | ||
| 89 | - $replacement[6] = '%'; | ||
| 90 | - $replacement[7] = '('; | ||
| 91 | - $replacement[8] = ')'; | ||
| 92 | - $replacement[9] = '+'; | ||
| 93 | - $replacement[10] = '-'; | ||
| 94 | - return preg_replace( $pattern, $replacement, $string); | 82 | + if(function_exists("htmlspecialchars")) { |
| 83 | + return htmlspecialchars($string); | ||
| 84 | + } else { | ||
| 85 | + $pattern[0] = '/\&/'; | ||
| 86 | + $pattern[1] = '/</'; | ||
| 87 | + $pattern[2] = "/>/"; | ||
| 88 | + $pattern[3] = '/\n/'; | ||
| 89 | + $pattern[4] = '/"/'; | ||
| 90 | + $pattern[5] = "/'/"; | ||
| 91 | + $pattern[6] = "/%/"; | ||
| 92 | + $pattern[7] = '/\( /'; | ||
| 93 | + $pattern[8] = '/\)/'; | ||
| 94 | + $pattern[9] = '/\+/'; | ||
| 95 | + $pattern[10] = '/-/'; | ||
| 96 | + $replacement[0] = '&'; | ||
| 97 | + $replacement[1] = '<'; | ||
| 98 | + $replacement[2] = '>'; | ||
| 99 | + $replacement[3] = '<br>'; | ||
| 100 | + $replacement[4] = '"'; | ||
| 101 | + $replacement[5] = '''; | ||
| 102 | + $replacement[6] = '%'; | ||
| 103 | + $replacement[7] = '('; | ||
| 104 | + $replacement[8] = ')'; | ||
| 105 | + $replacement[9] = '+'; | ||
| 106 | + $replacement[10] = '-'; | ||
| 107 | + return preg_replace( $pattern, $replacement, $string); | ||
| 108 | + } | ||
| 95 | } | 109 | } |
| 96 | 110 | ||
| 97 | function sanitizeForSYSTEM($string, $min='', $max='') | 111 | function sanitizeForSYSTEM($string, $min='', $max='') |
| 98 | { | 112 | { |
| 113 | + $string = trim($string); | ||
| 114 | + if(get_magic_quotes_gpc()) $string = stripslashes($string); | ||
| 115 | + | ||
| 99 | $len = strlen($string); | 116 | $len = strlen($string); |
| 100 | if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return false; | 117 | if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return false; |
| 101 | 118 |
plugins/ktcore/document/edit.php
| @@ -96,7 +96,7 @@ class KTDocumentEditAction extends KTDocumentAction { | @@ -96,7 +96,7 @@ class KTDocumentEditAction extends KTDocumentAction { | ||
| 96 | 'description' => sprintf(_kt("The document title is used as the main name of a document throughout %s™."), APP_NAME), | 96 | 'description' => sprintf(_kt("The document title is used as the main name of a document throughout %s™."), APP_NAME), |
| 97 | 'name' => 'document_title', | 97 | 'name' => 'document_title', |
| 98 | 'required' => true, | 98 | 'required' => true, |
| 99 | - 'value' => $this->oDocument->getName(), | 99 | + 'value' => sanitizeForHTML($this->oDocument->getName()), |
| 100 | )), | 100 | )), |
| 101 | ); | 101 | ); |
| 102 | $validators = array( | 102 | $validators = array( |
| @@ -191,7 +191,8 @@ class KTDocumentEditAction extends KTDocumentAction { | @@ -191,7 +191,8 @@ class KTDocumentEditAction extends KTDocumentAction { | ||
| 191 | if ($this->oDocument->getDocumentTypeId() != $doctypeid) { | 191 | if ($this->oDocument->getDocumentTypeId() != $doctypeid) { |
| 192 | $this->oDocument->setDocumentTypeId($doctypeid); | 192 | $this->oDocument->setDocumentTypeId($doctypeid); |
| 193 | } | 193 | } |
| 194 | - $this->oDocument->setName(sanitize($data['document_title'])); | 194 | + $this->oDocument->setName(($data['document_title'])); |
| 195 | + | ||
| 195 | $res = $this->oDocument->update(); | 196 | $res = $this->oDocument->update(); |
| 196 | if (PEAR::isError($res)) { | 197 | if (PEAR::isError($res)) { |
| 197 | $oForm->handleError(sprintf(_kt("Unexpected failure to update document title: %s"), $res->getMessage())); | 198 | $oForm->handleError(sprintf(_kt("Unexpected failure to update document title: %s"), $res->getMessage())); |
templates/kt3/document/view.smarty
| 1 | <h2>{$document->getName()}</h2> | 1 | <h2>{$document->getName()}</h2> |
| 2 | 2 | ||
| 3 | - | ||
| 4 | {capture assign=version} | 3 | {capture assign=version} |
| 5 | {$document->getMajorVersionNumber()}.{$document->getMinorVersionNumber()} | 4 | {$document->getMajorVersionNumber()}.{$document->getMinorVersionNumber()} |
| 6 | {/capture} | 5 | {/capture} |
templates/kt3/fieldsets/simple_versioned.smarty
| @@ -13,10 +13,10 @@ | @@ -13,10 +13,10 @@ | ||
| 13 | <tr class="{cycle values=even,odd} {if $smarty.foreach.fields.first}first{/if}"> | 13 | <tr class="{cycle values=even,odd} {if $smarty.foreach.fields.first}first{/if}"> |
| 14 | <th>{$aFieldPair.field->getName()}</th> | 14 | <th>{$aFieldPair.field->getName()}</th> |
| 15 | <td class="current {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> | 15 | <td class="current {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> |
| 16 | - {if ($aFieldPair.current_value !== null)}{$aFieldPair.current_value|escape:"htmlall"} | 16 | + {if ($aFieldPair.current_value !== null)}{$aFieldPair.current_value} |
| 17 | {else}<span class="descriptiveText">{i18n}no value in this version{/i18n}</span>{/if}</td> | 17 | {else}<span class="descriptiveText">{i18n}no value in this version{/i18n}</span>{/if}</td> |
| 18 | <td class="previous {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> | 18 | <td class="previous {if ($aFieldPair.current_value != $aFieldPair.previous_value)}different{/if}"> |
| 19 | - {if ($aFieldPair.previous_value !== null)}{$aFieldPair.previous_value|escape:"htmlall"} | 19 | + {if ($aFieldPair.previous_value !== null)}{$aFieldPair.previous_value} |
| 20 | {else}<span class="descriptiveText">{i18n}no value in this version{/i18n}</span>{/if}</td> | 20 | {else}<span class="descriptiveText">{i18n}no value in this version{/i18n}</span>{/if}</td> |
| 21 | </tr> | 21 | </tr> |
| 22 | {/foreach} | 22 | {/foreach} |
templates/kt3/standard_page.smarty
| @@ -132,9 +132,9 @@ | @@ -132,9 +132,9 @@ | ||
| 132 | {if ($page->breadcrumbs !== false)} | 132 | {if ($page->breadcrumbs !== false)} |
| 133 | {foreach item=aCrumb from=$page->breadcrumbs name=bc} | 133 | {foreach item=aCrumb from=$page->breadcrumbs name=bc} |
| 134 | {if ($aCrumb.url) } | 134 | {if ($aCrumb.url) } |
| 135 | - <a href="{$aCrumb.url}">{$aCrumb.label|escape}</a> | 135 | + <a href="{$aCrumb.url}">{$aCrumb.label}</a> |
| 136 | {else} | 136 | {else} |
| 137 | - <span>{$aCrumb.label|escape|truncate:40:"...":true}</span> | 137 | + <span>{$aCrumb.label|mb_truncate:40:"...":true}</span> |
| 138 | {/if} | 138 | {/if} |
| 139 | {if (!$smarty.foreach.bc.last)} | 139 | {if (!$smarty.foreach.bc.last)} |
| 140 | » | 140 | » |
templates/ktcore/action/checkout_final.smarty
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | {$context->oPage->requireJSResource("thirdpartyjs/MochiKit/Iter.js")} | 3 | {$context->oPage->requireJSResource("thirdpartyjs/MochiKit/Iter.js")} |
| 4 | {$context->oPage->requireJSResource("thirdpartyjs/MochiKit/DOM.js")} | 4 | {$context->oPage->requireJSResource("thirdpartyjs/MochiKit/DOM.js")} |
| 5 | 5 | ||
| 6 | -{capture assign=sLocation}action=checkout_final&fDocumentId={$context->oDocument->getId()}&reason={$reason|escape}{/capture} | 6 | +{capture assign=sLocation}action=checkout_final&fDocumentId={$context->oDocument->getId()}&reason={$reason}{/capture} |
| 7 | 7 | ||
| 8 | {capture assign=sJavascript} | 8 | {capture assign=sJavascript} |
| 9 | function doCheckout () {ldelim} | 9 | function doCheckout () {ldelim} |
templates/ktcore/document/cleanup.smarty
| @@ -28,7 +28,7 @@ which you should investigate.{/i18n}</p> | @@ -28,7 +28,7 @@ which you should investigate.{/i18n}</p> | ||
| 28 | <p>{i18n}The following files are present in the repository, but do not exist in the database.{/i18n}:</p> | 28 | <p>{i18n}The following files are present in the repository, but do not exist in the database.{/i18n}:</p> |
| 29 | <ul> | 29 | <ul> |
| 30 | {foreach from=$aFilesToRemove item=sFile} | 30 | {foreach from=$aFilesToRemove item=sFile} |
| 31 | -<li>{$sFile|escape}</li> | 31 | +<li>{$sFile}</li> |
| 32 | {/foreach} | 32 | {/foreach} |
| 33 | </ul> | 33 | </ul> |
| 34 | {/if} | 34 | {/if} |
templates/ktcore/document/cleanup_script.smarty
| @@ -29,7 +29,7 @@ | @@ -29,7 +29,7 @@ | ||
| 29 | {i18n}The following files are present in the repository, but do not exist in the database.{/i18n}: | 29 | {i18n}The following files are present in the repository, but do not exist in the database.{/i18n}: |
| 30 | 30 | ||
| 31 | {foreach from=$aFilesToRemove item=sFile} | 31 | {foreach from=$aFilesToRemove item=sFile} |
| 32 | - {$sFile|escape} | 32 | + {$sFile} |
| 33 | {/foreach} | 33 | {/foreach} |
| 34 | 34 | ||
| 35 | {/if} | 35 | {/if} |
templates/ktcore/document/edit.smarty
| @@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
| 11 | 11 | ||
| 12 | {$context->oPage->requireCSSResource('resources/css/kt-treewidget.css')} | 12 | {$context->oPage->requireCSSResource('resources/css/kt-treewidget.css')} |
| 13 | 13 | ||
| 14 | -<h2>{i18n}Editing{/i18n}: {$document->getName()}</h2> | 14 | +<h2>{i18n}Editing{/i18n}: {$document->getName()|wordwrap:40:"<br />\n":true}</h2> |
| 15 | 15 | ||
| 16 | {capture assign=link}{addQS}action=selectType&fDocumentId={$document->getId()}{/addQS}{/capture} | 16 | {capture assign=link}{addQS}action=selectType&fDocumentId={$document->getId()}{/addQS}{/capture} |
| 17 | <p class="descriptiveText">{i18n arg_link=$link arg_name=$type_name}Change the <strong><a href="#link#">document type</a></strong>. The current type is "#name#"{/i18n}</p> | 17 | <p class="descriptiveText">{i18n arg_link=$link arg_name=$type_name}Change the <strong><a href="#link#">document type</a></strong>. The current type is "#name#"{/i18n}</p> |
templates/ktcore/document/view.smarty
| 1 | -<h2><img src="{if $config->get("ui/morphEnabled") == '1'}{$rootUrl}/skins/kts_{$config->get("ui/morphTo")}/title_bullet.png{else}{$rootUrl}/resources/graphics/title_bullet.png{/if}"/>{$document->getName()|escape|wordwrap:40:"\n":true}</h2> | 1 | +<h2><img src="{if $config->get("ui/morphEnabled") == '1'}{$rootUrl}/skins/kts_{$config->get("ui/morphTo")}/title_bullet.png{else}{$rootUrl}/resources/graphics/title_bullet.png{/if}"/>{$document->getName()|mb_wordwrap:40:"<br />\n":true}</h2> |
| 2 | 2 | ||
| 3 | {if ($document->getIsCheckedOut() == 1)} | 3 | {if ($document->getIsCheckedOut() == 1)} |
| 4 | {capture assign=checkout_user}<strong>{$sCheckoutUser}</strong>{/capture} | 4 | {capture assign=checkout_user}<strong>{$sCheckoutUser}</strong>{/capture} |
templates/ktcore/documenttypes/edit.smarty
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | <form method="POST" action="{$smarty.server.PHP_SELF}"> | 3 | <form method="POST" action="{$smarty.server.PHP_SELF}"> |
| 4 | <input type="hidden" name="action" value="editobject"> | 4 | <input type="hidden" name="action" value="editobject"> |
| 5 | <input type="hidden" name="fDocumentTypeId" value="{$oDocumentType->getId()}"> | 5 | <input type="hidden" name="fDocumentTypeId" value="{$oDocumentType->getId()}"> |
| 6 | -<input type="textbox" name="name" value="{$oDocumentType->getName()|escape}"> | 6 | +<input type="textbox" name="name" value="{$oDocumentType->getName()}"> |
| 7 | <input type="submit" name="submit" value="{i18n}Change{/i18n}" /> | 7 | <input type="submit" name="submit" value="{i18n}Change{/i18n}" /> |
| 8 | </form> | 8 | </form> |
| 9 | 9 |
templates/ktcore/fields/edit.smarty
| 1 | -<h2>{i18n}Fieldset{/i18n}: {$oFieldset->getName()|escape}</h2> | 1 | +<h2>{i18n}Fieldset{/i18n}: {$oFieldset->getName()}</h2> |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | <form action="{$smarty.server.PHP_SELF}" method="POST"> | 4 | <form action="{$smarty.server.PHP_SELF}" method="POST"> |
| @@ -9,11 +9,11 @@ | @@ -9,11 +9,11 @@ | ||
| 9 | <table class="prettysw" cellpadding="0" cellspacing="0"> | 9 | <table class="prettysw" cellpadding="0" cellspacing="0"> |
| 10 | <tr> | 10 | <tr> |
| 11 | <th>{i18n}Name{/i18n}</th> | 11 | <th>{i18n}Name{/i18n}</th> |
| 12 | - <td><input type="textbox" name="name" value="{$oFieldset->getName()|escape}" /></td> | 12 | + <td><input type="textbox" name="name" value="{$oFieldset->getName()}" /></td> |
| 13 | </tr> | 13 | </tr> |
| 14 | <tr> | 14 | <tr> |
| 15 | <th>{i18n}Namespace{/i18n}</th> | 15 | <th>{i18n}Namespace{/i18n}</th> |
| 16 | - <td><input type="textbox" name="namespace" value="{$oFieldset->getNamespace()|escape}" /></td> | 16 | + <td><input type="textbox" name="namespace" value="{$oFieldset->getNamespace()}" /></td> |
| 17 | </tr> | 17 | </tr> |
| 18 | </table> | 18 | </table> |
| 19 | <input type="submit" name="submit" value="{i18n}Change{/i18n}" /> | 19 | <input type="submit" name="submit" value="{i18n}Change{/i18n}" /> |
| @@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
| 30 | {foreach from=$oFieldset->getFields() item=oField} | 30 | {foreach from=$oFieldset->getFields() item=oField} |
| 31 | <li><label><input type="checkbox" | 31 | <li><label><input type="checkbox" |
| 32 | name="fieldsetids[]" | 32 | name="fieldsetids[]" |
| 33 | -value="{$oField->getId()}" />{$oField->getName()|escape}</label></li> | 33 | +value="{$oField->getId()}" />{$oField->getName()}</label></li> |
| 34 | {/foreach} | 34 | {/foreach} |
| 35 | </ul> | 35 | </ul> |
| 36 | <input type="submit" name="submit" value="{i18n}Remove fields{/i18n}" /> | 36 | <input type="submit" name="submit" value="{i18n}Remove fields{/i18n}" /> |
templates/ktcore/login.smarty
| @@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
| 21 | <form action="{$smarty.server.PHP_SELF}" method="POST" name="login"> | 21 | <form action="{$smarty.server.PHP_SELF}" method="POST" name="login"> |
| 22 | <input type="hidden" name="action" value="login" /> | 22 | <input type="hidden" name="action" value="login" /> |
| 23 | <input type="hidden" name="cookieverify" value="{$cookietest}" /> | 23 | <input type="hidden" name="cookieverify" value="{$cookietest}" /> |
| 24 | - <input type="hidden" name="redirect" value="{$redirect|escape}" /> | 24 | + <input type="hidden" name="redirect" value="{$redirect}" /> |
| 25 | {if $config->get("ui/mainLogo") != ''} | 25 | {if $config->get("ui/mainLogo") != ''} |
| 26 | <img src="{$config->get("ui/mainLogo")}" alt="{$config->get("ui/mainLogoTitle")}" class="logoimage"/><br /> | 26 | <img src="{$config->get("ui/mainLogo")}" alt="{$config->get("ui/mainLogoTitle")}" class="logoimage"/><br /> |
| 27 | {else} | 27 | {else} |
templates/ktcore/manage_help_item.smarty
| @@ -13,9 +13,9 @@ tinyMCE.init({ | @@ -13,9 +13,9 @@ tinyMCE.init({ | ||
| 13 | <input type="hidden" name="id" value="{$help->getId()}"> | 13 | <input type="hidden" name="id" value="{$help->getId()}"> |
| 14 | <input type="hidden" name="action" value="updateReplacement"> | 14 | <input type="hidden" name="action" value="updateReplacement"> |
| 15 | <h2>{i18n}Title{/i18n}</h2> | 15 | <h2>{i18n}Title{/i18n}</h2> |
| 16 | -<input type="text" name="title" value="{$help->getTitle()|escape}" /> | 16 | +<input type="text" name="title" value="{$help->getTitle()}" /> |
| 17 | <h2>{i18n}Help content{/i18n}</h2> | 17 | <h2>{i18n}Help content{/i18n}</h2> |
| 18 | -<textarea cols="60" rows="20" name="description">{$help->getDescription()|escape}</textarea> | 18 | +<textarea cols="60" rows="20" name="description">{$help->getDescription()}</textarea> |
| 19 | <br /> | 19 | <br /> |
| 20 | <input type="submit" name="submit" value="{i18n}Update{/i18n}" /> | 20 | <input type="submit" name="submit" value="{i18n}Update{/i18n}" /> |
| 21 | </form> | 21 | </form> |
templates/ktcore/metadata/admin/basic_overview.smarty
| @@ -18,7 +18,7 @@ of related information.{/i18n}</p> | @@ -18,7 +18,7 @@ of related information.{/i18n}</p> | ||
| 18 | {foreach from=$fields item=oField} | 18 | {foreach from=$fields item=oField} |
| 19 | <tr> | 19 | <tr> |
| 20 | <td class="title"> | 20 | <td class="title"> |
| 21 | - {$oField->getName()|escape} | 21 | + {$oField->getName()} |
| 22 | </td> | 22 | </td> |
| 23 | <td class="centered"> | 23 | <td class="centered"> |
| 24 | <a href="{addQS context=$context}fieldset_action=managefield&fFieldId={$oField->getId()}{/addQS}" class="ktAction ktEdit">{i18n}edit{/i18n}</a> | 24 | <a href="{addQS context=$context}fieldset_action=managefield&fFieldId={$oField->getId()}{/addQS}" class="ktAction ktEdit">{i18n}edit{/i18n}</a> |
templates/ktcore/metadata/admin/manage_lookups.smarty
| @@ -37,7 +37,7 @@ that are possible for a given lookup:{/i18n}</p> | @@ -37,7 +37,7 @@ that are possible for a given lookup:{/i18n}</p> | ||
| 37 | {foreach from=$lookups item=oLookup} | 37 | {foreach from=$lookups item=oLookup} |
| 38 | <tr> | 38 | <tr> |
| 39 | <td><input type="checkbox" name="metadata[]" value="{$oLookup->getId()}" /></td> | 39 | <td><input type="checkbox" name="metadata[]" value="{$oLookup->getId()}" /></td> |
| 40 | - <td>{$oLookup->getName()|escape}</td> | 40 | + <td>{$oLookup->getName()}</td> |
| 41 | <td class="centered">{if (!$oLookup->getDisabled())}<span class="ktAction ktAllowed">{i18n}Yes{/i18n}</span>{else}<span class="ktAction ktDenied">{i18n}No{/i18n}</span>{/if}</td> | 41 | <td class="centered">{if (!$oLookup->getDisabled())}<span class="ktAction ktAllowed">{i18n}Yes{/i18n}</span>{else}<span class="ktAction ktDenied">{i18n}No{/i18n}</span>{/if}</td> |
| 42 | <td class="centered">{if ($oLookup->getIsStuck())}<span>{i18n}Yes{/i18n}</span>{else} {/if}</td> | 42 | <td class="centered">{if ($oLookup->getIsStuck())}<span>{i18n}Yes{/i18n}</span>{else} {/if}</td> |
| 43 | </tr> | 43 | </tr> |
templates/ktcore/metadata/chooseFromMetadataLookup.smarty
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | {assign var="aLookups" value=$aFieldInfo.values} | 3 | {assign var="aLookups" value=$aFieldInfo.values} |
| 4 | 4 | ||
| 5 | <div class="field "> | 5 | <div class="field "> |
| 6 | - <label for="condi-field-{$iFieldId}">{$oField->getName()|escape}</label> | 6 | + <label for="condi-field-{$iFieldId}">{$oField->getName()}</label> |
| 7 | <p class="descriptiveText">FIXME</p> | 7 | <p class="descriptiveText">FIXME</p> |
| 8 | <p class="errorMessage"></p> | 8 | <p class="errorMessage"></p> |
| 9 | 9 |
templates/ktcore/metadata/conditional/ajax_complex_get_behaviour_list.smarty
| 1 | <behaviourList> | 1 | <behaviourList> |
| 2 | {foreach from=$aBehaviours item=oBehaviour} | 2 | {foreach from=$aBehaviours item=oBehaviour} |
| 3 | - <behaviour value="{$oBehaviour->getId()}" label="{$oBehaviour->getName()|escape}" /> | 3 | + <behaviour value="{$oBehaviour->getId()}" label="{$oBehaviour->getName()}" /> |
| 4 | {/foreach} | 4 | {/foreach} |
| 5 | </behaviourList> | 5 | </behaviourList> |
templates/ktcore/metadata/conditional/conditional_admin_overview.smarty
| @@ -71,7 +71,7 @@ ordering!{/i18n}</p> | @@ -71,7 +71,7 @@ ordering!{/i18n}</p> | ||
| 71 | {foreach from=$fields item=oField} | 71 | {foreach from=$fields item=oField} |
| 72 | <tr> | 72 | <tr> |
| 73 | <td class="title"> | 73 | <td class="title"> |
| 74 | - {$oField->getName()|escape} | 74 | + {$oField->getName()} |
| 75 | </td> | 75 | </td> |
| 76 | <td> | 76 | <td> |
| 77 | <a href="{addQS context=$context}fieldset_action=managefield&fFieldId={$oField->getId()}{/addQS}" class="ktAction ktEdit">{i18n}edit{/i18n}</a> | 77 | <a href="{addQS context=$context}fieldset_action=managefield&fFieldId={$oField->getId()}{/addQS}" class="ktAction ktEdit">{i18n}edit{/i18n}</a> |
templates/ktcore/metadata/conditional/editsimple.smarty
| @@ -96,7 +96,7 @@ refresh the page.{/i18n}</p> | @@ -96,7 +96,7 @@ refresh the page.{/i18n}</p> | ||
| 96 | <div class="lookup_items"> | 96 | <div class="lookup_items"> |
| 97 | <select class="item_list" size="5"> | 97 | <select class="item_list" size="5"> |
| 98 | {foreach from=$oField->getEnabledValues() item=oMetaData} | 98 | {foreach from=$oField->getEnabledValues() item=oMetaData} |
| 99 | - <option value="{$oMetaData->getId()}">{$oMetaData->getName()|escape}</option> | 99 | + <option value="{$oMetaData->getId()}">{$oMetaData->getName()}</option> |
| 100 | {/foreach} | 100 | {/foreach} |
| 101 | </select> | 101 | </select> |
| 102 | 102 |
templates/ktcore/metadata/conditional/manageConditional.smarty
| @@ -27,7 +27,7 @@ the issues identified below.{/i18n}</span> | @@ -27,7 +27,7 @@ the issues identified below.{/i18n}</span> | ||
| 27 | {if $sIncomplete} | 27 | {if $sIncomplete} |
| 28 | <div class="ktErrorMessage"> | 28 | <div class="ktErrorMessage"> |
| 29 | <span>{i18n}This error prevents this fieldset from being set | 29 | <span>{i18n}This error prevents this fieldset from being set |
| 30 | -to complete{/i18n}: {$sIncomplete|escape}</span> | 30 | +to complete{/i18n}: {$sIncomplete}</span> |
| 31 | </div> | 31 | </div> |
| 32 | {/if} | 32 | {/if} |
| 33 | {/if} | 33 | {/if} |
| @@ -127,9 +127,9 @@ $this->assign("oParentField", DocumentField::get($this->_tpl_vars['aRow']['paren | @@ -127,9 +127,9 @@ $this->assign("oParentField", DocumentField::get($this->_tpl_vars['aRow']['paren | ||
| 127 | $this->assign("oChildField", DocumentField::get($this->_tpl_vars['aRow']['child_field_id'])); | 127 | $this->assign("oChildField", DocumentField::get($this->_tpl_vars['aRow']['child_field_id'])); |
| 128 | {/php} | 128 | {/php} |
| 129 | <li> | 129 | <li> |
| 130 | - {$oParentField->getName()|escape} | 130 | + {$oParentField->getName()} |
| 131 | <span class="descriptiveText">{i18n}controls the values available in{/i18n}</span> | 131 | <span class="descriptiveText">{i18n}controls the values available in{/i18n}</span> |
| 132 | - {$oChildField->getName()|escape} | 132 | + {$oChildField->getName()} |
| 133 | </li> | 133 | </li> |
| 134 | {/foreach} | 134 | {/foreach} |
| 135 | </ul> | 135 | </ul> |
templates/ktcore/metadata/conditional/manage_ordering.smarty
| @@ -12,9 +12,9 @@ $this->assign("oParentField", DocumentField::get($this->_tpl_vars['aRow']['paren | @@ -12,9 +12,9 @@ $this->assign("oParentField", DocumentField::get($this->_tpl_vars['aRow']['paren | ||
| 12 | $this->assign("oChildField", DocumentField::get($this->_tpl_vars['aRow']['child_field_id'])); | 12 | $this->assign("oChildField", DocumentField::get($this->_tpl_vars['aRow']['child_field_id'])); |
| 13 | {/php} | 13 | {/php} |
| 14 | <li> | 14 | <li> |
| 15 | - {$oParentField->getName()|escape} | 15 | + {$oParentField->getName()} |
| 16 | <span class="descriptiveText">{i18n}controls the values available in{/i18n}</span> | 16 | <span class="descriptiveText">{i18n}controls the values available in{/i18n}</span> |
| 17 | - {$oChildField->getName()|escape} | 17 | + {$oChildField->getName()} |
| 18 | </li> | 18 | </li> |
| 19 | {/foreach} | 19 | {/foreach} |
| 20 | </ul> | 20 | </ul> |
templates/ktcore/metadata/edit.smarty
| 1 | -<h2>{i18n}Fieldset{/i18n}: {$oFieldset->getName()|escape}</h2> | 1 | +<h2>{i18n}Fieldset{/i18n}: {$oFieldset->getName()}</h2> |
| 2 | 2 | ||
| 3 | <h3>{i18n}Fieldset properties{/i18n}</h3> | 3 | <h3>{i18n}Fieldset properties{/i18n}</h3> |
| 4 | <form action="{$smarty.server.PHP_SELF}" method="POST"> | 4 | <form action="{$smarty.server.PHP_SELF}" method="POST"> |
| @@ -7,11 +7,11 @@ | @@ -7,11 +7,11 @@ | ||
| 7 | <table class="prettysw" cellpadding="0" cellspacing="0"> | 7 | <table class="prettysw" cellpadding="0" cellspacing="0"> |
| 8 | <tr> | 8 | <tr> |
| 9 | <th>{i18n}Name{/i18n}</th> | 9 | <th>{i18n}Name{/i18n}</th> |
| 10 | - <td><input type="textbox" name="name" value="{$oFieldset->getName()|escape}"></td> | 10 | + <td><input type="textbox" name="name" value="{$oFieldset->getName()}"></td> |
| 11 | </tr> | 11 | </tr> |
| 12 | <tr> | 12 | <tr> |
| 13 | <th>{i18n}Namespace{/i18n}</th> | 13 | <th>{i18n}Namespace{/i18n}</th> |
| 14 | - <td><input type="textbox" name="namespace" value="{$oFieldset->getNamespace()|escape}"></td> | 14 | + <td><input type="textbox" name="namespace" value="{$oFieldset->getNamespace()}"></td> |
| 15 | </tr> | 15 | </tr> |
| 16 | </table> | 16 | </table> |
| 17 | <input type="submit" name="submit" value="{i18n}Change{/i18n}" /> | 17 | <input type="submit" name="submit" value="{i18n}Change{/i18n}" /> |
| @@ -27,7 +27,7 @@ | @@ -27,7 +27,7 @@ | ||
| 27 | {foreach from=$oFieldset->getFields() item=oField} | 27 | {foreach from=$oFieldset->getFields() item=oField} |
| 28 | <li><label><input type="checkbox" | 28 | <li><label><input type="checkbox" |
| 29 | name="fieldsetids[]" | 29 | name="fieldsetids[]" |
| 30 | -value="{$oField->getId()}">{$oField->getName()|escape}</label></li> | 30 | +value="{$oField->getId()}">{$oField->getName()}</label></li> |
| 31 | {/foreach} | 31 | {/foreach} |
| 32 | </ul> | 32 | </ul> |
| 33 | <input type="submit" name="submit" value="{i18n}Remove fields{/i18n}" /> | 33 | <input type="submit" name="submit" value="{i18n}Remove fields{/i18n}" /> |
templates/ktcore/metadata/editField.smarty
| 1 | -<h2>{i18n}Edit Field{/i18n}: {$oField->getName()|escape}</h2> | 1 | +<h2>{i18n}Edit Field{/i18n}: {$oField->getName()}</h2> |
| 2 | 2 | ||
| 3 | <form action="{$smarty.server.PHP_SELF}" method="POST"> | 3 | <form action="{$smarty.server.PHP_SELF}" method="POST"> |
| 4 | <fieldset> | 4 | <fieldset> |
| @@ -9,15 +9,15 @@ | @@ -9,15 +9,15 @@ | ||
| 9 | <table class="prettysw" cellpadding="0" cellspacing="0"> | 9 | <table class="prettysw" cellpadding="0" cellspacing="0"> |
| 10 | <tr> | 10 | <tr> |
| 11 | <th>{i18n}Name{/i18n}</th> | 11 | <th>{i18n}Name{/i18n}</th> |
| 12 | - <td><input type="textbox" name="name" value="{$oField->getName()|escape}"></td> | 12 | + <td><input type="textbox" name="name" value="{$oField->getName()}"></td> |
| 13 | </tr> | 13 | </tr> |
| 14 | <tr> | 14 | <tr> |
| 15 | <th>{i18n}Description{/i18n}</th> | 15 | <th>{i18n}Description{/i18n}</th> |
| 16 | - <td><textarea name="description">{$oField->getDescription()|escape}</textarea></td> | 16 | + <td><textarea name="description">{$oField->getDescription()}</textarea></td> |
| 17 | </tr> | 17 | </tr> |
| 18 | <tr> | 18 | <tr> |
| 19 | <th>{i18n}Type{/i18n}</th> | 19 | <th>{i18n}Type{/i18n}</th> |
| 20 | - <td>{$oField->getType()|escape}</td> | 20 | + <td>{$oField->getType()}</td> |
| 21 | </tr> | 21 | </tr> |
| 22 | <tr> | 22 | <tr> |
| 23 | <th>{i18n}Required{/i18n}</th> | 23 | <th>{i18n}Required{/i18n}</th> |
| @@ -71,7 +71,7 @@ | @@ -71,7 +71,7 @@ | ||
| 71 | <ul> | 71 | <ul> |
| 72 | {foreach from=$aEnabledMetadata item=oMetaData} | 72 | {foreach from=$aEnabledMetadata item=oMetaData} |
| 73 | <li><label><input type="checkbox" name="metadata[]" | 73 | <li><label><input type="checkbox" name="metadata[]" |
| 74 | -value="{$oMetaData->getId()}">{$oMetaData->getName()|escape} | 74 | +value="{$oMetaData->getId()}">{$oMetaData->getName()} |
| 75 | { if $oMetaData->getIsStuck() } | 75 | { if $oMetaData->getIsStuck() } |
| 76 | <span class="helpText">({i18n}stuck, will never be disabled when synchronising | 76 | <span class="helpText">({i18n}stuck, will never be disabled when synchronising |
| 77 | from another source{/i18n})</span> | 77 | from another source{/i18n})</span> |
| @@ -98,7 +98,7 @@ from another source{/i18n})</span> | @@ -98,7 +98,7 @@ from another source{/i18n})</span> | ||
| 98 | <ul> | 98 | <ul> |
| 99 | {foreach from=$aDisabledMetadata item=oMetaData} | 99 | {foreach from=$aDisabledMetadata item=oMetaData} |
| 100 | <li><label><input type="checkbox" name="metadata[]" | 100 | <li><label><input type="checkbox" name="metadata[]" |
| 101 | -value="{$oMetaData->getId()}">{$oMetaData->getName()|escape} | 101 | +value="{$oMetaData->getId()}">{$oMetaData->getName()} |
| 102 | { if $oMetaData->getIsStuck() } | 102 | { if $oMetaData->getIsStuck() } |
| 103 | <span class="helpText">({i18n}stuck, will never be enabled when synchronising | 103 | <span class="helpText">({i18n}stuck, will never be enabled when synchronising |
| 104 | from another source{/i18n})</span> | 104 | from another source{/i18n})</span> |
templates/ktcore/metadata/editFieldset.smarty
| 1 | -<h2>{i18n}Fieldset{/i18n}: {$oFieldset->getName()|escape}</h2> | 1 | +<h2>{i18n}Fieldset{/i18n}: {$oFieldset->getName()}</h2> |
| 2 | 2 | ||
| 3 | {if $sIncomplete} | 3 | {if $sIncomplete} |
| 4 | <div class="ktErrorMessage"> | 4 | <div class="ktErrorMessage"> |
| 5 | <span><strong>{i18n}Incomplete{/i18n}: </strong>{i18n}This conditional fieldset cannot be used{/i18n}: <br /> | 5 | <span><strong>{i18n}Incomplete{/i18n}: </strong>{i18n}This conditional fieldset cannot be used{/i18n}: <br /> |
| 6 | -{$sIncomplete|escape}</span> | 6 | +{$sIncomplete}</span> |
| 7 | </div> | 7 | </div> |
| 8 | {/if} | 8 | {/if} |
| 9 | 9 | ||
| @@ -66,7 +66,7 @@ field can depend on the user's selections for the others.{/i18n} | @@ -66,7 +66,7 @@ field can depend on the user's selections for the others.{/i18n} | ||
| 66 | {if $sIncomplete} | 66 | {if $sIncomplete} |
| 67 | <div class="ktError"> | 67 | <div class="ktError"> |
| 68 | <p>{i18n}This error prevents this fieldset from being set | 68 | <p>{i18n}This error prevents this fieldset from being set |
| 69 | -to complete{/i18n}: {$sIncomplete|escape}</p> | 69 | +to complete{/i18n}: {$sIncomplete}</p> |
| 70 | </div> <br /> | 70 | </div> <br /> |
| 71 | {/if} | 71 | {/if} |
| 72 | 72 | ||
| @@ -145,7 +145,7 @@ to complete{/i18n}: {$sIncomplete|escape}</p> | @@ -145,7 +145,7 @@ to complete{/i18n}: {$sIncomplete|escape}</p> | ||
| 145 | <tr> | 145 | <tr> |
| 146 | <td><input type="checkbox" name="fields[]" value="{$oField->getId()}" /></td> | 146 | <td><input type="checkbox" name="fields[]" value="{$oField->getId()}" /></td> |
| 147 | <td class="title"> | 147 | <td class="title"> |
| 148 | -{$oField->getName()|escape} | 148 | +{$oField->getName()} |
| 149 | </td> | 149 | </td> |
| 150 | <td> | 150 | <td> |
| 151 | <a href="{addQS}action=editField&fFieldId={$oField->getId()}&fFieldsetId={$oFieldset->getId()}{/addQS}" class="ktAction ktEdit">{i18n}edit{/i18n}</a> | 151 | <a href="{addQS}action=editField&fFieldId={$oField->getId()}&fFieldsetId={$oFieldset->getId()}{/addQS}" class="ktAction ktEdit">{i18n}edit{/i18n}</a> |
templates/ktcore/workflow/editState.smarty
| @@ -20,7 +20,7 @@ td.false { background-color: #ffaaaa; text-align: centre } | @@ -20,7 +20,7 @@ td.false { background-color: #ffaaaa; text-align: centre } | ||
| 20 | {/literal}{/capture} | 20 | {/literal}{/capture} |
| 21 | {$context->oPage->requireCSSStandalone($sCSS)} | 21 | {$context->oPage->requireCSSStandalone($sCSS)} |
| 22 | 22 | ||
| 23 | -<h2>{i18n}State{/i18n}: {$oState->getName()|escape}</h2> | 23 | +<h2>{i18n}State{/i18n}: {$oState->getName()}</h2> |
| 24 | 24 | ||
| 25 | <p class="descriptiveText">{i18n}As documents move through their lifecycle, they | 25 | <p class="descriptiveText">{i18n}As documents move through their lifecycle, they |
| 26 | are placed in certain <strong>states</strong>. For example, an invoice | 26 | are placed in certain <strong>states</strong>. For example, an invoice |
| @@ -106,7 +106,7 @@ with a specific <strong>role</strong> (e.g. Manager) or part of a specific group | @@ -106,7 +106,7 @@ with a specific <strong>role</strong> (e.g. Manager) or part of a specific group | ||
| 106 | <li><a | 106 | <li><a |
| 107 | href="{addQS}action=editTransition&fWorkflowId={$oWorkflow->getId()}&fTransitionId={$oTransition->getId()}{/addQS}" | 107 | href="{addQS}action=editTransition&fWorkflowId={$oWorkflow->getId()}&fTransitionId={$oTransition->getId()}{/addQS}" |
| 108 | title="Transition | 108 | title="Transition |
| 109 | -{$oTransition->getId()}">{$oTransition->getName()|escape}</a></li> | 109 | +{$oTransition->getId()}">{$oTransition->getName()}</a></li> |
| 110 | {/foreach} | 110 | {/foreach} |
| 111 | </ul> | 111 | </ul> |
| 112 | 112 |
templates/ktcore/workflow/editTransition.smarty
templates/ktcore/workflow/editWorkflow.smarty
| 1 | {$context->oPage->requireCSSResource('resources/css/workflow-admin.css')} | 1 | {$context->oPage->requireCSSResource('resources/css/workflow-admin.css')} |
| 2 | 2 | ||
| 3 | -<h2>{i18n}Workflow Overview{/i18n}: {$oWorkflow->getName()|escape}</h2> | 3 | +<h2>{i18n}Workflow Overview{/i18n}: {$oWorkflow->getName()}</h2> |
| 4 | 4 | ||
| 5 | <form action="{$smarty.server.PHP_SELF}" method="POST"> | 5 | <form action="{$smarty.server.PHP_SELF}" method="POST"> |
| 6 | <fieldset> | 6 | <fieldset> |
templates/ktstandard/disclaimers/manage_disclaimers_item.smarty
| @@ -14,7 +14,7 @@ tinyMCE.init({ | @@ -14,7 +14,7 @@ tinyMCE.init({ | ||
| 14 | <input type="hidden" name="action" value="update"> | 14 | <input type="hidden" name="action" value="update"> |
| 15 | <input type="hidden" name="title" value="{$help->getTitle()}"> | 15 | <input type="hidden" name="title" value="{$help->getTitle()}"> |
| 16 | 16 | ||
| 17 | -<h2>{$help->getTitle()|escape}</h2> | ||
| 18 | -<textarea cols="60" rows="20" name="description">{$help->getDescription()|escape}</textarea> | 17 | +<h2>{$help->getTitle()}</h2> |
| 18 | +<textarea cols="60" rows="20" name="description">{$help->getDescription()}</textarea> | ||
| 19 | <input type="submit" name="submit" value="{i18n}Update{/i18n}" /> | 19 | <input type="submit" name="submit" value="{i18n}Update{/i18n}" /> |
| 20 | </form> | 20 | </form> |
thirdparty/Smarty/plugins/modifier.mb_truncate.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Smarty plugin | ||
| 4 | + * @package Smarty | ||
| 5 | + * @subpackage plugins | ||
| 6 | + */ | ||
| 7 | + | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * Smarty mb_truncate modifier plugin | ||
| 11 | + * | ||
| 12 | + * Type: modifier<br> | ||
| 13 | + * Name: mb_truncate<br> | ||
| 14 | + * Purpose: Truncate a multibyte string to a certain length if necessary, | ||
| 15 | + * optionally splitting in the middle of a word, and | ||
| 16 | + * appending the $etc string. | ||
| 17 | + * @param string | ||
| 18 | + * @param integer | ||
| 19 | + * @param string | ||
| 20 | + * @param boolean | ||
| 21 | + * @return string | ||
| 22 | + */ | ||
| 23 | +function smarty_modifier_mb_truncate($string, $length = 80, $etc = '...', | ||
| 24 | + $break_words = false) | ||
| 25 | +{ | ||
| 26 | + if ($length == 0) | ||
| 27 | + return ''; | ||
| 28 | + | ||
| 29 | + if (mb_strlen($string) > $length) { | ||
| 30 | + $length -= mb_strlen($etc); | ||
| 31 | + if (!$break_words) | ||
| 32 | + $string = preg_replace('/\s+?(\S+)?$/', '', mb_substr($string, 0, $length+1)); | ||
| 33 | + | ||
| 34 | + return mb_substr($string, 0, $length).$etc; | ||
| 35 | + } else | ||
| 36 | + return $string; | ||
| 37 | +} | ||
| 38 | +?> | ||
| 0 | \ No newline at end of file | 39 | \ No newline at end of file |
thirdparty/Smarty/plugins/modifier.mb_wordwrap.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Smarty plugin | ||
| 4 | + * @package Smarty | ||
| 5 | + * @subpackage plugins | ||
| 6 | + */ | ||
| 7 | + | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * Smarty mb_wordwrap modifier plugin | ||
| 11 | + * | ||
| 12 | + * Type: modifier<br> | ||
| 13 | + * Name: mb_wordwrap<br> | ||
| 14 | + * Purpose: wrap a multibyte string of text at a given length | ||
| 15 | + * @param string | ||
| 16 | + * @param integer | ||
| 17 | + * @param string | ||
| 18 | + * @param boolean | ||
| 19 | + * @return string | ||
| 20 | + */ | ||
| 21 | +function smarty_modifier_mb_wordwrap($string,$length=80,$break="\n",$cut=false) | ||
| 22 | +{ | ||
| 23 | + | ||
| 24 | + $newString = ""; | ||
| 25 | + $index = 0; | ||
| 26 | + while(mb_strlen($newString) < mb_strlen($string)){ | ||
| 27 | + $newString .= mb_strcut($string, $index, $length, "UTF8") . $break; | ||
| 28 | + $index += $length; | ||
| 29 | + } | ||
| 30 | + return $newString; | ||
| 31 | + | ||
| 32 | +} | ||
| 33 | +?> | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |