X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=boot.php;h=537c7d73a13033057e2613fece857f8e4ac036d4;hb=2342d41bcda2280f9e85bb26d0d80b930dc017c3;hp=30a8b24417614da5ea9e7316e701d68b3baf58b0;hpb=3a69413f863ebc80ff64542bdb4ca684eb87a310;p=friendica.git diff --git a/boot.php b/boot.php index 30a8b24417..537c7d73a1 100644 --- a/boot.php +++ b/boot.php @@ -47,7 +47,9 @@ define ( 'ACTIVITY_OBJ_PHOTO', NAMESPACE_ACTIVITY_SCHEMA . 'photo' ); define ( 'ACTIVITY_OBJ_P_PHOTO', NAMESPACE_ACTIVITY_SCHEMA . 'profile-photo' ); define ( 'ACTIVITY_OBJ_ALBUM', NAMESPACE_ACTIVITY_SCHEMA . 'photo-album' ); - +define ( 'GRAVITY_PARENT', 0); +define ( 'GRAVITY_LIKE', 3); +define ( 'GRAVITY_COMMENT', 6); if(! class_exists('App')) { @@ -776,22 +778,98 @@ function item_new_uri($hostname,$uid) { return $uri; }} +if(! function_exists('photo_new_resource')) { +function photo_new_resource() { + + do { + $found = false; + $resource = hash('md5',uniqid(mt_rand(),true)); + $r = q("SELECT `id` FROM `photo` WHERE `resource-id` = '%s' LIMIT 1", + dbesc($resource) + ); + if(count($r)) + $found = true; + } while($found == true); + return $resource; +}} + + + if(! function_exists('get_uid')) { function get_uid() { return ((x($_SESSION,'uid')) ? intval($_SESSION['uid']) : 0) ; }} if(! function_exists('validate_url')) { -function validate_url($url) { +function validate_url(&$url) { if(substr($url,0,4) != 'http') $url = 'http://' . $url; $h = parse_url($url); - if(! $h) + if(! $h) { return false; - if(! checkdnsrr($h['host'], 'ANY')) + } + if(! checkdnsrr($h['host'], 'ANY')) { return false; + } return true; }} +if(! function_exists('allowed_url')) { +function allowed_url($url) { + + $h = parse_url($url); + + if(! $h) { + return false; + } + + $str_allowed = get_config('system','allowed_sites'); + if(! $str_allowed) + return true; + + $found = false; + + $host = strtolower($h['host']); + + // always allow our own site + + if($host == strtolower($_SERVER['SERVER_NAME'])) + return true; + + $fnmatch = function_exists('fnmatch'); + $allowed = explode(',',$str_allowed); + + if(count($allowed)) { + foreach($allowed as $a) { + $pat = strtolower(trim($a)); + if(($fnmatch && fnmatch($pat,$host)) || ($pat == $host)) { + $found = true; + break; + } + } + } + return $found; +}} + +if(! function_exists('format_like')) { +function format_like($cnt,$arr,$type,$id) { + if($cnt == 1) + $o .= $arr[0] . (($type == 'like') ? t(' likes this.') : t(' doesn\'t like this.')) . EOL ; + else { + $o .= '' + . $cnt . ' ' . t('people') . ' ' . (($type == 'like') ? t('like this.') : t('don\'t like this.')) . EOL ; + $total = count($arr); + if($total >= 75) + $arr = array_slice($arr,0,74); + if($total < 75) + $arr[count($arr)-1] = t('and') . ' ' . $arr[count($arr)-1]; + $str = implode(', ', $arr); + if($total >= 75) + $str .= t(', and ') . $total - 75 . t(' other people'); + $str .= (($type == 'like') ? t(' like this.') : t(' don\'t like this.')); + $o .= ''; + } + return $o; +}}