diff options
-rw-r--r-- | doc/roadmap.bb | 20 | ||||
-rw-r--r-- | doc/to_do_code.bb | 18 | ||||
-rw-r--r-- | images/default_profile_photos/alpha/300.png (renamed from images/default_profile_photos/alpha/175.png) | bin | 3817 -> 3817 bytes | |||
-rw-r--r-- | images/default_profile_photos/black_avatar_1/300.png (renamed from images/default_profile_photos/black_avatar_1/175.png) | bin | 6420 -> 6420 bytes | |||
-rw-r--r-- | images/default_profile_photos/black_avatar_2/300.png (renamed from images/default_profile_photos/black_avatar_2/175.png) | bin | 5802 -> 5802 bytes | |||
-rw-r--r-- | images/default_profile_photos/blank/300.jpg (renamed from images/default_profile_photos/blank/175.jpg) | bin | 910 -> 910 bytes | |||
-rw-r--r-- | images/default_profile_photos/blank/300.png (renamed from images/default_profile_photos/blank/175.png) | bin | 3817 -> 3817 bytes | |||
-rw-r--r-- | images/default_profile_photos/rainbow_man/300.jpg (renamed from images/default_profile_photos/rainbow_man/175.jpg) | bin | 8510 -> 8510 bytes | |||
-rw-r--r-- | images/default_profile_photos/rainbow_man/300.png (renamed from images/default_profile_photos/rainbow_man/175.png) | bin | 57998 -> 57998 bytes | |||
-rw-r--r-- | images/default_profile_photos/rainbow_man_trans/300.png (renamed from images/default_profile_photos/rainbow_man_trans/175.png) | bin | 71198 -> 71198 bytes | |||
-rw-r--r-- | images/default_profile_photos/red_avatar/300.png (renamed from images/default_profile_photos/red_avatar/175.png) | bin | 4621 -> 4621 bytes | |||
-rw-r--r-- | images/default_profile_photos/red_koala/300.jpg (renamed from images/default_profile_photos/red_koala/175.jpg) | bin | 22969 -> 22969 bytes | |||
-rw-r--r-- | images/default_profile_photos/red_koala/300.png (renamed from images/default_profile_photos/red_koala/175.png) | bin | 20722 -> 20722 bytes | |||
-rw-r--r-- | images/default_profile_photos/red_koala_trans/300.png (renamed from images/default_profile_photos/red_koala_trans/175.png) | bin | 25546 -> 25546 bytes | |||
-rw-r--r-- | images/default_profile_photos/redmatrix_logo_smiley/300.png (renamed from images/default_profile_photos/redmatrix_logo_smiley/175.png) | bin | 3834 -> 3834 bytes | |||
-rw-r--r-- | include/event.php | 2 | ||||
-rw-r--r-- | include/identity.php | 4 | ||||
-rwxr-xr-x | include/items.php | 9 | ||||
-rw-r--r-- | include/network.php | 2 | ||||
-rw-r--r-- | include/photo/photo_driver.php | 8 | ||||
-rwxr-xr-x | mod/events.php | 1 | ||||
-rw-r--r-- | version.inc | 2 | ||||
-rwxr-xr-x | view/tpl/field_acheckbox.tpl | 9 | ||||
-rwxr-xr-x | view/tpl/profile_vcard.tpl | 2 |
24 files changed, 48 insertions, 29 deletions
diff --git a/doc/roadmap.bb b/doc/roadmap.bb index 4564f5fea..f57c76b74 100644 --- a/doc/roadmap.bb +++ b/doc/roadmap.bb @@ -2,26 +2,30 @@ Roadmap for $Projectname V3 +*HZ = Hubzilla repository + + Crypto Convert E2EE to dynamic loading (on demand) using jQuery.getScript() [or other methods] to only load encryption libs when you require them. This should also support multiple encryption libraries (e.g. SJCL, others) triggered from the choice of algorithm and remain pluggable. Diaspora - Convert core Diaspora federation code into a plugin. This presents a number of challenges since it touches and special cases a lot of core functionality. + Convert core Diaspora federation code into a plugin. This presents a number of challenges since it touches and special cases a lot of core functionality. (HZ - in progress) Subscriptions and business models - Build enough into core(/addons) to generate income (or at least try and cover costs) out of the box + Build enough into core(/addons) to generate income (or at least try and cover costs) out of the box (in progress Habeas Codice) Merge all uploads into common DAV interface - Separate photo albums from photos and turn them into file directories. - Upload everything direct to /store - If photo, generate thumbnails and image resources - Provide default upload folders with %y (and other?) macros for both photos and other file resources - Allow "media" (anything that we can generate a thumbnail for) in the Photos section (and show thumbnails in the Files section where possible) + Separate photo albums from photos and turn them into file directories. (HZ - done) + Upload everything direct to /store (HZ - done) + If photo, generate thumbnails and image resources (HZ - done) + Provide default upload folders with %y (and other?) macros for both photos and other file resources (HZ - done) + Allow "media" (anything that we can generate a thumbnail for) in the Photos section (and show thumbnails in the Files section where possible) (HZ - done) + Resolve the "every photo has an item" confusion, perhaps every file should also - but only if we can explain it and separate them conceptually. Migration tools Friendica importer - Diaspora importer + Diaspora importer (channel and connection import done, conversations and photos still in progress and waiting for support from Diaspora) Webpage design UI improvements If practical, separate "conversation" sub-themes from overall themes so one can choose different conversation and content layouts within a base theme. diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb index bfa249dd5..21b567c3f 100644 --- a/doc/to_do_code.bb +++ b/doc/to_do_code.bb @@ -10,8 +10,8 @@ We need much more than this, but here are areas where developers can help. Pleas [li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items
[li]Finish the anti-spam bayesian engine[/li]
[li]implement an email permission denied bounce message from the sys channel[/li]
-[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or hubzilla ability[/li]
-[li]If DAV folders exist, add an option to the Settings page to set a default folder for attachment uploads.[/li]
+[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or redmatrix ability[/li]
+[li](done - HZ) If DAV folders exist, add an option to the Settings page to set a default folder for attachment uploads.[/li]
[li]Integrate the "open site" list with the register page[/li]
[li]implement oembed provider interface[/li]
[li]refactor the oembed client interface so that we can safely sandbox remote content[/li]
@@ -21,27 +21,27 @@ We need much more than this, but here are areas where developers can help. Pleas [li]restricted access OAuth clients[/li]
[li](Advanced) create a UI for building Comanche pages[/li]
[li](less advanced) create a way to preview Comanche results on a preview page while editing on another page[/li]
-[li]Extend WebDAV to provide desktop access to photo albums[/li]
+[li](done - HZ) Extend WebDAV to provide desktop access to photo albums[/li]
[li]External post connectors - create standard interface[/li]
[li]External post connectors, add popular services[/li]
-[li]service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
-[li]service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
-[li]Events module - fix permissions on events, and provide JS translation support for the calendar overview; integrate with calDAV[/li]
+[li](in progress Habeas Codice) service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
+[li](in progress Habeas Codice) service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
+[li]Events module - fix permissions on events, and provide JS translation support for the calendar overview (done); integrate with calDAV[/li]
[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
[li]Import/export - include events, things, etc.[/li]
[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
[li]OAuth permission extensions[/li]
-[li]Import channel from Diaspora/Friendica[/li]
+[li]Import channel from Diaspora/Friendica (Diaspora partially done)[/li]
[li]MediaGoblin photo "crosspost" connector[/li]
[li]Create management page/UI for extensible profile fields[/li]
[li]Create interface to include/exclude and re-order standard profile fields[/li]
-[li]Provide a mechanism to share page design elements in posts (just like apps)[/li]
+[li]Provide a mechanism to share page design elements in posts (just like apps) (done)[/li]
[li]App taxonomy[/li]
[li]Customisable App collection pages[/li]
[li]replace the tinymce visual editor and/or make the visual editor pluggable and responsive to different output formats. We probably want library/bbedit for bbcode. This needs a fair bit of work to catch up with our "enhanced bbcode", but start with images, links, bold and highlight and work from there.[/li]
[li]Photos module - turn photos into normal conversations and fix tagging[/li]
[li]Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.[/li]
-[li]Implement owned and exchangeable "things".[/li]
+[li](in progress Habeas Codice) Implement owned and exchangeable "things".[/li]
[li]Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).[/li]
[li]Put mod_admin under Comanche[/li]
diff --git a/images/default_profile_photos/alpha/175.png b/images/default_profile_photos/alpha/300.png Binary files differindex 17211ee27..17211ee27 100644 --- a/images/default_profile_photos/alpha/175.png +++ b/images/default_profile_photos/alpha/300.png diff --git a/images/default_profile_photos/black_avatar_1/175.png b/images/default_profile_photos/black_avatar_1/300.png Binary files differindex bc5b19793..bc5b19793 100644 --- a/images/default_profile_photos/black_avatar_1/175.png +++ b/images/default_profile_photos/black_avatar_1/300.png diff --git a/images/default_profile_photos/black_avatar_2/175.png b/images/default_profile_photos/black_avatar_2/300.png Binary files differindex 8ff3cbd4c..8ff3cbd4c 100644 --- a/images/default_profile_photos/black_avatar_2/175.png +++ b/images/default_profile_photos/black_avatar_2/300.png diff --git a/images/default_profile_photos/blank/175.jpg b/images/default_profile_photos/blank/300.jpg Binary files differindex 4024d6e88..4024d6e88 100644 --- a/images/default_profile_photos/blank/175.jpg +++ b/images/default_profile_photos/blank/300.jpg diff --git a/images/default_profile_photos/blank/175.png b/images/default_profile_photos/blank/300.png Binary files differindex 1edb25b76..1edb25b76 100644 --- a/images/default_profile_photos/blank/175.png +++ b/images/default_profile_photos/blank/300.png diff --git a/images/default_profile_photos/rainbow_man/175.jpg b/images/default_profile_photos/rainbow_man/300.jpg Binary files differindex fc0ec3d77..fc0ec3d77 100644 --- a/images/default_profile_photos/rainbow_man/175.jpg +++ b/images/default_profile_photos/rainbow_man/300.jpg diff --git a/images/default_profile_photos/rainbow_man/175.png b/images/default_profile_photos/rainbow_man/300.png Binary files differindex 30a7e0ffb..30a7e0ffb 100644 --- a/images/default_profile_photos/rainbow_man/175.png +++ b/images/default_profile_photos/rainbow_man/300.png diff --git a/images/default_profile_photos/rainbow_man_trans/175.png b/images/default_profile_photos/rainbow_man_trans/300.png Binary files differindex a0a236841..a0a236841 100644 --- a/images/default_profile_photos/rainbow_man_trans/175.png +++ b/images/default_profile_photos/rainbow_man_trans/300.png diff --git a/images/default_profile_photos/red_avatar/175.png b/images/default_profile_photos/red_avatar/300.png Binary files differindex 31d39a41a..31d39a41a 100644 --- a/images/default_profile_photos/red_avatar/175.png +++ b/images/default_profile_photos/red_avatar/300.png diff --git a/images/default_profile_photos/red_koala/175.jpg b/images/default_profile_photos/red_koala/300.jpg Binary files differindex e49343b1d..e49343b1d 100644 --- a/images/default_profile_photos/red_koala/175.jpg +++ b/images/default_profile_photos/red_koala/300.jpg diff --git a/images/default_profile_photos/red_koala/175.png b/images/default_profile_photos/red_koala/300.png Binary files differindex ee4a701d9..ee4a701d9 100644 --- a/images/default_profile_photos/red_koala/175.png +++ b/images/default_profile_photos/red_koala/300.png diff --git a/images/default_profile_photos/red_koala_trans/175.png b/images/default_profile_photos/red_koala_trans/300.png Binary files differindex 4e51c80e2..4e51c80e2 100644 --- a/images/default_profile_photos/red_koala_trans/175.png +++ b/images/default_profile_photos/red_koala_trans/300.png diff --git a/images/default_profile_photos/redmatrix_logo_smiley/175.png b/images/default_profile_photos/redmatrix_logo_smiley/300.png Binary files differindex 7299c4494..7299c4494 100644 --- a/images/default_profile_photos/redmatrix_logo_smiley/175.png +++ b/images/default_profile_photos/redmatrix_logo_smiley/300.png diff --git a/include/event.php b/include/event.php index 0d8b2132b..d2ae617f8 100644 --- a/include/event.php +++ b/include/event.php @@ -100,7 +100,7 @@ function format_ical_text($s) { require_once('include/bbcode.php'); require_once('include/html2plain.php'); - return(wordwrap(html2plain(bbcode($s)),72,"\n ",true)); + return(wordwrap(str_replace(',','\\,',html2plain(bbcode($s))),72,"\n ",true)); } diff --git a/include/identity.php b/include/identity.php index b0d62fba7..804f316d1 100644 --- a/include/identity.php +++ b/include/identity.php @@ -1392,10 +1392,10 @@ function get_theme_uid() { * with the specified size. * * @param int $size -* one of (175, 80, 48) +* one of (300, 80, 48) * @returns string */ -function get_default_profile_photo($size = 175) { +function get_default_profile_photo($size = 300) { $scheme = get_config('system','default_profile_photo'); if(! $scheme) $scheme = 'rainbow_man'; diff --git a/include/items.php b/include/items.php index af57e3eda..af76fe203 100755 --- a/include/items.php +++ b/include/items.php @@ -3384,6 +3384,11 @@ function post_is_importable($item,$abook) { $text = prepare_text($item['body'],$item['mimetype']); $text = html2plain($text); + $lang = null; + + if((strpos($abook['abook_incl'],'lang=') !== false) || (strpos($abook['abook_incl'],'lang=') !== false)) + $lang = detect_language($text); + $tags = ((count($item['term'])) ? $item['term'] : false); // exclude always has priority @@ -3400,6 +3405,8 @@ function post_is_importable($item,$abook) { } elseif((strpos($word,'/') === 0) && preg_match($word,$body)) return false; + elseif((strpos($word,'lang=') === 0) && ($lang) && (strcasecmp($lang,trim(substr($word,5))) == 0)) + return false; elseif(stristr($text,$word) !== false) return false; } @@ -3417,6 +3424,8 @@ function post_is_importable($item,$abook) { } elseif((strpos($word,'/') === 0) && preg_match($word,$body)) return true; + elseif((strpos($word,'lang=') === 0) && ($lang) && (strcasecmp($lang,trim(substr($word,5))) == 0)) + return true; elseif(stristr($text,$word) !== false) return true; } diff --git a/include/network.php b/include/network.php index f331da488..5173bc3d0 100644 --- a/include/network.php +++ b/include/network.php @@ -531,7 +531,7 @@ function avatar_img($email) { $avatar = array(); $a = get_app(); - $avatar['size'] = 175; + $avatar['size'] = 300; $avatar['email'] = $email; $avatar['url'] = ''; $avatar['success'] = false; diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 1501e6712..426eb6aac 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -605,16 +605,16 @@ function import_profile_photo($photo,$xchan,$thing = false) { if(($width / $height) > 1.2) { // crop out the sides $margin = $width - $height; - $img->cropImage(175,($margin / 2),0,$height,$height); + $img->cropImage(300,($margin / 2),0,$height,$height); } elseif(($height / $width) > 1.2) { // crop out the bottom $margin = $height - $width; - $img->cropImage(175,0,0,$width,$width); + $img->cropImage(300,0,0,$width,$width); } else { - $img->scaleImageSquare(175); + $img->scaleImageSquare(300); } } @@ -681,7 +681,7 @@ function import_channel_photo($photo,$type,$aid,$uid) { $img = photo_factory($photo, $type); if($img->is_valid()) { - $img->scaleImageSquare(175); + $img->scaleImageSquare(300); $p = array('aid' => $aid, 'uid' => $uid, 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), 'photo_usage' => PHOTO_PROFILE, 'scale' => 4); diff --git a/mod/events.php b/mod/events.php index a89bbb760..02c453562 100755 --- a/mod/events.php +++ b/mod/events.php @@ -451,6 +451,7 @@ function events_content(&$a) { if($export) { header('Content-type: text/calendar'); + header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"' ); echo ical_wrapper($r); killme(); } diff --git a/version.inc b/version.inc index 249734f42..4b4237878 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-07-19.1098 +2015-07-21.1100 diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl index f96fd5fd6..e99128bbb 100755 --- a/view/tpl/field_acheckbox.tpl +++ b/view/tpl/field_acheckbox.tpl @@ -5,11 +5,16 @@ </td> {{if $notself}} <td class="abook-them"> - <input type="checkbox" name='them_{{$field.0}}' id='them_id_{{$field.0}}' value="1" disabled="disabled" {{if $field.2}}checked="checked"{{/if}} /> + {{if $field.2}}<i class="icon-check"></i>{{else}}<i class="icon-check-empty"></i>{{/if}} </td> {{/if}} <td class="abook-me"> - <input type="checkbox" name='{{$field.0}}' class='abook-edit-me' id='me_id_{{$field.0}}' value="{{$field.4}}" {{if $field.3}}checked="checked"{{/if}}{{if $notself && $field.5}} disabled="disabled"{{/if}}/> + {{if $self || !$field.5}} + <input type="checkbox" name='{{$field.0}}' class='abook-edit-me' id='me_id_{{$field.0}}' value="{{$field.4}}" {{if $field.3}}checked="checked"{{/if}} /> + {{/if}} + {{if $notself && $field.5}} + {{if $field.3}}<i class="icon-check"></i>{{else}}<i class="icon-check-empty"></i>{{/if}} + {{/if}} </td> <td> {{if $field.5}}<span class="permission-inherited">{{$inherited}}{{if $self}}{{if $field.7}} <i class="icon-check"></i>{{else}} <i class="icon-check-empty"></i>{{/if}}{{/if}}</span>{{/if}} diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl index 9eac48c6d..bea0d894f 100755 --- a/view/tpl/profile_vcard.tpl +++ b/view/tpl/profile_vcard.tpl @@ -1,5 +1,5 @@ <div class="vcard"> - <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div> + <div id="profile-photo-wrapper"><img class="photo" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div> {{if $profile.edit}} <div class="dropdown"> <a class="profile-edit-side-link dropdown-toggle" data-toggle="dropdown" title="{{$profile.edit.3}}" href="#" ><i class="icon-pencil" title="{{$profile.edit.1}}" ></i></a> |