Merge remote-tracking branch 'friendika/master' into newui

This commit is contained in:
fabrixxm 2011-09-08 20:15:27 +02:00
commit d284f8017c
20 changed files with 5733 additions and 45 deletions

View file

@ -471,7 +471,7 @@ function probe_url($url, $mode = PROBE_NORMAL) {
}
if(strlen($dfrn)) {
$ret = scrape_dfrn($dfrn);
$ret = scrape_dfrn(($hcard) ? $hcard : $dfrn);
if(is_array($ret) && x($ret,'dfrn-request')) {
$network = NETWORK_DFRN;
$request = $ret['dfrn-request'];

View file

@ -8,6 +8,10 @@ require_once('include/event.php');
function diaspora2bb($s) {
// bug #127
$s = preg_replace('/\[(.+?)\]\((.+?)[^\\\]_(.+?)\)/','[$1]($2\\_$3)',$s);
$s = str_replace(array('\\**','\\__','\\*','\\_'), array('-^doublestar^-','-^doublescore-^','-^star^-','-^score^-'),$s);
$s = preg_replace("/\*\*\*(.+?)\*\*\*/", '[b][i]$1[/i][/b]', $s);
$s = preg_replace("/\_\_\_(.+?)\_\_\_/", '[b][i]$1[/i][/b]', $s);
@ -15,6 +19,7 @@ function diaspora2bb($s) {
$s = preg_replace("/\_\_(.+?)\_\_/", '[b]$1[/b]', $s);
$s = preg_replace("/\*(.+?)\*/", '[i]$1[/i]', $s);
$s = preg_replace("/\_(.+?)\_/", '[i]$1[/i]', $s);
$s = str_replace(array('-^doublestar^-','-^doublescore-^','-^star^-','-^score^-'), array('**','__','*','_'), $s);
$s = preg_replace('/\!\[(.+?)\]\((.+?)\)/','[img]$2[/img]',$s);
$s = preg_replace('/\[(.+?)\]\((.+?)\)/','[url=$2]$1[/url]',$s);

View file

@ -259,22 +259,29 @@ function convert_xml_element_to_array($xml_element, &$recursion_depth=0) {
// or if the resultant personal XRD doesn't contain a supported
// subscription/friend-request attribute.
// amended 7/9/2011 to return an hcard which could save potentially loading
// a lengthy content page to scrape dfrn attributes
if(! function_exists('webfinger_dfrn')) {
function webfinger_dfrn($s) {
function webfinger_dfrn($s,&$hcard) {
if(! strstr($s,'@')) {
return $s;
}
$profile_link = '';
$links = webfinger($s);
logger('webfinger_dfrn: ' . $s . ':' . print_r($links,true), LOGGER_DATA);
if(count($links)) {
foreach($links as $link)
foreach($links as $link) {
if($link['@attributes']['rel'] === NAMESPACE_DFRN)
return $link['@attributes']['href'];
foreach($links as $link)
$profile_link = $link['@attributes']['href'];
if($link['@attributes']['rel'] === NAMESPACE_OSTATUSSUB)
return 'stat:' . $link['@attributes']['template'];
$profile_link = 'stat:' . $link['@attributes']['template'];
if($link['@attributes']['rel'] === 'http://microformats.org/profile/hcard')
$hcard = $link['@attributes']['href'];
}
}
return '';
return $profile_link;
}}
// Given an email style address, perform webfinger lookup and

View file

@ -1,5 +1,6 @@
<?php
class Template {
var $r;
var $search;
@ -8,6 +9,8 @@
var $nodes = array();
var $done = false;
var $d = false;
var $lang = null;
private function _preg_error(){
switch(preg_last_error()){
@ -156,8 +159,24 @@
krsort($this->nodes);
return $s;
}
private function _get_lang(){
if ($this->lang!=null) return $this->lang;
$a = get_app();
$this->lang=array();
foreach ($a->strings as $k=>$v){
$k = preg_replace("/[^a-z0-9-]/", "", str_replace(" ","-", strtolower($k)));
$this->lang[$k] = $v;
}
return $this->lang;
}
public function replace($s, $r) {
if (!x($r,'$lang')){
$r['$lang'] = &$this->_get_lang();
}
$this->r = $r;
$this->search = array();
$this->replace = array();
@ -171,7 +190,7 @@
// remove comments block
$s = preg_replace('/{#[^#]*#}/', "" , $s);
// replace strings recursively (limit to 10 loops)
$os = ""; $count=0;
while($os!=$s && $count<10){