Changeset 1383

Show
Ignore:
Timestamp:
12/06/07 11:56:24 (1 year ago)
Author:
rho
Message:

fixed #195, missed function

Signed-off: Rolando Espinoza La fuente <rho@prosoftpeople.com>

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • devel/mod/pages/lib.php

    r1376 r1383  
    529529} 
    530530 
     531function pages_build_uri($title) { 
     532    // Use elgg's textlib functions 
     533    $textlib = textlib_get_instance(); 
     534 
     535    $title = strip_tags($title); 
     536    // Preserve escaped octets. 
     537    //$title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title); 
     538    // Remove percent signs that are not part of an octet. 
     539    //$title = str_replace('%', '', $title); 
     540    // Restore octets. 
     541    //$title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title); 
     542 
     543    //$title = $textlib->strtolower($title, 'utf-8'); 
     544    $title = pages_remove_accents($title); 
     545    $title = preg_replace('/&.+?;/', '', $title); // kill entities 
     546    //$title = preg_replace('/[^%a-z0-9 _-]/', '', $title); 
     547    $title = preg_replace('/[^A-Za-z0-9,;:\]\[\(\)\. _-]/', '', $title); 
     548    $title = preg_replace('/[\s,;:\]\[\(\)]+/', '_', $title); 
     549    $title = preg_replace('/\.+$|^\.+/', '', $title); 
     550    $title = preg_replace('/\.+-|-\.+/', '_', $title); 
     551    $title = preg_replace('|-+|', '_', $title); 
     552    $title = trim($title, '_'); 
     553 
     554    return $textlib->substr($title, 0, 127); 
     555} 
     556 
     557function pages_remove_accents($string) { 
     558    $chars = array( 
     559    // Decompositions for Latin-1 Supplement 
     560    chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', 
     561    chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', 
     562    chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', 
     563    chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', 
     564    chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', 
     565    chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', 
     566    chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', 
     567    chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', 
     568    chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', 
     569    chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', 
     570    chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', 
     571    chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', 
     572    chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', 
     573    chr(195).chr(159) => 's', chr(195).chr(160) => 'a', 
     574    chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', 
     575    chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', 
     576    chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', 
     577    chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', 
     578    chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', 
     579    chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', 
     580    chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', 
     581    chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', 
     582    chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', 
     583    chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', 
     584    chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', 
     585    chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', 
     586    chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', 
     587    chr(195).chr(191) => 'y', 
     588    // Decompositions for Latin Extended-A 
     589    chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', 
     590    chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', 
     591    chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', 
     592    chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', 
     593    chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', 
     594    chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', 
     595    chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', 
     596    chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', 
     597    chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', 
     598    chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', 
     599    chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', 
     600    chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', 
     601    chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', 
     602    chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', 
     603    chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', 
     604    chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', 
     605    chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', 
     606    chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', 
     607    chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', 
     608    chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', 
     609    chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', 
     610    chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', 
     611    chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', 
     612    chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', 
     613    chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', 
     614    chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', 
     615    chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', 
     616    chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', 
     617    chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', 
     618    chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', 
     619    chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', 
     620    chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', 
     621    chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', 
     622    chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', 
     623    chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', 
     624    chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', 
     625    chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', 
     626    chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', 
     627    chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', 
     628    chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', 
     629    chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', 
     630    chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', 
     631    chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', 
     632    chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', 
     633    chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', 
     634    chr(197).chr(154) => 'S',chr(197).chr(155) => 's', 
     635    chr(197).chr(156) => 'S',chr(197).chr(157) => 's', 
     636    chr(197).chr(158) => 'S',chr(197).chr(159) => 's', 
     637    chr(197).chr(160) => 'S', chr(197).chr(161) => 's', 
     638    chr(197).chr(162) => 'T', chr(197).chr(163) => 't', 
     639    chr(197).chr(164) => 'T', chr(197).chr(165) => 't', 
     640    chr(197).chr(166) => 'T', chr(197).chr(167) => 't', 
     641    chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', 
     642    chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', 
     643    chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', 
     644    chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', 
     645    chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', 
     646    chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', 
     647    chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', 
     648    chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', 
     649    chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', 
     650    chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', 
     651    chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', 
     652    chr(197).chr(190) => 'z', chr(197).chr(191) => 's', 
     653    // Euro Sign 
     654    chr(226).chr(130).chr(172) => 'E'); 
     655     
     656    $string = strtr($string, $chars); 
     657    return $string; 
     658} 
     659 
    531660if (!function_exists('array_insert')) { 
    532661 
  • devel/mod/pages/lib/pages.inc.php

    r1376 r1383  
    616616} 
    617617 
    618 function pages_build_uri($title) { 
    619     // Use elgg's textlib functions 
    620     $textlib = textlib_get_instance(); 
    621  
    622     $title = strip_tags($title); 
    623     // Preserve escaped octets. 
    624     //$title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title); 
    625     // Remove percent signs that are not part of an octet. 
    626     //$title = str_replace('%', '', $title); 
    627     // Restore octets. 
    628     //$title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title); 
    629  
    630     //$title = $textlib->strtolower($title, 'utf-8'); 
    631     $title = pages_remove_accents($title); 
    632     $title = preg_replace('/&.+?;/', '', $title); // kill entities 
    633     //$title = preg_replace('/[^%a-z0-9 _-]/', '', $title); 
    634     $title = preg_replace('/[^A-Za-z0-9,;:\]\[\(\)\. _-]/', '', $title); 
    635     $title = preg_replace('/[\s,;:\]\[\(\)]+/', '_', $title); 
    636     $title = preg_replace('/\.+$|^\.+/', '', $title); 
    637     $title = preg_replace('/\.+-|-\.+/', '_', $title); 
    638     $title = preg_replace('|-+|', '_', $title); 
    639     $title = trim($title, '_'); 
    640  
    641     return $textlib->substr($title, 0, 127); 
    642 } 
    643  
    644 function pages_remove_accents($string) { 
    645     $chars = array( 
    646     // Decompositions for Latin-1 Supplement 
    647     chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', 
    648     chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', 
    649     chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', 
    650     chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', 
    651     chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', 
    652     chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', 
    653     chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', 
    654     chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', 
    655     chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', 
    656     chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', 
    657     chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', 
    658     chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', 
    659     chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', 
    660     chr(195).chr(159) => 's', chr(195).chr(160) => 'a', 
    661     chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', 
    662     chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', 
    663     chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', 
    664     chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', 
    665     chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', 
    666     chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', 
    667     chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', 
    668     chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', 
    669     chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', 
    670     chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', 
    671     chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', 
    672     chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', 
    673     chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', 
    674     chr(195).chr(191) => 'y', 
    675     // Decompositions for Latin Extended-A 
    676     chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', 
    677     chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', 
    678     chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', 
    679     chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', 
    680     chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', 
    681     chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', 
    682     chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', 
    683     chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', 
    684     chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', 
    685     chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', 
    686     chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', 
    687     chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', 
    688     chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', 
    689     chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', 
    690     chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', 
    691     chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', 
    692     chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', 
    693     chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', 
    694     chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', 
    695     chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', 
    696     chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', 
    697     chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', 
    698     chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', 
    699     chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', 
    700     chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', 
    701     chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', 
    702     chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', 
    703     chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', 
    704     chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', 
    705     chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', 
    706     chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', 
    707     chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', 
    708     chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', 
    709     chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', 
    710     chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', 
    711     chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', 
    712     chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', 
    713     chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', 
    714     chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', 
    715     chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', 
    716     chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', 
    717     chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', 
    718     chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', 
    719     chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', 
    720     chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', 
    721     chr(197).chr(154) => 'S',chr(197).chr(155) => 's', 
    722     chr(197).chr(156) => 'S',chr(197).chr(157) => 's', 
    723     chr(197).chr(158) => 'S',chr(197).chr(159) => 's', 
    724     chr(197).chr(160) => 'S', chr(197).chr(161) => 's', 
    725     chr(197).chr(162) => 'T', chr(197).chr(163) => 't', 
    726     chr(197).chr(164) => 'T', chr(197).chr(165) => 't', 
    727     chr(197).chr(166) => 'T', chr(197).chr(167) => 't', 
    728     chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', 
    729     chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', 
    730     chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', 
    731     chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', 
    732     chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', 
    733     chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', 
    734     chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', 
    735     chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', 
    736     chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', 
    737     chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', 
    738     chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', 
    739     chr(197).chr(190) => 'z', chr(197).chr(191) => 's', 
    740     // Euro Sign 
    741     chr(226).chr(130).chr(172) => 'E'); 
    742      
    743     $string = strtr($string, $chars); 
    744     return $string; 
    745 } 
    746  
    747618function pages_header_redirect($url, $status=null) { 
    748619    global $messages;