diff --git a/.gitignore b/.gitignore index 358114a4..038ac32a 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,11 @@ report/ #ignore OSX .DS_Store files .DS_Store -/nbproject/private/ \ No newline at end of file +/nbproject/private/ + +#ignore smarty cache +/view/smarty3/compiled/ + +#ignore cache folders +/privacy_image_cache/ +/photo/ diff --git a/include/api.php b/include/api.php index 03514ecd..2c5ddc62 100644 --- a/include/api.php +++ b/include/api.php @@ -944,7 +944,7 @@ //$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false); $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`nick` as `reply_author`, - `contact`.`name`, `contact`.`photo`, `contact`.`url` as `reply_url`, `contact`.`rel`, + `contact`.`name`, `contact`.`photo` as `reply_photo`, `contact`.`url` as `reply_url`, `contact`.`rel`, `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`, `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid` FROM `item`, `contact` @@ -957,7 +957,18 @@ ); if ($r[0]['body'] != "") { - $_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body']; + if (intval(get_config('system','new_share'))) { + $post = "[share author='".str_replace("'", "'", $r[0]['reply_author']). + "' profile='".$r[0]['reply_url']. + "' avatar='".$r[0]['reply_photo']. + "' link='".$r[0]['plink']."']"; + + $post .= $r[0]['body']; + $post .= "[/share]"; + $_REQUEST['body'] = $post; + } else + $_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body']; + $_REQUEST['profile_uid'] = api_user(); $_REQUEST['type'] = 'wall'; $_REQUEST['api_source'] = true; diff --git a/include/bbcode.php b/include/bbcode.php index 384fd5eb..08edc193 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -310,6 +310,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { // remove some newlines before the general conversion $Text = preg_replace("/\s?\[share(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","[share$1]$2[/share]",$Text); + $Text = preg_replace("/\s?\[quote(.*?)\]\s?(.*?)\s?\[\/quote\]\s?/ism","[quote$1]$2[/quote]",$Text); // when the content is meant exporting to other systems then remove the avatar picture since this doesn't really look good on these systems if (!$tryoembed) @@ -324,6 +325,15 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { $Text = trim($Text); $Text = str_replace("\r\n","\n", $Text); + + // removing multiplicated newlines + $search = array("\n\n\n", "\n ", " \n", "[/quote]\n\n", "\n[/quote]"); + $replace = array("\n\n", "\n", "\n", "[/quote]\n", "[/quote]"); + do { + $oldtext = $Text; + $Text = str_replace($search, $replace, $Text); + } while ($oldtext != $Text); + $Text = str_replace(array("\r","\n"), array('
','
'), $Text); if($preserve_nl) diff --git a/include/poller.php b/include/poller.php index 6bca5872..7df59f72 100644 --- a/include/poller.php +++ b/include/poller.php @@ -99,14 +99,26 @@ function poller_run(&$argv, &$argc){ proc_run('php','include/expire.php'); } - // clear old cache - Cache::clear(); + $last = get_config('system','cache_last_cleared'); - // clear old item cache files - clear_cache(); + if($last) { + $next = $last + (3600); // Once per hour + $clear_cache = ($next <= time()); + } else + $clear_cache = true; - // clear cache for photos - clear_cache($a->get_basepath(), $a->get_basepath()."/photo"); + if ($clear_cache) { + // clear old cache + Cache::clear(); + + // clear old item cache files + clear_cache(); + + // clear cache for photos + clear_cache($a->get_basepath(), $a->get_basepath()."/photo"); + + set_config('system','cache_last_cleared', time()); + } $manual_id = 0; $generation = 0; diff --git a/object/Item.php b/object/Item.php index eef8a505..0ea9954b 100644 --- a/object/Item.php +++ b/object/Item.php @@ -115,10 +115,10 @@ class Item extends BaseObject { $drop = array( 'dropping' => $dropping, 'pagedrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $item['pagedrop'] : ''), - 'select' => t('Select'), + 'select' => t('Select'), 'delete' => t('Delete'), ); - + $filer = (($conv->get_profile_owner() == local_user()) ? t("save to folder") : false); $diff_author = ((link_compare($item['url'],$item['author-link'])) ? false : true); @@ -133,7 +133,7 @@ class Item extends BaseObject { if($sp) $sparkle = ' sparkle'; else - $profile_link = zrl($profile_link); + $profile_link = zrl($profile_link); $normalised = normalise_link((strlen($item['author-link'])) ? $item['author-link'] : $item['url']); if(($normalised != 'mailbox') && (x($a->contacts,$normalised))) @@ -212,9 +212,14 @@ class Item extends BaseObject { localize_item($item); + if ($item["postopts"]) { + $langdata = explode(";", $item["postopts"]); + $langstr = substr($langdata[0], 5)." (".round($langdata[1]*100, 1)."%)"; + } + $body = prepare_body($item,true); - list($categories, $folders) = get_cats_and_terms($item); + list($categories, $folders) = get_cats_and_terms($item); if($a->theme['template_engine'] === 'internal') { $body_e = template_escape($body); @@ -235,7 +240,7 @@ class Item extends BaseObject { $tmp_item = array( 'template' => $this->get_template(), - + 'type' => implode("",array_slice(explode("/",$item['verb']),-1)), 'tags' => $tags, 'hashtags' => $hashtags, @@ -285,7 +290,8 @@ class Item extends BaseObject { 'comment' => $this->get_comment_box($indent), 'previewing' => ($conv->is_preview() ? ' preview ' : ''), 'wait' => t('Please wait'), - 'thread_level' => $thread_level + 'thread_level' => $thread_level, + 'postopts' => $langstr ); $arr = array('item' => $item, 'output' => $tmp_item); diff --git a/view/theme/vier/profile_edlink.tpl b/view/theme/vier/profile_edlink.tpl new file mode 100644 index 00000000..5bdbb834 --- /dev/null +++ b/view/theme/vier/profile_edlink.tpl @@ -0,0 +1 @@ +
diff --git a/view/theme/vier/profile_vcard.tpl b/view/theme/vier/profile_vcard.tpl new file mode 100644 index 00000000..451bf9da --- /dev/null +++ b/view/theme/vier/profile_vcard.tpl @@ -0,0 +1,65 @@ +
+ +
+
$profile.name
+ {{ if $profile.edit }} +
+ $profile.edit.1 + +
+ {{ else }} +
+ {{ endif }} +
+ + +
$profile.name
+ {{ if $pdesc }}
$profile.pdesc
{{ endif }} + + + {{ if $location }} +
$location

+
+ {{ if $profile.address }}
$profile.address
{{ endif }} + + $profile.locality{{ if $profile.locality }}, {{ endif }} + $profile.region + $profile.postal-code + + {{ if $profile.country-name }}$profile.country-name{{ endif }} +
+
+ {{ endif }} + + {{ if $gender }}
$gender
$profile.gender
{{ endif }} + + {{ if $profile.pubkey }}{{ endif }} + + {{ if $marital }}
$marital
$profile.marital
{{ endif }} + + {{ if $homepage }}
$homepage
$profile.homepage
{{ endif }} + + {{ inc diaspora_vcard.tpl }}{{ endinc }} + + +
+ +$contact_block + + diff --git a/view/theme/vier/smarty3/profile_edlink.tpl b/view/theme/vier/smarty3/profile_edlink.tpl new file mode 100644 index 00000000..5bdbb834 --- /dev/null +++ b/view/theme/vier/smarty3/profile_edlink.tpl @@ -0,0 +1 @@ +
diff --git a/view/theme/vier/smarty3/profile_vcard.tpl b/view/theme/vier/smarty3/profile_vcard.tpl new file mode 100644 index 00000000..b02a3a5c --- /dev/null +++ b/view/theme/vier/smarty3/profile_vcard.tpl @@ -0,0 +1,65 @@ +
+ +
+
{{$profile.name}}
+ {{if $profile.edit}} +
+ {{$profile.edit.1}} + +
+ {{else}} +
+ {{/if}} +
+ + +
{{$profile.name}}
+ {{if $pdesc}}
{{$profile.pdesc}}
{{/if}} + + + {{if $location}} +
{{$location}}

+
+ {{if $profile.address}}
{{$profile.address}}
{{/if}} + + {{$profile.locality}}{{if $profile.locality}}, {{/if}} + {{$profile.region}} + {{$profile.postal-code}} + + {{if $profile.country-name}}{{$profile.country-name}}{{/if}} +
+
+ {{/if}} + + {{if $gender}}
{{$gender}}
{{$profile.gender}}
{{/if}} + + {{if $profile.pubkey}}{{/if}} + + {{if $marital}}
{{$marital}}
{{$profile.marital}}
{{/if}} + + {{if $homepage}}
{{$homepage}}
{{$profile.homepage}}
{{/if}} + + {{include file="diaspora_vcard.tpl"}} + + +
+ +{{$contact_block}} + + diff --git a/view/theme/vier/smarty3/wall_thread.tpl b/view/theme/vier/smarty3/wall_thread.tpl index 07a7a50f..386164f1 100644 --- a/view/theme/vier/smarty3/wall_thread.tpl +++ b/view/theme/vier/smarty3/wall_thread.tpl @@ -111,7 +111,7 @@ {{/if}} -
{{$item.location}}
+
{{$item.location}} {{$item.postopts}}
{{if $item.drop.pagedrop}} @@ -128,14 +128,16 @@
- +
{{$item.like}}
{{$item.dislike}}
{{if $item.threaded}}{{if $item.comment}}
- + diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index ffd50ed1..f97fc2f5 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -7,6 +7,10 @@ @import url("css/font-awesome.css") all; @import url("css/font2.css") all; +img { + border: 0px; +} + /* ========= */ /* = Admin = */ /* ========= */ @@ -1067,8 +1071,9 @@ border-bottom: 1px solid #D2D2D2; text-align: left; width: 80px; } -.wall-item-container .wall-item-location { - padding-right: 40px; +.wall-item-container { + /* padding-right: 30px; */ + padding-right: 0px; } .wall-item-container .wall-item-ago { word-wrap: break-word; @@ -1077,7 +1082,7 @@ border-bottom: 1px solid #D2D2D2; color: #999; } .wall-item-location { - width: 180px; + width: 350px; float: left; } @@ -1253,7 +1258,8 @@ border-bottom: 1px solid #D2D2D2; #profile-jot-form #profile-jot-text { height: 2.0em; - width: 99%; + /* width: 99%; */ + width: 752px; font-size: 15px; color: #999999; border: 1px solid #DDD; @@ -1267,7 +1273,8 @@ border-bottom: 1px solid #D2D2D2; font-weight: bold; height: 20px; margin: 0 0 5px; - width: 60%; + /* width: 60%; */ + width: 762px; border: 1px solid #d2d2d2; } @@ -1282,6 +1289,10 @@ border-bottom: 1px solid #D2D2D2; height: 100px; } +#profile-jot-perms { + float: right; +} + #jot-preview-content { padding-top: 25px; } @@ -1689,7 +1700,7 @@ div.pager, .birthday-notice, ul.tabs a, #jot-preview-link, .comment-edit-submit- border: 1px solid lightgray; color: black; background: #F2F2F2; - padding: 3px 7px 2px 7px; + padding: 2px 7px 2px 7px; margin-top: 2px; margin-bottom: 2px; @@ -1816,10 +1827,15 @@ div.pager, .birthday-notice, ul.tabs a, #jot-preview-link, .comment-edit-submit- } .profile-edit-side-div { - display: none; -/* float: right; */ +/* display: none; */ + float: right; } +/* aside div.clear { + clear: none; + float: left; +} */ + #register-form label, #profile-edit-form label { width: 300px; float: left; diff --git a/view/theme/vier/wall_thread.tpl b/view/theme/vier/wall_thread.tpl index d5357046..366493a6 100644 --- a/view/theme/vier/wall_thread.tpl +++ b/view/theme/vier/wall_thread.tpl @@ -111,7 +111,7 @@ {{ endif }}
-
$item.location
+
$item.location $item.postopts
{{ if $item.drop.pagedrop }} @@ -128,14 +128,16 @@
- +
$item.like
$item.dislike
{{ if $item.threaded }}{{ if $item.comment }}
- +