==== Wikka Mod 040 ==== Type: Feature Addition ---- ===Credit:=== **DarTar** **(main credit for the idea and code)** SmartTitle **DreckFehler** (suggestions, comedy and code improvement) **[[JsnX | Jason Tourtelotte]]** (refinement and implementation) ---- ====Smart Page Titles==== ===Description=== Before this mod, page titles in Wikka corresponded to their WikiName. Although this is consistent with Wiki philosophy, in some cases having a dumb WikiName as a title is pretty limiting: ~-[[WikiName]]s make **""VeryLongTitlesQuiteDifficultToUnderstand""**; ~-They are not an optimal solution for visibility in search engines; ~-They cannot contain accents or other special characters; After this mod, page titles correspond to the first header found in the page. If no header is found, then the page's WikiName is displayed. ===Code=== Add this code to /wikka.php: %% function PageTitle() { $title = ""; $pagecontent = $this->page["body"]; if (ereg( "(=){3,5}([^=]+)(=){3,5}", $pagecontent, $title)) { $formatting_tags = array("**", "//", "__", "##", "''", "++", "#%", "@@", "\"\""); $title = str_replace($formatting_tags, "", $title[2]); } if ($title) return $title; else return $this->GetPageTag(); } %% Then make the following change in ##/actions/header.php## old: %%(php) <?php echo $this->GetWakkaName()." : ".$this->GetPageTag(); ?>%% new: %%(php) <?php echo $this->GetWakkaName()." : ".$this->PageTitle(); ?>%%