From: <var...@us...> - 2023-07-14 11:37:06
|
Revision: 11056 http://sourceforge.net/p/phpwiki/code/11056 Author: vargenau Date: 2023-07-14 11:37:03 +0000 (Fri, 14 Jul 2023) Log Message: ----------- lib/BlockParser.php: PHP 7: add types for function arguments and return Modified Paths: -------------- trunk/lib/BlockParser.php trunk/lib/PageList.php trunk/lib/Template.php trunk/lib/WysiwygEdit/Wikiwyg.php trunk/lib/editpage.php trunk/lib/stdlib.php Modified: trunk/lib/BlockParser.php =================================================================== --- trunk/lib/BlockParser.php 2023-07-14 11:23:14 UTC (rev 11055) +++ trunk/lib/BlockParser.php 2023-07-14 11:37:03 UTC (rev 11056) @@ -83,7 +83,7 @@ * "(...)". (Anonymous groups, like "(?:...)", as well as * look-ahead and look-behind assertions are fine.) */ - public function __construct($regexps) + public function __construct(array $regexps) { $this->_regexps = $regexps; $this->_re = "/((" . join(")|(", $regexps) . "))/Ax"; @@ -130,7 +130,7 @@ * * @return AnchoredRegexpSet_match|bool An AnchoredRegexpSet_match object, or false if no match. */ - public function nextMatch($text, $prevMatch) + public function nextMatch(string $text, $prevMatch) { // Try to find match at same position. $regexps = array_slice($this->_regexps, $prevMatch->regexp_ind + 1); @@ -175,7 +175,7 @@ $this->_atSpace = false; } - public function skipSpace() + public function skipSpace(): bool { $nlines = count($this->_lines); while (1) { @@ -215,7 +215,7 @@ $this->_pos++; } - public function getPos() + public function getPos(): array { return array($this->_pos, $this->_atSpace); } @@ -225,12 +225,12 @@ list($this->_pos, $this->_atSpace) = $pos; } - public function getPrefix() + public function getPrefix(): string { return ''; } - public function getDepth() + public function getDepth(): int { return 0; } @@ -265,7 +265,7 @@ * @param string $prefix_re * @param string $initial_prefix */ - public function __construct(&$input, $prefix_re, $initial_prefix = '') + public function __construct(&$input, string $prefix_re, string $initial_prefix = '') { $this->_input = &$input; $this->_prefix_pat = "/$prefix_re|\\s*\$/Ax"; @@ -285,7 +285,7 @@ } } - public function skipSpace() + public function skipSpace(): bool { // In contrast to the case for top-level blocks, // for sub-blocks, there never appears to be any trailing space. @@ -330,7 +330,7 @@ $this->nextLine(); } - public function getPos() + public function getPos(): array { return array($this->_line, $this->_atSpace, $this->_input->getPos()); } @@ -342,7 +342,7 @@ $this->_input->setPos($pos[2]); } - public function getPrefix() + public function getPrefix(): string { assert($this->_line !== false); $line = $this->_input->currentLine(); @@ -350,7 +350,7 @@ return substr($line, 0, strlen($line) - strlen($this->_line)); } - public function getDepth() + public function getDepth(): int { return $this->_input->getDepth() + 1; } @@ -511,7 +511,7 @@ * * We go to this trouble so that "tight" lists look somewhat reasonable * in older (non-CSS) browsers. (If you don't do this, then, without - * CSS, you only get "loose" lists. + * CSS, you only get "loose" lists). */ class TightSubBlock extends SubBlock { @@ -563,7 +563,7 @@ public $_re = '\ +(?=\S)'; protected $_element; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $this->_depth = strlen($m->match); $indent = sprintf("\\ {%d}", $this->_depth); @@ -602,7 +602,7 @@ public $_content = array(); public $_tag; //'ol' or 'ul' - public function _match(&$input, $m) + public function _match(&$input, $m): bool { // A list as the first content in a list is not allowed. // E.g.: @@ -659,7 +659,7 @@ $this->_re = '\ {0,4}\S.*(?<!' . ESCAPE_CHAR . '):\s*$'; } - public function _match(&$input, $m) + public function _match(&$input, $m): bool { if (!($p = $this->_do_match($input, $m))) { return false; @@ -807,7 +807,7 @@ return $ncols; } - private function IsASubtable($item) + private function IsASubtable($item): bool { return is_a($item, 'HtmlElement') && $item->getTag() == 'table' @@ -825,7 +825,7 @@ return $this->_ncols; } - public function nrows() + public function nrows(): int { return $this->_nrows; } @@ -879,7 +879,7 @@ $this->_re = '\ {0,4} (?:\S.*)? (?<!' . ESCAPE_CHAR . ') \| \s* $'; } - public function _match(&$input, $m) + public function _match(&$input, $m): bool { if (!($p = $this->_do_match($input, $m))) { return false; @@ -920,7 +920,7 @@ | ; .*? : ) .*? (?=\S)'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { // FIXME: if (!preg_match('/[*#;]*$/A', $input->getPrefix())) { @@ -975,7 +975,7 @@ { public $_re = '<(?:pre|verbatim|nowiki|noinclude|includeonly)>'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $endtag = '</' . substr($m->match, 1); $text = array(); @@ -1021,7 +1021,7 @@ { public $_re = '<<<'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $endtag = '>>>'; $text = array(); @@ -1048,7 +1048,7 @@ { public $_re = '{{{'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $endtag = '}}}'; $text = array(); @@ -1082,7 +1082,7 @@ * * should all work. */ - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $pos = $input->getPos(); $pi = $m->match . $m->postmatch; @@ -1105,7 +1105,7 @@ // public $_re = '<<(?!\S)'; public $_re = '<<'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $pos = $input->getPos(); $pi = $m->postmatch; @@ -1133,7 +1133,7 @@ { public $_re = '\s*\|'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $pos = $input->getPos(); $pi = "|" . $m->postmatch; @@ -1174,7 +1174,7 @@ { public $_re = '{\|'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $pos = $input->getPos(); $pi = $m->postmatch; @@ -1209,7 +1209,7 @@ { public $_re = '{{'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { // If we find "}}", this is an inline template. if (strpos($m->postmatch, "}}") !== false) { @@ -1294,7 +1294,7 @@ public $_attr = array('class' => 'mail-style-quote'); public $_re = '>\ ?'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { //$indent = str_replace(' ', '\\ ', $m->match) . '|>$'; $indent = $this->_re; @@ -1308,7 +1308,7 @@ public $_attr = array('style' => 'margin-left:2em'); public $_re = ':\ ?'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $indent = $this->_re; $this->_element = new SubBlock( @@ -1326,7 +1326,7 @@ { public $_re = '-{4,}\s*$'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $input->advance(); $this->_element = new Block_HtmlElement('hr'); @@ -1338,7 +1338,7 @@ { public $_re = '!{1,3}'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $tag = "h" . (5 - strlen($m->match)); $text = TransformInline(trim($m->postmatch)); @@ -1354,7 +1354,7 @@ { public $_re = '={2,6}'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $tag = "h" . strlen($m->match); // Remove spaces @@ -1378,7 +1378,7 @@ private $_tight_bot; private $_tight_top; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { $this->_text = $m->match; $input->advance(); @@ -1415,7 +1415,7 @@ { public $_re = '<(?im)(?: div|span)(?:[^>]*)?>'; - public function _match(&$input, $m) + public function _match(&$input, $m): bool { if (substr($m->match, 1, 4) == 'span') { $tag = 'span'; Modified: trunk/lib/PageList.php =================================================================== --- trunk/lib/PageList.php 2023-07-14 11:23:14 UTC (rev 11055) +++ trunk/lib/PageList.php 2023-07-14 11:37:03 UTC (rev 11056) @@ -54,7 +54,7 @@ */ class _PageList_Column_base { - public $_tdattr = array(); + public array $_tdattr = array(); public $_field; public function __construct($default_heading, $align = false) @@ -85,7 +85,7 @@ } // old-style heading - public function heading() + public function heading(): HTML { global $request; // allow sorting? @@ -110,7 +110,7 @@ // new grid-style sortable heading // TODO: via activeui.js ? (fast dhtml sorting) - public function button_heading($pagelist, $colNum) + public function button_heading($pagelist, $colNum): HTML { global $WikiTheme, $request; // allow sorting? @@ -172,7 +172,7 @@ * * @return int -1 if $a < $b, 1 if $a > $b, 0 otherwise. */ - public function _compare($colvala, $colvalb) + public function _compare($colvala, $colvalb): int { if (is_string($colvala)) { return strcmp($colvala, $colvalb); @@ -209,7 +209,7 @@ * @param WikiDB_PageRevision $revision_handle * @return mixed */ - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { if ($this->_need_rev) { if (!$revision_handle) { @@ -227,7 +227,7 @@ * @param WikiDB_PageRevision $revision_handle * @return int|string */ - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $val = $this->_getValue($page_handle, $revision_handle); if ($this->_field == 'hits') { @@ -256,7 +256,7 @@ class _PageList_Column_size extends _PageList_Column { - public function format($pagelist, $page_handle, $revision_handle) + public function format($pagelist, $page_handle, $revision_handle): HTML { return HTML::td( $this->_tdattr, @@ -264,7 +264,7 @@ ); } - public function _getValuePageList($pagelist, $page_handle, $revision_handle) + public function _getValuePageList($pagelist, $page_handle, $revision_handle): FormattedText { if (!$revision_handle or (!$revision_handle->_data['%content'] or $revision_handle->_data['%content'] === true) @@ -280,7 +280,7 @@ return $size; } - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { if (!$revision_handle) { $revision_handle = $page_handle->getCurrentRevision(); @@ -289,7 +289,7 @@ ? 0 : strlen($revision_handle->_data['%content']); } - public function _getSize($revision_handle) + public function _getSize($revision_handle): FormattedText { $bytes = @strlen($revision_handle->_data['%content']); return ByteFormatter($bytes); @@ -305,7 +305,7 @@ $this->_textIfFalse = new RawXml('—'); //mdash } - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { //FIXME: check if $this is available in the parent (->need_rev) $val = parent::_getValue($page_handle, $revision_handle); @@ -327,7 +327,7 @@ parent::__construct($field, $heading, 'center'); } - public function _getValuePageList($pagelist, $page_handle, $revision_handle) + public function _getValuePageList($pagelist, $page_handle, $revision_handle): HTML { $pagename = $page_handle->getName(); $selected = !empty($pagelist->_selected[$pagename]); @@ -346,7 +346,7 @@ } } - public function format($pagelist, $page_handle, $revision_handle) + public function format($pagelist, $page_handle, $revision_handle): HTML { return HTML::td( $this->_tdattr, @@ -355,7 +355,7 @@ } // don't sort this javascript button - public function button_heading($pagelist, $colNum) + public function button_heading($pagelist, $colNum): HTML { $s = HTML($this->_heading); return HTML::th(array('class' => 'gridbutton'), $s); @@ -371,13 +371,13 @@ $this->WikiTheme = &$WikiTheme; } - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $time = parent::_getValue($page_handle, $revision_handle); return $this->WikiTheme->formatDateTime($time); } - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { return parent::_getValue($page_handle, $revision_handle); } @@ -385,7 +385,7 @@ class _PageList_Column_version extends _PageList_Column { - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { if (!$revision_handle) { $revision_handle = $page_handle->getCurrentRevision(); @@ -425,7 +425,7 @@ } } - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { if (!$revision_handle or (!$revision_handle->_data['%content'] or $revision_handle->_data['%content'] === true) @@ -510,7 +510,7 @@ ); } - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { if (is_object($page_handle) and !empty($page_handle->score)) { return $page_handle->score; @@ -535,7 +535,7 @@ $this->dbi =& $request->getDbh(); } - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $author = parent::_getValue($page_handle, $revision_handle); if ($this->dbi->isWikiPage($author)) { @@ -545,7 +545,7 @@ } } - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { return parent::_getValue($page_handle, $revision_handle); } @@ -553,7 +553,7 @@ class _PageList_Column_owner extends _PageList_Column_author { - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $author = $page_handle->getOwner(); if ($this->dbi->isWikiPage($author)) { @@ -563,7 +563,7 @@ } } - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { return parent::_getValue($page_handle, $revision_handle); } @@ -571,7 +571,7 @@ class _PageList_Column_creator extends _PageList_Column_author { - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $author = $page_handle->getCreator(); if ($this->dbi->isWikiPage($author)) { @@ -581,7 +581,7 @@ } } - public function _getSortableValue($page_handle, $revision_handle) + public function _getSortableValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { return parent::_getValue($page_handle, $revision_handle); } @@ -598,7 +598,7 @@ $this->dbi = &$request->getDbh(); } - public function _getValue($page_handle, $revision_handle) + public function _getValue($page_handle, $revision_handle): XmlContent { if ($this->dbi->isWikiPage($page_handle->getName())) { return WikiLink($page_handle); @@ -615,7 +615,7 @@ /** * Compare two pagenames for sorting. See _PageList_Column::_compare. **/ - public function _compare($colvala, $colvalb) + public function _compare($colvala, $colvalb): int { return strcmp($colvala, $colvalb); } @@ -623,7 +623,7 @@ class _PageList_Column_perm extends _PageList_Column { - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $perm_array = pagePermissions($page_handle->_pagename); return pagePermissionsSimpleFormat( @@ -636,7 +636,7 @@ class _PageList_Column_acl extends _PageList_Column { - public function _getValue($page_handle, $revision_handle) + public function _getValue(WikiDB_Page $page_handle, WikiDB_PageRevision $revision_handle) { $perm_tree = pagePermissions($page_handle->_pagename); @@ -658,19 +658,19 @@ class PageList { - public $_group_rows = 3; - public $_columns = array(); - private $_columnsMap = array(); // Maps column name to column number. + public int $_group_rows = 3; + public array $_columns = array(); + private array $_columnsMap = array(); // Maps column name to column number. private $_excluded_pages = array(); - public $_pages = array(); - public $_caption = ""; - public $_types = array(); + public array $_pages = array(); + public string $_caption = ""; + public array $_types = array(); public $_options = array(); - public $_selected = array(); - public $_sortby = array(); - public $_maxlen = 0; - private $_messageIfEmpty = ''; - public $_columns_seen = array(); + public array $_selected = array(); + public array $_sortby = array(); + public int $_maxlen = 0; + private string $_messageIfEmpty = ''; + public array $_columns_seen = array(); private $_stack; public function __construct($columns = array(), $exclude = array(), $options = array()) @@ -802,7 +802,7 @@ // 1: info, 2: exclude, 3: hash of options // Here we declare which options are supported, so that // the calling plugin may simply merge this with its own default arguments - public static function supportedArgs() + public static function supportedArgs(): array { // Todo: add all supported Columns, like locked, minor, ... return array( // Currently supported options: @@ -855,7 +855,7 @@ ); } - private function pagingArgs() + private function pagingArgs(): array { return array('sortby', 'limit', 'paging', 'count', 'dosort'); } @@ -876,7 +876,7 @@ $this->_caption = HTML($this->_caption, " ", $caption); } - private function getCaption() + private function getCaption(): string { // put the total into the caption if needed if (is_string($this->_caption) && strstr($this->_caption, '%d')) { @@ -885,13 +885,13 @@ return $this->_caption; } - public function getTotal() + public function getTotal(): int { return !empty($this->_options['count']) ? (int)$this->_options['count'] : count($this->_pages); } - public function isEmpty() + public function isEmpty(): bool { return empty($this->_pages); } @@ -911,7 +911,7 @@ } } - public function pageNames() + public function pageNames(): array { $pages = array(); $limit = @$this->_options['limit']; @@ -1212,7 +1212,7 @@ $sortby = '', $limit = '', $exclude = '' - ) + ): array { /** * @var WikiRequest $request @@ -1253,7 +1253,7 @@ $sortby = '', $limit = '', $exclude = '' - ) + ): array { /** * @var WikiRequest $request @@ -1293,7 +1293,7 @@ $sortby = '', $limit = '', $exclude = '' - ) + ): array { /** * @var WikiRequest $request @@ -1332,7 +1332,7 @@ $sortby = '', $limit = '', $exclude = '' - ) + ): array { /** * @var WikiRequest $request @@ -1371,7 +1371,7 @@ $sortby = '', $limit = '', $exclude = '' - ) + ): array { /** * @var WikiRequest $request @@ -1510,7 +1510,7 @@ * @param string $column column name * @return bool true if column is added, false otherwise */ - public function _addColumn($column) + public function _addColumn(string $column): bool { global $request; @@ -1642,7 +1642,7 @@ } } - public function limit($limit) + public function limit($limit): array { if (is_array($limit)) { list($from, $count) = $limit; @@ -1738,7 +1738,7 @@ } // make a table given the caption - public function _generateTable($caption = '') + public function _generateTable($caption = ''): HTML { if (count($this->_sortby) > 0) { $this->sortPages(); @@ -2010,7 +2010,7 @@ // comma=1 // Condense list without a href links: "Page1, Page2, ..." // FIXME: only unique list entries, esp. with nopage - private function generateCommaListAsString() + private function generateCommaListAsString(): XmlContent { if (defined($this->_options['commasep'])) { $separator = $this->_options['commasep']; @@ -2031,7 +2031,7 @@ // Future: 1 = reserved for plain string (see above) // 2 and more => HTML link specialization? // FIXME: only unique list entries, esp. with nopage - private function generateCommaList() + private function generateCommaList(): XmlContent { if (defined($this->_options['commasep'])) { $separator = HTML::raw($this->_options['commasep']); @@ -2049,7 +2049,7 @@ return $html; } - public function _emptyList($caption) + public function _emptyList($caption): XmlContent { $html = HTML(); if ($caption) { Modified: trunk/lib/Template.php =================================================================== --- trunk/lib/Template.php 2023-07-14 11:23:14 UTC (rev 11055) +++ trunk/lib/Template.php 2023-07-14 11:37:03 UTC (rev 11056) @@ -37,7 +37,7 @@ * @param WikiRequest $request * @param array $args */ - public function __construct($name, &$request, $args = array()) + public function __construct(string $name, WikiRequest &$request, array $args = array()) { global $WikiTheme; @@ -138,7 +138,7 @@ * @param string $varname Name of token to substitute for. * @param string $value Replacement HTML text. */ - public function replace($varname, $value) + public function replace(string $varname, string $value) { $this->_locals[$varname] = $value; } @@ -235,13 +235,13 @@ * new Template(...) * </pre> */ -function Template($name, $args = array()) +function Template($name, $args = array()): Template { global $request; return new Template($name, $request, $args); } -function alreadyTemplateProcessed($name) +function alreadyTemplateProcessed($name): bool { global $request; return !empty($request->_TemplatesProcessed[$name]) ? true : false; @@ -256,7 +256,7 @@ * @param object|bool $page_revision A WikiDB_PageRevision object or false * @param array $args hash Extract args for top-level template */ -function GeneratePage($content, $title, $page_revision = false, $args = array()) +function GeneratePage($content, string $title, $page_revision = false, array $args = array()) { global $request; Modified: trunk/lib/WysiwygEdit/Wikiwyg.php =================================================================== --- trunk/lib/WysiwygEdit/Wikiwyg.php 2023-07-14 11:23:14 UTC (rev 11055) +++ trunk/lib/WysiwygEdit/Wikiwyg.php 2023-07-14 11:37:03 UTC (rev 11056) @@ -157,7 +157,7 @@ * @param string $text * @return string */ - public function ConvertBefore($text) + public function ConvertBefore($text): string { return $text; } @@ -169,7 +169,7 @@ * @param string $text * @return string */ - public function ConvertAfter($text) + public function ConvertAfter($text): string { return TransformInline($text); } @@ -321,7 +321,7 @@ // This is called to replace the RichTable plugin by an html table // $matched contains html <p> tags so // they are deleted before the conversion. -function replace_rich_table($matched) +function replace_rich_table($matched): string { /** * @var WikiRequest $request Modified: trunk/lib/editpage.php =================================================================== --- trunk/lib/editpage.php 2023-07-14 11:23:14 UTC (rev 11055) +++ trunk/lib/editpage.php 2023-07-14 11:37:03 UTC (rev 11056) @@ -57,7 +57,7 @@ /** * @param WikiRequest $request */ - public function __construct(&$request) + public function __construct(WikiRequest &$request) { $this->request = &$request; @@ -123,7 +123,7 @@ } } - public function editPage() + public function editPage(): ?bool { $saveFailed = false; $tokens = &$this->tokens; @@ -240,7 +240,7 @@ return $this->output('editpage', _("Edit: %s")); } - public function output($template, $title_fs) + public function output($template, $title_fs): bool { global $WikiTheme; $selected = &$this->selected; @@ -279,7 +279,7 @@ return $this->output('viewsource', _("View Source: %s")); } - private function updateLock() + private function updateLock(): bool { $changed = false; if (!ENABLE_PAGE_PUBLIC && !ENABLE_EXTERNAL_PAGES) { @@ -322,7 +322,7 @@ return $changed; // lock changed. } - public function savePage() + public function savePage(): bool { $request = &$this->request; @@ -418,17 +418,17 @@ return $this->current->getVersion() != $this->_currentVersion; } - protected function canEdit() + protected function canEdit(): bool { return !$this->page->get('locked') || $this->user->isAdmin(); } - protected function isInitialEdit() + protected function isInitialEdit(): bool { return $this->_initialEdit; } - private function isUnchanged() + private function isUnchanged(): bool { $current = &$this->current; return $this->_content == $current->getPackedContent(); @@ -444,7 +444,7 @@ * ENABLE_SPAMASSASSIN: content patterns by babycart (only php >= 4.3 for now) * ENABLE_SPAMBLOCKLIST: content domain blacklist */ - private function isSpam() + private function isSpam(): bool { $current = &$this->current; $request = &$this->request; @@ -533,7 +533,7 @@ /** Number of external links in the wikitext */ - private function numLinks(&$text) + private function numLinks(&$text): int { return substr_count($text, "http://") + substr_count($text, "https://"); } @@ -540,7 +540,7 @@ /** Header of the Anti Spam message */ - private function getSpamMessage() + private function getSpamMessage(): XmlContent { return HTML( @@ -554,7 +554,7 @@ ); } - protected function getPreview() + protected function getPreview(): TransformedText { require_once 'lib/PageType.php'; $this->_content = $this->getContent(); @@ -561,7 +561,7 @@ return new TransformedText($this->page, $this->_content, $this->meta); } - protected function getConvertedPreview() + protected function getConvertedPreview(): TransformedText { require_once 'lib/PageType.php'; $this->_content = $this->getContent(); @@ -568,7 +568,7 @@ return new TransformedText($this->page, $this->_content, $this->meta); } - private function getDiff() + private function getDiff(): XmlContent { require_once 'lib/diff.php'; $html = HTML(); @@ -611,7 +611,7 @@ } } - protected function getLockedMessage() + protected function getLockedMessage(): XmlContent { return HTML( @@ -627,7 +627,7 @@ return $this->page->get('moderation'); } - private function getModeratedMessage() + private function getModeratedMessage(): XmlContent { return HTML( @@ -640,7 +640,7 @@ ); } - protected function getConflictMessage($unresolved = false) + protected function getConflictMessage($unresolved = false): XmlContent { /* xgettext only knows about c/c++ line-continuation strings @@ -1156,7 +1156,7 @@ $this->request->redirect(WikiURL($this->page, array(), 'absolute_url')); } - private function _restoreState() + private function _restoreState(): bool { $request = &$this->request; @@ -1255,7 +1255,7 @@ class LoadFileConflictPageEditor extends PageEditor { - public function editPage($saveFailed = true) + public function editPage($saveFailed = true): ?bool { $tokens = &$this->tokens; @@ -1342,7 +1342,7 @@ return $this->output('editpage', _("Merge and Edit: %s")); } - public function output($template, $title_fs) + public function output($template, $title_fs): bool { $selected = &$this->selected; $current = &$this->current; @@ -1371,7 +1371,7 @@ return true; } - protected function getConflictMessage($unresolved = false) + protected function getConflictMessage($unresolved = false): XmlContent { return HTML(HTML::p( fmt( Modified: trunk/lib/stdlib.php =================================================================== --- trunk/lib/stdlib.php 2023-07-14 11:23:14 UTC (rev 11055) +++ trunk/lib/stdlib.php 2023-07-14 11:37:03 UTC (rev 11056) @@ -125,7 +125,7 @@ * @param string $str * @return string */ -function MangleXmlIdentifier($str) +function MangleXmlIdentifier(string $str): string { if (!$str) { return 'empty.'; @@ -145,7 +145,7 @@ * configuration file. * @return string The name of the WIKI_ID cookie to use for this wiki. */ -function getCookieName() +function getCookieName(): string { return preg_replace("/[^\d\w]/", "_", WIKI_NAME) . "_WIKI_ID"; } @@ -244,7 +244,7 @@ * @param string $url * @return string Absolute URL */ -function AbsoluteURL($url) +function AbsoluteURL(string $url): string { if (preg_match('/^https?:/', $url)) { return $url; @@ -308,7 +308,7 @@ * @param string $text The text. * @return XmlContent. */ -function PossiblyGlueIconToText($proto_or_url, $text) +function PossiblyGlueIconToText(string $proto_or_url, string $text): XmlContent { global $request, $WikiTheme; if ($request->getPref('noLinkIcons')) { @@ -379,7 +379,7 @@ * @param bool $http_only if true, accept only http and https URLs * @return bool true if safe, false else. */ -function IsSafeURL($url, $http_only = false) +function IsSafeURL(string $url, bool $http_only = false): bool { if (preg_match('/([<>"])|(%3C)|(%3E)|(%22)/', $url)) { return false; @@ -402,7 +402,7 @@ * @param string $linktext Text to be displayed as link. * @return HtmlElement HtmlElement object that contains data to construct an html link. */ -function LinkURL($url, $linktext = '') +function LinkURL(string $url, string $linktext = ''): HtmlElement { // FIXME: Is this needed (or sufficient?) if (!IsSafeURL($url)) { @@ -430,7 +430,7 @@ * * Handle embeddable objects, like svg, class, vrml, svgz, pdf, avi, wmv especially. */ -function LinkImage($url, $alt = "") +function LinkImage(string $url, string $alt = "") { $force_img = "png|jpg|gif|jpeg|bmp|pl|cgi"; // Disallow tags in img src urls. Typical CSS attacks. @@ -766,7 +766,7 @@ // end class definition -function SplitQueryArgs($query_args = '') +function SplitQueryArgs(string $query_args = ''): array { // FIXME: use the arg-separator which might not be & $split_args = explode('&', $query_args); @@ -779,7 +779,7 @@ return $args; } -function LinkPhpwikiURL($url, $text = '', $basepage = false) +function LinkPhpwikiURL(string $url, string $text = '', bool $basepage = false) { /** * @var WikiRequest $request @@ -949,7 +949,7 @@ return substr($name, 0, -strlen($tail)); } - public function isValid($strict = false) + public function isValid(bool $strict = false) { if ($strict) { return !isset($this->_errors); @@ -1064,7 +1064,7 @@ * @param int $tab_width * @return string */ -function expand_tabs($str, $tab_width = 8) +function expand_tabs(string $str, int $tab_width = 8) { $split = explode("\t", $str); $tail = array_pop($split); @@ -1088,7 +1088,7 @@ * * @return string The split name. */ -function SplitPagename($page) +function SplitPagename(string $page): string { if (preg_match("/\s/", $page)) { return $page; @@ -1184,7 +1184,7 @@ * @param int $time Unix timestamp (defaults to current time). * @return string Formatted date & time. */ -function ncsa_time($time = 0) +function ncsa_time(int $time = 0) { if (!$time) { $time = time(); @@ -1199,7 +1199,7 @@ * @param bool $no_colon Don't put colon between hours and minutes. * @return string Offset as a string in the format +HH:MM. */ -function TimezoneOffset($time = 0, $no_colon = false) +function TimezoneOffset(int $time = 0, bool $no_colon = false) { if ($time == 0) { $time = time(); @@ -1229,7 +1229,7 @@ * @param int $time Time. Default: now. * @return string Date and time in ISO-8601 format. */ -function Iso8601DateTime($time = 0) +function Iso8601DateTime(int $time = 0): string { if ($time == 0) { $time = time(); @@ -1246,7 +1246,7 @@ * @param int $time Time. Default: now. * @return string Date and time in RFC-2822 format. */ -function Rfc2822DateTime($time = 0) +function Rfc2822DateTime(int $time = 0): string { if ($time == 0) { $time = time(); @@ -1260,7 +1260,7 @@ * @param int $time Time. Default: now. * @return string Date and time in RFC-1123 format. */ -function Rfc1123DateTime($time = 0) +function Rfc1123DateTime(int $time = 0): string { if ($time == 0) { $time = time(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |