]> git.mxchange.org Git - friendica.git/blobdiff - include/text.php
don't use language detection if < php 5.3
[friendica.git] / include / text.php
index 8c8db66a9eee938f90be5b1b476d9b3503003ec2..409d40d59f6155a6a5533e986ff7a29b99ea9329 100644 (file)
@@ -558,7 +558,7 @@ function contact_block() {
 
        if((! is_array($a->profile)) || ($a->profile['hide-friends']))
                return $o;
-       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0",
+       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0",
                        intval($a->profile['uid'])
        );
        if(count($r)) {
@@ -569,7 +569,7 @@ function contact_block() {
                $micropro = Null;
                
        } else {
-               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 ORDER BY RAND() LIMIT %d",
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY RAND() LIMIT %d",
                                intval($a->profile['uid']),
                                intval($shown)
                );
@@ -646,7 +646,7 @@ function search($s,$id='search-box',$url='/search',$save = false) {
        $a = get_app();
        $o  = '<div id="' . $id . '">';
        $o .= '<form action="' . $a->get_baseurl((stristr($url,'network')) ? true : false) . $url . '" method="get" >';
-       $o .= '<input type="text" name="search" id="search-text" value="' . $s .'" />';
+       $o .= '<input type="text" name="search" id="search-text" placeholder="' . t('Search') . '" value="' . $s .'" />';
        $o .= '<input type="submit" name="submit" id="search-submit" value="' . t('Search') . '" />'; 
        if($save)
                $o .= '<input type="submit" name="save" id="search-save" value="' . t('Save') . '" />'; 
@@ -656,6 +656,10 @@ function search($s,$id='search-box',$url='/search',$save = false) {
 
 if(! function_exists('valid_email')) {
 function valid_email($x){
+
+       if(get_config('system','disable_email_validation'))
+               return true;
+
        if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
                return true;
        return false;
@@ -742,44 +746,48 @@ function smilies($s, $sample = false) {
                ':homebrew', 
                ':coffee', 
                ':facepalm',
+               ':like',
+               ':dislike',
                '~friendika', 
                '~friendica'
 
        );
 
        $icons = array(
-               '<img src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="<3" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-brokenheart.gif" alt="</3" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-brokenheart.gif" alt="<\\3" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-smile.gif" alt=":-)" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-wink.gif" alt=";-)" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-frown.gif" alt=":-(" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-tongue-out.gif" alt=":-P" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-tongue-out.gif" alt=":-p" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-\"" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-\"" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-x" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-X" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-laughing.gif" alt=":-D" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-|" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-O" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt=":-O" />',                
-               '<img src="' . $a->get_baseurl() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o.O" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O.o" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o_O" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O_o" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-cry.gif" alt=":\'(" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-undecided.gif" alt=":-/" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-embarassed.gif" alt=":-[" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-cool.gif" alt="8-)" />',
-               '<img src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":beer" />',
-               '<img src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":homebrew" />',
-               '<img src="' . $a->get_baseurl() . '/images/coffee.gif" alt=":coffee" />',
-               '<img src="' . $a->get_baseurl() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
-               '<a href="http://project.friendika.com">~friendika <img src="' . $a->get_baseurl() . '/images/friendika-16.png" alt="~friendika" /></a>',
-               '<a href="http://friendica.com">~friendica <img src="' . $a->get_baseurl() . '/images/friendica-16.png" alt="~friendica" /></a>'
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="<3" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-brokenheart.gif" alt="</3" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-brokenheart.gif" alt="<\\3" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-smile.gif" alt=":-)" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-wink.gif" alt=";-)" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-frown.gif" alt=":-(" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-tongue-out.gif" alt=":-P" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-tongue-out.gif" alt=":-p" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-\"" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-\"" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-x" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-X" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-laughing.gif" alt=":-D" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-|" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-O" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt=":-O" />',                
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o.O" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O.o" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o_O" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O_o" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-cry.gif" alt=":\'(" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-undecided.gif" alt=":-/" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-embarassed.gif" alt=":-[" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-cool.gif" alt="8-)" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":beer" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":homebrew" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/coffee.gif" alt=":coffee" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/like.gif" alt=":like" />',
+               '<img class="smiley" src="' . $a->get_baseurl() . '/images/dislike.gif" alt=":dislike" />',
+               '<a href="http://project.friendika.com">~friendika <img class="smiley" src="' . $a->get_baseurl() . '/images/friendika-16.png" alt="~friendika" /></a>',
+               '<a href="http://friendica.com">~friendica <img class="smiley" src="' . $a->get_baseurl() . '/images/friendica-16.png" alt="~friendica" /></a>'
        );
 
        $params = array('texts' => $texts, 'icons' => $icons, 'string' => $s);
@@ -819,7 +827,7 @@ function preg_heart($x) {
                return $x[0];
        $t = '';
        for($cnt = 0; $cnt < strlen($x[1]); $cnt ++)
-               $t .= '<img src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="<3" />';
+               $t .= '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="<3" />';
        $r =  str_replace($x[0],$t,$x[0]);
        return $r;
 }
@@ -887,6 +895,7 @@ function prepare_body($item,$attach = false) {
        } else
                $s = prepare_text($item['body']);
 
+
        $prep_arr = array('item' => $item, 'html' => $s);
        call_hooks('prepare_body', $prep_arr);
        $s = $prep_arr['html'];
@@ -901,24 +910,30 @@ function prepare_body($item,$attach = false) {
                foreach($arr as $r) {
                        $matches = false;
                        $icon = '';
-                       $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches);
+                       $cnt = preg_match_all('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches, PREG_SET_ORDER);
                        if($cnt) {
-                               $icontype = strtolower(substr($matches[3],0,strpos($matches[3],'/')));
-                               switch($icontype) {
-                                       case 'video':
-                                       case 'audio':
-                                       case 'image':
-                                       case 'text':
-                                               $icon = '<div class="attachtype icon s22 type-' . $icontype . '"></div>';
-                                               break;
-                                       default:
-                                               $icon = '<div class="attachtype icon s22 type-unkn"></div>';
-                                               break;
+                               foreach($matches as $mtch) {
+                                       $icontype = strtolower(substr($mtch[3],0,strpos($mtch[3],'/')));
+                                       switch($icontype) {
+                                               case 'video':
+                                               case 'audio':
+                                               case 'image':
+                                               case 'text':
+                                                       $icon = '<div class="attachtype icon s22 type-' . $icontype . '"></div>';
+                                                       break;
+                                               default:
+                                                       $icon = '<div class="attachtype icon s22 type-unkn"></div>';
+                                                       break;
+                                       }
+                                       $title = ((strlen(trim($mtch[4]))) ? escape_tags(trim($mtch[4])) : escape_tags($mtch[1]));
+                                       $title .= ' ' . $mtch[2] . ' ' . t('bytes');
+                                       if((local_user() == $item['uid']) && $item['contact-id'] != $a->contact['id'])
+                                               $the_url = $a->get_baseurl() . '/redir/' . $item['contact-id'] . '?f=1&url=' . $mtch[1];
+                                       else
+                                               $the_url = $mtch[1];
+
+                                       $s .= '<a href="' . strip_tags($the_url) . '" title="' . $title . '" class="attachlink" target="external-link" >' . $icon . '</a>';
                                }
-                               $title = ((strlen(trim($matches[4]))) ? escape_tags(trim($matches[4])) : escape_tags($matches[1]));
-                               $title .= ' ' . $matches[2] . ' ' . t('bytes');
-
-                               $s .= '<a href="' . strip_tags($matches[1]) . '" title="' . $title . '" class="attachlink" target="external-link" >' . $icon . '</a>';
                        }
                }
                $s .= '<div class="clear"></div></div>';
@@ -930,7 +945,8 @@ function prepare_body($item,$attach = false) {
                foreach($matches as $mtch) {
                        if(strlen($x))
                                $x .= ',';
-                       $x .= xmlify(file_tag_decode($mtch[1]));
+                       $x .= xmlify(file_tag_decode($mtch[1])) 
+                               . ((local_user() == $item['uid']) ? ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&cat=' . xmlify(file_tag_decode($mtch[1])) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>' : '');
                }
                if(strlen($x))
                        $s .= '<div class="categorytags"><span>' . t('Categories:') . ' </span>' . $x . '</div>'; 
@@ -1047,12 +1063,13 @@ function feed_salmonlinks($nick) {
 if(! function_exists('get_plink')) {
 function get_plink($item) {
        $a = get_app(); 
-       if (x($item,'plink') && (! $item['private'])){
+       if (x($item,'plink') && ($item['private'] != 1)) {
                return array(
                        'href' => $item['plink'],
                        'title' => t('link to source'),
                );
-       } else {
+       } 
+       else {
                return false;
        }
 }}
@@ -1243,13 +1260,13 @@ function bb_translate_video($s) {
 
 function html2bb_video($s) {
 
-       $s = preg_replace('#<object[^>]+>(.*?)https+://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+)(.*?)</object>#ism',
+       $s = preg_replace('#<object[^>]+>(.*?)https?://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+)(.*?)</object>#ism',
                        '[youtube]$2[/youtube]', $s);
 
-       $s = preg_replace('#<iframe[^>](.*?)https+://www.youtube.com/embed/([A-Za-z0-9\-_=]+)(.*?)</iframe>#ism',
+       $s = preg_replace('#<iframe[^>](.*?)https?://www.youtube.com/embed/([A-Za-z0-9\-_=]+)(.*?)</iframe>#ism',
                        '[youtube]$2[/youtube]', $s);
 
-       $s = preg_replace('#<iframe[^>](.*?)https+://player.vimeo.com/video/([0-9]+)(.*?)</iframe>#ism',
+       $s = preg_replace('#<iframe[^>](.*?)https?://player.vimeo.com/video/([0-9]+)(.*?)</iframe>#ism',
                        '[vimeo]$2[/vimeo]', $s);
 
        return $s;
@@ -1466,12 +1483,16 @@ function file_tag_save_file($uid,$item,$file) {
        return true;
 }
 
-function file_tag_unsave_file($uid,$item,$file) {
+function file_tag_unsave_file($uid,$item,$file,$cat = false) {
        $result = false;
        if(! intval($uid))
                return false;
 
-       $pattern = '[' . file_tag_encode($file) . ']' ;
+       if($cat == true)
+               $pattern = '<' . file_tag_encode($file) . '>' ;
+       else
+               $pattern = '[' . file_tag_encode($file) . ']' ;
+
 
        $r = q("select file from item where id = %d and uid = %d limit 1",
                intval($item),
@@ -1486,13 +1507,14 @@ function file_tag_unsave_file($uid,$item,$file) {
                intval($uid)
        );
 
-       $r = q("select file from item where uid = %d " . file_tag_file_query('item',$file),
+       $r = q("select file from item where uid = %d and deleted = 0 " . file_tag_file_query('item',$file,(($cat) ? 'category' : 'file')),
                intval($uid)
        );
 
        if(! count($r)) {
                $saved = get_pconfig($uid,'system','filetags');
                set_pconfig($uid,'system','filetags',str_replace($pattern,'',$saved));
+
        }
        return true;
 }
@@ -1515,6 +1537,24 @@ function undo_post_tagging($s) {
 
 function fix_mce_lf($s) {
        $s = str_replace("\r\n","\n",$s);
-       $s = str_replace("\n\n","\n",$s);
        return $s;
 }
+
+
+function protect_sprintf($s) {
+       return(str_replace('%','%%',$s));
+}
+
+
+function is_a_date_arg($s) {
+       $i = intval($s);
+       if($i > 1900) {
+               $y = date('Y');
+               if($i <= $y+1 && strpos($s,'-') == 4) {
+                       $m = intval(substr($s,5));
+                       if($m > 0 && $m <= 12)
+                               return true;
+               }
+       }
+       return false;
+}