From 3da6f1471cc8482e626fa3ad4530ee7cd858f813 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sat, 22 Dec 2012 13:36:35 -0700 Subject: [PATCH] update addons to support Smarty3 --- altpager/altpager.php | 11 +- altpager/view/admin.tpl | 3 + altpager/{admin.tpl => view/admin.tpl.old} | 0 altpager/view/smarty3/admin.tpl | 3 + blackout/blackout.php | 10 +- blackout/{ => view}/admin.tpl | 6 +- blackout/view/smarty3/admin.tpl | 11 + communityhome/communityhome.php | 9 +- communityhome/{ => view}/communityhome.tpl | 0 communityhome/{ => view}/directory_item.tpl | 0 communityhome/view/smarty3/communityhome.tpl | 70 ++ communityhome/view/smarty3/directory_item.tpl | 10 + forumdirectory/forumdirectory.php | 3 +- .../{ => view}/forumdirectory_item.tpl | 0 .../view/smarty3/forumdirectory_item.tpl | 42 + gravatar/admin.tpl | 3 - gravatar/gravatar.php | 10 +- gravatar/view/admin.tpl | 3 + gravatar/view/smarty3/admin.tpl | 3 + impressum/admin.tpl | 7 - impressum/impressum.php | 11 +- impressum/view/admin.tpl | 7 + impressum/view/smarty3/admin.tpl | 7 + libravatar/libravatar.php | 10 +- libravatar/{ => view}/admin.tpl | 2 +- libravatar/view/smarty3/admin.tpl | 2 + mathjax/mathjax.php | 18 +- mathjax/{ => view}/admin.tpl | 2 +- mathjax/view/smarty3/admin.tpl | 2 + openstreetmap/admin.tpl | 3 - openstreetmap/openstreetmap.php | 10 +- openstreetmap/view/admin.tpl | 3 + openstreetmap/view/smarty3/admin.tpl | 3 + piwik/admin.tpl | 5 - piwik/piwik.php | 12 +- piwik/view/admin.tpl | 5 + piwik/view/smarty3/admin.tpl | 5 + remote_permissions/admin.tpl | 3 - remote_permissions/remote_permissions.php | 14 +- remote_permissions/view/admin.tpl | 3 + remote_permissions/{ => view}/settings.tpl | 0 remote_permissions/view/smarty3/admin.tpl | 3 + remote_permissions/view/smarty3/settings.tpl | 8 + statusnet/admin.tpl | 16 - statusnet/statusnet.php | 11 +- statusnet/view/admin.tpl | 16 + statusnet/view/smarty3/admin.tpl | 16 + tumblr/tumblr.php | 759 +++++++++--------- twitter/admin.tpl | 3 - twitter/twitter.php | 10 +- twitter/view/admin.tpl | 3 + twitter/view/smarty3/admin.tpl | 3 + uhremotestorage/settings.tpl | 9 - uhremotestorage/uhremotestorage.php | 12 +- uhremotestorage/view/settings.tpl | 9 + uhremotestorage/view/smarty3/settings.tpl | 9 + widgets/{ => view}/settings.tpl | 0 widgets/view/smarty3/settings.tpl | 19 + widgets/view/smarty3/widget_like.tpl | 3 + widgets/{ => view}/widget_like.tpl | 0 widgets/widget_like.php | 3 +- widgets/widgets.php | 3 +- 62 files changed, 778 insertions(+), 468 deletions(-) create mode 100755 altpager/view/admin.tpl rename altpager/{admin.tpl => view/admin.tpl.old} (100%) create mode 100644 altpager/view/smarty3/admin.tpl rename blackout/{ => view}/admin.tpl (70%) create mode 100644 blackout/view/smarty3/admin.tpl rename communityhome/{ => view}/communityhome.tpl (100%) rename communityhome/{ => view}/directory_item.tpl (100%) create mode 100644 communityhome/view/smarty3/communityhome.tpl create mode 100644 communityhome/view/smarty3/directory_item.tpl rename forumdirectory/{ => view}/forumdirectory_item.tpl (100%) create mode 100644 forumdirectory/view/smarty3/forumdirectory_item.tpl delete mode 100644 gravatar/admin.tpl create mode 100644 gravatar/view/admin.tpl create mode 100644 gravatar/view/smarty3/admin.tpl delete mode 100755 impressum/admin.tpl create mode 100755 impressum/view/admin.tpl create mode 100644 impressum/view/smarty3/admin.tpl rename libravatar/{ => view}/admin.tpl (50%) create mode 100644 libravatar/view/smarty3/admin.tpl rename mathjax/{ => view}/admin.tpl (58%) create mode 100644 mathjax/view/smarty3/admin.tpl delete mode 100644 openstreetmap/admin.tpl create mode 100644 openstreetmap/view/admin.tpl create mode 100644 openstreetmap/view/smarty3/admin.tpl delete mode 100755 piwik/admin.tpl create mode 100755 piwik/view/admin.tpl create mode 100644 piwik/view/smarty3/admin.tpl delete mode 100644 remote_permissions/admin.tpl create mode 100644 remote_permissions/view/admin.tpl rename remote_permissions/{ => view}/settings.tpl (100%) create mode 100644 remote_permissions/view/smarty3/admin.tpl create mode 100644 remote_permissions/view/smarty3/settings.tpl delete mode 100755 statusnet/admin.tpl create mode 100755 statusnet/view/admin.tpl create mode 100644 statusnet/view/smarty3/admin.tpl delete mode 100755 twitter/admin.tpl create mode 100755 twitter/view/admin.tpl create mode 100644 twitter/view/smarty3/admin.tpl delete mode 100755 uhremotestorage/settings.tpl create mode 100755 uhremotestorage/view/settings.tpl create mode 100644 uhremotestorage/view/smarty3/settings.tpl rename widgets/{ => view}/settings.tpl (100%) create mode 100644 widgets/view/smarty3/settings.tpl create mode 100644 widgets/view/smarty3/widget_like.tpl rename widgets/{ => view}/widget_like.tpl (100%) diff --git a/altpager/altpager.php b/altpager/altpager.php index 20517d2f1..ddb6d3520 100755 --- a/altpager/altpager.php +++ b/altpager/altpager.php @@ -93,8 +93,14 @@ function altpager_settings(&$a,&$s) { } function altpager_plugin_admin(&$a, &$o){ - $t = file_get_contents( "addon/altpager/admin.tpl" ); - $o = replace_macros($t, array( + $t = get_markup_template( "admin.tpl", "addon/altpager/" ); + + $includes = array( + '$field_radio' => 'field_radio.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros($t, $includes + array( '$submit' => t('Submit'), '$global' => array('altpagerchoice', t('Global'), 1, t('Force global use of the alternate pager'), get_config('alt_pager', 'global') == 1), '$individual' => array('altpagerchoice', t('Individual'), 2, t('Each user chooses whether to use the alternate pager'), get_config('alt_pager', 'global') == 0) @@ -106,3 +112,4 @@ function altpager_plugin_admin_post(&$a){ set_config('alt_pager','global',($choice == 1 ? 1 : 0)); info( t('Settings updated.'). EOL ); } + diff --git a/altpager/view/admin.tpl b/altpager/view/admin.tpl new file mode 100755 index 000000000..1176db41c --- /dev/null +++ b/altpager/view/admin.tpl @@ -0,0 +1,3 @@ +{{ inc $field_radio with $field=$global }}{{ endinc }} +{{ inc $field_radio with $field=$individual }}{{ endinc }} +
diff --git a/altpager/admin.tpl b/altpager/view/admin.tpl.old similarity index 100% rename from altpager/admin.tpl rename to altpager/view/admin.tpl.old diff --git a/altpager/view/smarty3/admin.tpl b/altpager/view/smarty3/admin.tpl new file mode 100644 index 000000000..507802318 --- /dev/null +++ b/altpager/view/smarty3/admin.tpl @@ -0,0 +1,3 @@ +{{include file="file:{{$field_radio}}" field=$global}} +{{include file="file:{{$field_radio}}" field=$individual}} +
diff --git a/blackout/blackout.php b/blackout/blackout.php index 2cb7c041d..4c2a74b6d 100644 --- a/blackout/blackout.php +++ b/blackout/blackout.php @@ -93,8 +93,14 @@ function blackout_plugin_admin(&$a, &$o) { if (! is_string($myend)) { $myend = "YYYY-MM-DD:hhmm"; } $myurl = get_config('blackout','url'); if (! is_string($myurl)) { $myurl = "http://www.example.com"; } - $t = file_get_contents( dirname(__file__)."/admin.tpl" ); - $o = replace_macros($t, array( + $t = get_markup_template( "admin.tpl", "addon/blackout/" ); + + $includes = array( + '$field_input' => 'field_input.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros($t, $includes + array( '$submit' => t('Submit'), '$rurl' => array("rurl", "Redirect URL", $myurl, "all your visitors from the web will be redirected to this URL"), '$startdate' => array("startdate", "Begin of the Blackout
(YYYY-MM-DD hh:mm)", $mystart, "format is YYYY year, MM month, DD day, hh hour and mm minute"), diff --git a/blackout/admin.tpl b/blackout/view/admin.tpl similarity index 70% rename from blackout/admin.tpl rename to blackout/view/admin.tpl index 25922193d..e19bd246a 100644 --- a/blackout/admin.tpl +++ b/blackout/view/admin.tpl @@ -1,6 +1,6 @@ -{{ inc field_input.tpl with $field=$startdate }}{{ endinc }} -{{ inc field_input.tpl with $field=$enddate }}{{ endinc }} -{{ inc field_input.tpl with $field=$rurl }}{{ endinc }} +{{ inc $field_input with $field=$startdate }}{{ endinc }} +{{ inc $field_input with $field=$enddate }}{{ endinc }} +{{ inc $field_input with $field=$rurl }}{{ endinc }}
Note: The redirect will be active from the moment you diff --git a/blackout/view/smarty3/admin.tpl b/blackout/view/smarty3/admin.tpl new file mode 100644 index 000000000..f77a59484 --- /dev/null +++ b/blackout/view/smarty3/admin.tpl @@ -0,0 +1,11 @@ +{{include file="file:{{$field_input}}" field=$startdate}} +{{include file="file:{{$field_input}}" field=$enddate}} +{{include file="file:{{$field_input}}" field=$rurl}} + +
Note: The redirect will be active from the moment you +press the submit button. Users currently logged in will not be +thrown out but can't login again after logging out should the blackout is +still in place.
+ +
diff --git a/communityhome/communityhome.php b/communityhome/communityhome.php index 484842cce..8b831888a 100755 --- a/communityhome/communityhome.php +++ b/communityhome/communityhome.php @@ -47,7 +47,8 @@ function communityhome_home(&$a, &$o){ 0, 12 ); - $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl'); +# $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl'); + $tpl = get_markup_template( 'directory_item.tpl', 'addon/communityhome/' ); if(count($r)) { $photo = 'thumb'; foreach($r as $rr) { @@ -114,7 +115,8 @@ function communityhome_home(&$a, &$o){ if(count($r)) { - $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl'); +# $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl'); + $tpl = get_markup_template( 'directory_item.tpl', 'addon/communityhome/' ); foreach($r as $rr) { $photo_page = $a->get_baseurl() . '/photos/' . $rr['nickname'] . '/image/' . $rr['resource-id']; $photo_url = $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] .'.jpg'; @@ -174,7 +176,8 @@ function communityhome_home(&$a, &$o){ } - $tpl = file_get_contents(dirname(__file__).'/communityhome.tpl'); +# $tpl = file_get_contents(dirname(__file__).'/communityhome.tpl'); + $tpl = get_markup_template('communityhome.tpl', 'addon/communityhome/'); $a->page['aside'] = replace_macros($tpl, $aside); $o = '

' . ((x($a->config,'sitename')) ? sprintf( t("Welcome to %s") ,$a->config['sitename']) : "" ) . '

'; diff --git a/communityhome/communityhome.tpl b/communityhome/view/communityhome.tpl similarity index 100% rename from communityhome/communityhome.tpl rename to communityhome/view/communityhome.tpl diff --git a/communityhome/directory_item.tpl b/communityhome/view/directory_item.tpl similarity index 100% rename from communityhome/directory_item.tpl rename to communityhome/view/directory_item.tpl diff --git a/communityhome/view/smarty3/communityhome.tpl b/communityhome/view/smarty3/communityhome.tpl new file mode 100644 index 000000000..b8f80381f --- /dev/null +++ b/communityhome/view/smarty3/communityhome.tpl @@ -0,0 +1,70 @@ + +{{if $noOid}} +

{{$login_title}}

+{{else}} + +{{/if}} +{{$login_form}} + + +{{if $lastusers_title}} +

{{$lastusers_title}}

+
+{{foreach $lastusers_items as $i}} + {{$i}} +{{/foreach}} +
+{{/if}} + + +{{if $activeusers_title}} +

{{$activeusers_title}}

+
+{{foreach $activeusers_items as $i}} + {{$i}} +{{/foreach}} +
+{{/if}} + +{{if $photos_title}} +

{{$photos_title}}

+
+{{foreach $photos_items as $i}} + {{$i}} +{{/foreach}} +
+{{/if}} + + +{{if $like_title}} +

{{$like_title}}

+ +{{/if}} diff --git a/communityhome/view/smarty3/directory_item.tpl b/communityhome/view/smarty3/directory_item.tpl new file mode 100644 index 000000000..5fb119861 --- /dev/null +++ b/communityhome/view/smarty3/directory_item.tpl @@ -0,0 +1,10 @@ + +
+
+
+ + {{$alt}}-text + +
+
+
diff --git a/forumdirectory/forumdirectory.php b/forumdirectory/forumdirectory.php index 83f19d011..0d7fbee80 100644 --- a/forumdirectory/forumdirectory.php +++ b/forumdirectory/forumdirectory.php @@ -163,7 +163,8 @@ function forumdirectory_content(&$a) { $about = ((x($profile,'about') == 1) ? t('About:') : False); - $tpl = file_get_contents( dirname(__file__).'/forumdirectory_item.tpl'); +# $tpl = file_get_contents( dirname(__file__).'/forumdirectory_item.tpl'); + $tpl = get_markup_template( 'forumdirectory_item.tpl', 'addon/forumdirectory/' ); $entry = replace_macros($tpl,array( '$id' => $rr['id'], diff --git a/forumdirectory/forumdirectory_item.tpl b/forumdirectory/view/forumdirectory_item.tpl similarity index 100% rename from forumdirectory/forumdirectory_item.tpl rename to forumdirectory/view/forumdirectory_item.tpl diff --git a/forumdirectory/view/smarty3/forumdirectory_item.tpl b/forumdirectory/view/smarty3/forumdirectory_item.tpl new file mode 100644 index 000000000..540a5aeae --- /dev/null +++ b/forumdirectory/view/smarty3/forumdirectory_item.tpl @@ -0,0 +1,42 @@ + +
+
+
+ + {{$alt}}-text + +
+
+
+
{{$name}}
+
{{$page}}-type
+ {{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 $marital}}
{{$marital}}
{{$profile.marital}}
{{/if}} + + {{if $homepage}}
{{$homepage}}
{{$profile.homepage}}
{{/if}} +
+
+
+ {{if $about}}
{{$about}}
{{$profile.about}}
{{/if}} +
+
+
diff --git a/gravatar/admin.tpl b/gravatar/admin.tpl deleted file mode 100644 index 83144e432..000000000 --- a/gravatar/admin.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ inc field_select.tpl with $field=$default_avatar}}{{ endinc }} -{{ inc field_select.tpl with $field=$rating }}{{ endinc }} -
diff --git a/gravatar/gravatar.php b/gravatar/gravatar.php index fc5358eb4..a0b5a02b3 100644 --- a/gravatar/gravatar.php +++ b/gravatar/gravatar.php @@ -55,7 +55,7 @@ function gravatar_lookup($a, &$b) { * Display admin settings for this addon */ function gravatar_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); + $t = get_markup_template( "admin.tpl", "addon/gravatar/" ); $default_avatar = get_config('gravatar', 'default_img'); $rating = get_config('gravatar', 'rating'); @@ -91,7 +91,13 @@ function gravatar_plugin_admin (&$a, &$o) { // output Gravatar settings $o .= ''; - $o .= replace_macros( $t, array( + + $includes = array( + '$field_select' => 'field_select.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o .= replace_macros( $t, $includes + array( '$submit' => t('Submit'), '$default_avatar' => array('avatar', t('Default avatar image'), $default_avatar, t('Select default avatar image if none was found at Gravatar. See README'), $default_avatars), '$rating' => array('rating', t('Rating of images'), $rating, t('Select the appropriate avatar rating for your site. See README'), $ratings), diff --git a/gravatar/view/admin.tpl b/gravatar/view/admin.tpl new file mode 100644 index 000000000..b187e1ea4 --- /dev/null +++ b/gravatar/view/admin.tpl @@ -0,0 +1,3 @@ +{{ inc $field_select with $field=$default_avatar}}{{ endinc }} +{{ inc $field_select with $field=$rating }}{{ endinc }} +
diff --git a/gravatar/view/smarty3/admin.tpl b/gravatar/view/smarty3/admin.tpl new file mode 100644 index 000000000..30d760afd --- /dev/null +++ b/gravatar/view/smarty3/admin.tpl @@ -0,0 +1,3 @@ +{{include file="file:{{$field_select}}" field=$default_avatar}} +{{include file="file:{{$field_select}}" field=$rating}} +
diff --git a/impressum/admin.tpl b/impressum/admin.tpl deleted file mode 100755 index 901df73fa..000000000 --- a/impressum/admin.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{ inc field_input.tpl with $field=$owner }}{{ endinc }} -{{ inc field_input.tpl with $field=$ownerprofile }}{{ endinc }} -{{ inc field_textarea.tpl with $field=$postal }}{{ endinc }} -{{ inc field_textarea.tpl with $field=$notes }}{{ endinc }} -{{ inc field_input.tpl with $field=$email }}{{ endinc }} -{{ inc field_textarea.tpl with $field=$footer_text }}{{ endinc }} -
diff --git a/impressum/impressum.php b/impressum/impressum.php index 9d038178b..305dd9a94 100755 --- a/impressum/impressum.php +++ b/impressum/impressum.php @@ -78,8 +78,15 @@ function impressum_plugin_admin_post (&$a) { info( t('Settings updated.'). EOL ); } function impressum_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__). "/admin.tpl" ); - $o = replace_macros($t, array( + $t = get_markup_template( "admin.tpl", "addon/impressum/" ); + + $includes = array( + '$field_input' => 'field_input.tpl', + '$field_textarea' => 'field_textarea.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros($t, $includes + array( '$submit' => t('Submit'), '$owner' => array('owner', t('Site Owner'), get_config('impressum','owner'), t('The page operators name.')), '$ownerprofile' => array('ownerprofile', t('Site Owners Profile'), get_config('impressum','ownerprofile'), t('Profile address of the operator.')), diff --git a/impressum/view/admin.tpl b/impressum/view/admin.tpl new file mode 100755 index 000000000..e3651137a --- /dev/null +++ b/impressum/view/admin.tpl @@ -0,0 +1,7 @@ +{{ inc $field_input with $field=$owner }}{{ endinc }} +{{ inc $field_input with $field=$ownerprofile }}{{ endinc }} +{{ inc $field_textarea with $field=$postal }}{{ endinc }} +{{ inc $field_textarea with $field=$notes }}{{ endinc }} +{{ inc $field_input with $field=$email }}{{ endinc }} +{{ inc $field_textarea with $field=$footer_text }}{{ endinc }} +
diff --git a/impressum/view/smarty3/admin.tpl b/impressum/view/smarty3/admin.tpl new file mode 100644 index 000000000..a3b0ef272 --- /dev/null +++ b/impressum/view/smarty3/admin.tpl @@ -0,0 +1,7 @@ +{{include file="file:{{$field_input}}" field=$owner}} +{{include file="file:{{$field_input}}" field=$ownerprofile}} +{{include file="file:{{$field_textarea}}" field=$postal}} +{{include file="file:{{$field_textarea}}" field=$notes}} +{{include file="file:{{$field_input}}" field=$email}} +{{include file="file:{{$field_textarea}}" field=$footer_text}} +
diff --git a/libravatar/libravatar.php b/libravatar/libravatar.php index 08ed6d00b..c966052f7 100644 --- a/libravatar/libravatar.php +++ b/libravatar/libravatar.php @@ -60,7 +60,7 @@ function libravatar_lookup($a, &$b) { * Display admin settings for this addon */ function libravatar_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); + $t = get_markup_template( "admin.tpl", "addon/libravatar" ); $default_avatar = get_config('libravatar', 'default_img'); @@ -95,7 +95,13 @@ function libravatar_plugin_admin (&$a, &$o) { // output Libravatar settings $o .= ''; - $o .= replace_macros( $t, array( + + $includes = array( + '$field_input' => 'field_input.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o .= replace_macros( $t, $includes + array( '$submit' => t('Submit'), '$default_avatar' => array('avatar', t('Default avatar image'), $default_avatar, t('Select default avatar image if none was found. See README'), $default_avatars), )); diff --git a/libravatar/admin.tpl b/libravatar/view/admin.tpl similarity index 50% rename from libravatar/admin.tpl rename to libravatar/view/admin.tpl index 814f4a44a..01b113c4b 100644 --- a/libravatar/admin.tpl +++ b/libravatar/view/admin.tpl @@ -1,2 +1,2 @@ -{{ inc field_select.tpl with $field=$default_avatar}}{{ endinc }} +{{ inc $field_select with $field=$default_avatar}}{{ endinc }}
diff --git a/libravatar/view/smarty3/admin.tpl b/libravatar/view/smarty3/admin.tpl new file mode 100644 index 000000000..4e930a743 --- /dev/null +++ b/libravatar/view/smarty3/admin.tpl @@ -0,0 +1,2 @@ +{{include file="file:{{$field_select}}" field=$default_avatar}} +
diff --git a/mathjax/mathjax.php b/mathjax/mathjax.php index 7105772ba..33cdd4393 100644 --- a/mathjax/mathjax.php +++ b/mathjax/mathjax.php @@ -66,11 +66,17 @@ function mathjax_plugin_admin_post (&$a) { info( t('Settings updated.'). EOL); } function mathjax_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); - if (get_config('mathjax','baseurl','') == '') { - set_config('mathjax','baseurl','http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'); - } - $o = replace_macros( $t, array( + $t = get_markup_template( "admin.tpl", "addon/mathjax/" ); + if (get_config('mathjax','baseurl','') == '') { + set_config('mathjax','baseurl','http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'); + } + + $includes = array( + '$field_input' => 'field_input.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros( $t, $includes + array( '$baseurl' => array('baseurl', t('MathJax Base URL'), get_config('mathjax','baseurl' ), t('The URL for the javascript file that should be included to use MathJax. Can be either the MathJax CDN or another installation of MathJax.')), - )); + )); } diff --git a/mathjax/admin.tpl b/mathjax/view/admin.tpl similarity index 58% rename from mathjax/admin.tpl rename to mathjax/view/admin.tpl index 1c723cddd..ed60d7349 100644 --- a/mathjax/admin.tpl +++ b/mathjax/view/admin.tpl @@ -1,2 +1,2 @@ -{{ inc field_input.tpl with $field=$baseurl }}{{endinc }} +{{ inc $field_input with $field=$baseurl }}{{endinc }}
diff --git a/mathjax/view/smarty3/admin.tpl b/mathjax/view/smarty3/admin.tpl new file mode 100644 index 000000000..8d0388ca0 --- /dev/null +++ b/mathjax/view/smarty3/admin.tpl @@ -0,0 +1,2 @@ +{{include file="file:{{$field_input}}" field=$baseurl}} +
diff --git a/openstreetmap/admin.tpl b/openstreetmap/admin.tpl deleted file mode 100644 index 75db9cd7b..000000000 --- a/openstreetmap/admin.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ inc field_input.tpl with $field=$tmsserver }}{{ endinc }} -{{ inc field_input.tpl with $field=$zoom }}{{ endinc }} -
diff --git a/openstreetmap/openstreetmap.php b/openstreetmap/openstreetmap.php index fda29905d..bf6632539 100755 --- a/openstreetmap/openstreetmap.php +++ b/openstreetmap/openstreetmap.php @@ -58,7 +58,8 @@ function openstreetmap_location($a, &$item) { function openstreetmap_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); +# $t = file_get_contents( dirname(__file__)."/admin.tpl"); + $t = get_markup_template( "admin.tpl", "addon/openstreetmap/" ); $tmsserver = get_config('openstreetmap','tmsserver'); if(! $tmsserver) $tmsserver = 'http://openstreetmap.org'; @@ -66,7 +67,12 @@ function openstreetmap_plugin_admin (&$a, &$o) { if(! $zoom) $zoom = 17; - $o = replace_macros( $t, array( + $includes = array( + '$field_input' => 'field_input.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros( $t, $includes + array( '$submit' => t('Submit'), '$tmsserver' => array('tmsserver', t('Tile Server URL'), $tmsserver, t('A list of public tile servers')), '$zoom' => array('zoom', t('Default zoom'), $zoom, t('The default zoom level. (1:world, 18:highest)')), diff --git a/openstreetmap/view/admin.tpl b/openstreetmap/view/admin.tpl new file mode 100644 index 000000000..f733a9174 --- /dev/null +++ b/openstreetmap/view/admin.tpl @@ -0,0 +1,3 @@ +{{ inc $field_input with $field=$tmsserver }}{{ endinc }} +{{ inc $field_input with $field=$zoom }}{{ endinc }} +
diff --git a/openstreetmap/view/smarty3/admin.tpl b/openstreetmap/view/smarty3/admin.tpl new file mode 100644 index 000000000..90baf1bea --- /dev/null +++ b/openstreetmap/view/smarty3/admin.tpl @@ -0,0 +1,3 @@ +{{include file="file:{{$field_input}}" field=$tmsserver}} +{{include file="file:{{$field_input}}" field=$zoom}} +
diff --git a/piwik/admin.tpl b/piwik/admin.tpl deleted file mode 100755 index e57758a9d..000000000 --- a/piwik/admin.tpl +++ /dev/null @@ -1,5 +0,0 @@ -{{ inc field_input.tpl with $field=$baseurl }}{{ endinc }} -{{ inc field_input.tpl with $field=$siteid }}{{ endinc }} -{{ inc field_checkbox.tpl with $field=$optout }}{{ endinc }} -{{ inc field_checkbox.tpl with $field=$async }}{{ endinc }} -
diff --git a/piwik/piwik.php b/piwik/piwik.php index 9ba15db63..a0dd1c257 100755 --- a/piwik/piwik.php +++ b/piwik/piwik.php @@ -84,8 +84,16 @@ function piwik_analytics($a,&$b) { } } function piwik_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); - $o = replace_macros( $t, array( +# $t = file_get_contents( dirname(__file__)."/admin.tpl"); + $t = get_markup_template( "admin.tpl", "addon/piwik/" ); + + $includes = array( + '$field_input' => 'field_input.tpl', + '$field_checkbox' => 'field_select.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros( $t, $includes + array( '$submit' => t('Submit'), '$baseurl' => array('baseurl', t('Piwik Base URL'), get_config('piwik','baseurl' ), t('Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)')), '$siteid' => array('siteid', t('Site ID'), get_config('piwik','siteid' ), ''), diff --git a/piwik/view/admin.tpl b/piwik/view/admin.tpl new file mode 100755 index 000000000..21a6ea870 --- /dev/null +++ b/piwik/view/admin.tpl @@ -0,0 +1,5 @@ +{{ inc $field_input with $field=$baseurl }}{{ endinc }} +{{ inc $field_input with $field=$siteid }}{{ endinc }} +{{ inc $field_checkbox with $field=$optout }}{{ endinc }} +{{ inc $field_checkbox with $field=$async }}{{ endinc }} +
diff --git a/piwik/view/smarty3/admin.tpl b/piwik/view/smarty3/admin.tpl new file mode 100644 index 000000000..3fd397371 --- /dev/null +++ b/piwik/view/smarty3/admin.tpl @@ -0,0 +1,5 @@ +{{include file="file:{{$field_input}}" field=$baseurl}} +{{include file="file:{{$field_input}}" field=$siteid}} +{{include file="file:{{$field_checkbox}}" field=$optout}} +{{include file="file:{{$field_checkbox}}" field=$async}} +
diff --git a/remote_permissions/admin.tpl b/remote_permissions/admin.tpl deleted file mode 100644 index 605588084..000000000 --- a/remote_permissions/admin.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ inc field_radio.tpl with $field=$global }}{{ endinc }} -{{ inc field_radio.tpl with $field=$individual }}{{ endinc }} -
diff --git a/remote_permissions/remote_permissions.php b/remote_permissions/remote_permissions.php index 95e74ee19..3c99f0084 100644 --- a/remote_permissions/remote_permissions.php +++ b/remote_permissions/remote_permissions.php @@ -39,7 +39,8 @@ function remote_permissions_settings(&$a,&$o) { /* Add some HTML to the existing form */ - $t = file_get_contents("addon/remote_permissions/settings.tpl" ); +// $t = file_get_contents("addon/remote_permissions/settings.tpl" ); + $t = get_markup_template("settings.tpl", "addon/remote_permissions/" ); $o .= replace_macros($t, array( '$remote_perms_title' => t('Remote Permissions Settings'), '$remote_perms_label' => t('Allow recipients of your private posts to see the other recipients of the posts'), @@ -190,8 +191,15 @@ function remote_permissions_content($a, $item_copy) { } function remote_permissions_plugin_admin(&$a, &$o){ - $t = file_get_contents( "addon/remote_permissions/admin.tpl" ); - $o = replace_macros($t, array( +// $t = file_get_contents( "addon/remote_permissions/admin.tpl" ); + $t = get_markup_template( "admin.tpl", "addon/remote_permissions/" ); + + $includes = array( + '$field_radio' => 'field_radio.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros($t, $includes + array( '$submit' => t('Submit'), '$global' => array('remotepermschoice', t('Global'), 1, t('The posts of every user on this server show the post recipients'), get_config('remote_perms', 'global') == 1), '$individual' => array('remotepermschoice', t('Individual'), 2, t('Each user chooses whether his/her posts show the post recipients'), get_config('remote_perms', 'global') == 0) diff --git a/remote_permissions/view/admin.tpl b/remote_permissions/view/admin.tpl new file mode 100644 index 000000000..1176db41c --- /dev/null +++ b/remote_permissions/view/admin.tpl @@ -0,0 +1,3 @@ +{{ inc $field_radio with $field=$global }}{{ endinc }} +{{ inc $field_radio with $field=$individual }}{{ endinc }} +
diff --git a/remote_permissions/settings.tpl b/remote_permissions/view/settings.tpl similarity index 100% rename from remote_permissions/settings.tpl rename to remote_permissions/view/settings.tpl diff --git a/remote_permissions/view/smarty3/admin.tpl b/remote_permissions/view/smarty3/admin.tpl new file mode 100644 index 000000000..e67afd737 --- /dev/null +++ b/remote_permissions/view/smarty3/admin.tpl @@ -0,0 +1,3 @@ +{{include file="field_radio.tpl" field=$global}} +{{include file="field_radio.tpl" field=$individual}} +
diff --git a/remote_permissions/view/smarty3/settings.tpl b/remote_permissions/view/smarty3/settings.tpl new file mode 100644 index 000000000..df89a32e5 --- /dev/null +++ b/remote_permissions/view/smarty3/settings.tpl @@ -0,0 +1,8 @@ +
+

{{$remote_perms_title}}

+
+ + +
+
+ diff --git a/statusnet/admin.tpl b/statusnet/admin.tpl deleted file mode 100755 index b40adf35a..000000000 --- a/statusnet/admin.tpl +++ /dev/null @@ -1,16 +0,0 @@ -{{ for $sites as $s }} - {{ inc field_input.tpl with $field=$s.sitename }}{{ endinc }} - {{ inc field_input.tpl with $field=$s.apiurl }}{{ endinc }} - {{ inc field_input.tpl with $field=$s.secret }}{{ endinc }} - {{ inc field_input.tpl with $field=$s.key }}{{ endinc }} - {{ if $s.delete }} - {{ inc field_checkbox.tpl with $field=$s.delete }}{{ endinc }} -
- {{ else }} -

Fill this form to add a new site

- {{ endif }} - -{{ endfor }} - - -
diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index d7d490fdd..d7af352ea 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -698,8 +698,15 @@ function statusnet_plugin_admin(&$a, &$o){ ); - $t = file_get_contents( dirname(__file__). "/admin.tpl" ); - $o = replace_macros($t, array( + $t = get_markup_template( "admin.tpl", "addon/statusnet/" ); + + $includes = array( + '$field_input' => 'field_input.tpl', + '$field_checkbox' => 'field_checkbox.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros($t, $includes + array( '$submit' => t('Submit'), '$sites' => $sitesform, diff --git a/statusnet/view/admin.tpl b/statusnet/view/admin.tpl new file mode 100755 index 000000000..02eacf733 --- /dev/null +++ b/statusnet/view/admin.tpl @@ -0,0 +1,16 @@ +{{ for $sites as $s }} + {{ inc $field_input with $field=$s.sitename }}{{ endinc }} + {{ inc $field_input with $field=$s.apiurl }}{{ endinc }} + {{ inc $field_input with $field=$s.secret }}{{ endinc }} + {{ inc $field_input with $field=$s.key }}{{ endinc }} + {{ if $s.delete }} + {{ inc $field_checkbox with $field=$s.delete }}{{ endinc }} +
+ {{ else }} +

Fill this form to add a new site

+ {{ endif }} + +{{ endfor }} + + +
diff --git a/statusnet/view/smarty3/admin.tpl b/statusnet/view/smarty3/admin.tpl new file mode 100644 index 000000000..5a77b2cf8 --- /dev/null +++ b/statusnet/view/smarty3/admin.tpl @@ -0,0 +1,16 @@ +{{foreach $sites as $s}} + {{include file="file:{{$field_input}}" field=$s.sitename}} + {{include file="file:{{$field_input}}" field=$s.apiurl}} + {{include file="file:{{$field_input}}" field=$s.secret}} + {{include file="file:{{$field_input}}" field=$s.key}} + {{if $s.delete}} + {{include file="file:{{$field_checkbox}}" field=$s.delete}} +
+ {{else}} +

Fill this form to add a new site

+ {{/if}} + +{{/foreach}} + + +
diff --git a/tumblr/tumblr.php b/tumblr/tumblr.php index 01ba04bb0..4bbae8e6c 100755 --- a/tumblr/tumblr.php +++ b/tumblr/tumblr.php @@ -1,379 +1,380 @@ - - */ - -require_once('library/OAuth1.php'); -require_once('addon/tumblr/tumblroauth/tumblroauth.php'); - -function tumblr_install() { - register_hook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); - register_hook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); - register_hook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); - register_hook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); - register_hook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); - -} -function tumblr_uninstall() { - unregister_hook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); - unregister_hook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); - unregister_hook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); - unregister_hook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); - unregister_hook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); -} - -function tumblr_module() {} - -function tumblr_content(&$a) { - - if(! local_user()) { - notice( t('Permission denied.') . EOL); - return ''; - } - - if (isset($a->argv[1])) - switch ($a->argv[1]) { - case "connect": - $o = tumblr_connect($a); - break; - case "callback": - $o = tumblr_callback($a); - break; - default: - $o = print_r($a->argv, true); - break; - } - else - $o = tumblr_connect($a); - - return $o; -} - -function tumblr_connect($a) { - // Start a session. This is necessary to hold on to a few keys the callback script will also need - session_start(); - - // Include the TumblrOAuth library - //require_once('addon/tumblr/tumblroauth/tumblroauth.php'); - - // Define the needed keys - $consumer_key = get_config('tumblr','consumer_key'); - $consumer_secret = get_config('tumblr','consumer_secret'); - - // The callback URL is the script that gets called after the user authenticates with tumblr - // In this example, it would be the included callback.php - $callback_url = $a->get_baseurl()."/tumblr/callback"; - - // Let's begin. First we need a Request Token. The request token is required to send the user - // to Tumblr's login page. - - // Create a new instance of the TumblrOAuth library. For this step, all we need to give the library is our - // Consumer Key and Consumer Secret - $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret); - - // Ask Tumblr for a Request Token. Specify the Callback URL here too (although this should be optional) - $request_token = $tum_oauth->getRequestToken($callback_url); - - // Store the request token and Request Token Secret as out callback.php script will need this - $_SESSION['request_token'] = $token = $request_token['oauth_token']; - $_SESSION['request_token_secret'] = $request_token['oauth_token_secret']; - - // Check the HTTP Code. It should be a 200 (OK), if it's anything else then something didn't work. - switch ($tum_oauth->http_code) { - case 200: - // Ask Tumblr to give us a special address to their login page - $url = $tum_oauth->getAuthorizeURL($token); - - // Redirect the user to the login URL given to us by Tumblr - header('Location: ' . $url); - - // That's it for our side. The user is sent to a Tumblr Login page and - // asked to authroize our app. After that, Tumblr sends the user back to - // our Callback URL (callback.php) along with some information we need to get - // an access token. - - break; - default: - // Give an error message - $o = 'Could not connect to Tumblr. Refresh the page or try again later.'; - } - return($o); -} - -function tumblr_callback($a) { - - // Start a session, load the library - session_start(); - //require_once('addon/tumblr/tumblroauth/tumblroauth.php'); - - // Define the needed keys - $consumer_key = get_config('tumblr','consumer_key'); - $consumer_secret = get_config('tumblr','consumer_secret'); - - // Once the user approves your app at Tumblr, they are sent back to this script. - // This script is passed two parameters in the URL, oauth_token (our Request Token) - // and oauth_verifier (Key that we need to get Access Token). - // We'll also need out Request Token Secret, which we stored in a session. - - // Create instance of TumblrOAuth. - // It'll need our Consumer Key and Secret as well as our Request Token and Secret - $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $_SESSION['request_token'], $_SESSION['request_token_secret']); - - // Ok, let's get an Access Token. We'll need to pass along our oauth_verifier which was given to us in the URL. - $access_token = $tum_oauth->getAccessToken($_REQUEST['oauth_verifier']); - - // We're done with the Request Token and Secret so let's remove those. - unset($_SESSION['request_token']); - unset($_SESSION['request_token_secret']); - - // Make sure nothing went wrong. - if (200 == $tum_oauth->http_code) { - // good to go - } else { - return('Unable to authenticate'); - } - - // What's next? Now that we have an Access Token and Secret, we can make an API call. - set_pconfig(local_user(), "tumblr", "oauth_token", $access_token['oauth_token']); - set_pconfig(local_user(), "tumblr", "oauth_token_secret", $access_token['oauth_token_secret']); - - $o = t("You are now authenticated to tumblr."); - $o .= '
'.t("return to the connector page").''; - return($o); -} - -function tumblr_jot_nets(&$a,&$b) { - if(! local_user()) - return; - - $tmbl_post = get_pconfig(local_user(),'tumblr','post'); - if(intval($tmbl_post) == 1) { - $tmbl_defpost = get_pconfig(local_user(),'tumblr','post_by_default'); - $selected = ((intval($tmbl_defpost) == 1) ? ' checked="checked" ' : ''); - $b .= '
' - . t('Post to Tumblr') . '
'; - } -} - - -function tumblr_settings(&$a,&$s) { - - if(! local_user()) - return; - - /* Add our stylesheet to the page so we can make our settings look nice */ - - $a->page['htmlhead'] .= '' . "\r\n"; - - /* Get the current state of our config variables */ - - $enabled = get_pconfig(local_user(),'tumblr','post'); - - $checked = (($enabled) ? ' checked="checked" ' : ''); - - $def_enabled = get_pconfig(local_user(),'tumblr','post_by_default'); - - $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); - - /* Add some HTML to the existing form */ - - $s .= '
'; - $s .= '

' . t('Tumblr Post Settings') . '

'; - - $s .= '
'; - - $s .= '
'; - $s .= ''; - $s .= ''; - $s .= '
'; - - $s .= '
'; - $s .= ''; - $s .= ''; - $s .= '
'; - - $oauth_token = get_pconfig(local_user(), "tumblr", "oauth_token"); - $oauth_token_secret = get_pconfig(local_user(), "tumblr", "oauth_token_secret"); - - $s .= '
'; - if (($oauth_token != "") and ($oauth_token_secret != "")) { - - $page = get_pconfig(local_user(),'tumblr','page'); - $consumer_key = get_config('tumblr','consumer_key'); - $consumer_secret = get_config('tumblr','consumer_secret'); - - $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret); - - $userinfo = $tum_oauth->get('user/info'); - - $blogs = array(); - - $s .= t("Post to page:").""; - } else - $s .= t("You are not authenticated to tumblr"); - $s .= '
'; - - /* provide a submit button */ - - $s .= '
'; - -} - - -function tumblr_settings_post(&$a,&$b) { - - if(x($_POST,'tumblr-submit')) { - - set_pconfig(local_user(),'tumblr','post',intval($_POST['tumblr'])); - set_pconfig(local_user(),'tumblr','page',$_POST['tumblr_page']); - set_pconfig(local_user(),'tumblr','post_by_default',intval($_POST['tumblr_bydefault'])); - - } - -} - -function tumblr_post_local(&$a,&$b) { - - // This can probably be changed to allow editing by pointing to a different API endpoint - - if($b['edit']) - return; - - if((! local_user()) || (local_user() != $b['uid'])) - return; - - if($b['private'] || $b['parent']) - return; - - $tmbl_post = intval(get_pconfig(local_user(),'tumblr','post')); - - $tmbl_enable = (($tmbl_post && x($_REQUEST,'tumblr_enable')) ? intval($_REQUEST['tumblr_enable']) : 0); - - if($_REQUEST['api_source'] && intval(get_pconfig(local_user(),'tumblr','post_by_default'))) - $tmbl_enable = 1; - - if(! $tmbl_enable) - return; - - if(strlen($b['postopts'])) - $b['postopts'] .= ','; - $b['postopts'] .= 'tumblr'; -} - - - - -function tumblr_send(&$a,&$b) { - - if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) - return; - - if(! strstr($b['postopts'],'tumblr')) - return; - - if($b['parent'] != $b['id']) - return; - - $oauth_token = get_pconfig($b['uid'], "tumblr", "oauth_token"); - $oauth_token_secret = get_pconfig($b['uid'], "tumblr", "oauth_token_secret"); - $page = get_pconfig($b['uid'], "tumblr", "page"); - $tmbl_blog = 'blog/'.$page.'/post'; - - if($oauth_token && $oauth_token_secret && $tmbl_blog) { - - require_once('include/bbcode.php'); - - $tag_arr = array(); - $tags = ''; - $x = preg_match_all('/\#\[(.*?)\](.*?)\[/',$b['tag'],$matches,PREG_SET_ORDER); - - if($x) { - foreach($matches as $mtch) { - $tag_arr[] = $mtch[2]; - } - } - if(count($tag_arr)) - $tags = implode(',',$tag_arr); - - $link = ""; - $video = false; - $title = trim($b['title']); - - // Checking for a bookmark - if(preg_match("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/is",$b['body'],$matches)) { - $link = $matches[1]; - if ($title == '') - $title = html_entity_decode($matches[2],ENT_QUOTES,'UTF-8'); - - $body = $b['body']; - // splitting the text in two parts: - // before and after the bookmark - $pos = strpos($body, "[bookmark"); - $body1 = substr($body, 0, $pos); - $body2 = substr($body, $pos); - - // Removing the bookmark - $body2 = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'',$body2); - $body = $body1.$body2; - - $video = ((stristr($link,'youtube')) || (stristr($link,'youtu.be')) || (stristr($mtch[1],'vimeo'))); - } - - $params = array( - 'format' => 'html', - 'tweet' => 'off', - 'tags' => $tags); - - if (($link != '') and $video) { - $params['type'] = "video"; - $params['embed'] = $link; - if ($title != '') - $params['caption'] = '

'.$title. - "

".bbcode($body, false, false)."

"; - else - $params['caption'] = bbcode($body, false, false); - } else if (($link != '') and !$video) { - $params['type'] = "link"; - $params['title'] = $title; - $params['url'] = $link; - $params['description'] = bbcode($b["body"], false, false); - } else { - $params['type'] = "text"; - $params['title'] = $title; - $params['body'] = bbcode($b['body'], false, false); - } - - $consumer_key = get_config('tumblr','consumer_key'); - $consumer_secret = get_config('tumblr','consumer_secret'); - - $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret); - - // Make an API call with the TumblrOAuth instance. - $x = $tum_oauth->post($tmbl_blog,$params); - - $ret_code = $tum_oauth->http_code; - - if($ret_code == 201) - logger('tumblr_send: success'); - elseif($ret_code == 403) - logger('tumblr_send: authentication failure'); - else - logger('tumblr_send: general error: ' . print_r($x,true)); - - } -} + + */ + +require_once('library/OAuth1.php'); +require_once('addon/tumblr/tumblroauth/tumblroauth.php'); + +function tumblr_install() { + register_hook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); + register_hook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); + register_hook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); + register_hook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); + register_hook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); + +} +function tumblr_uninstall() { + unregister_hook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); + unregister_hook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); + unregister_hook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); + unregister_hook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); + unregister_hook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); +} + +function tumblr_module() {} + +function tumblr_content(&$a) { + + if(! local_user()) { + notice( t('Permission denied.') . EOL); + return ''; + } + + if (isset($a->argv[1])) + switch ($a->argv[1]) { + case "connect": + $o = tumblr_connect($a); + break; + case "callback": + $o = tumblr_callback($a); + break; + default: + $o = print_r($a->argv, true); + break; + } + else + $o = tumblr_connect($a); + + return $o; +} + +function tumblr_connect($a) { + // Start a session. This is necessary to hold on to a few keys the callback script will also need + session_start(); + + // Include the TumblrOAuth library + //require_once('addon/tumblr/tumblroauth/tumblroauth.php'); + + // Define the needed keys + $consumer_key = get_config('tumblr','consumer_key'); + $consumer_secret = get_config('tumblr','consumer_secret'); + + // The callback URL is the script that gets called after the user authenticates with tumblr + // In this example, it would be the included callback.php + $callback_url = $a->get_baseurl()."/tumblr/callback"; + + // Let's begin. First we need a Request Token. The request token is required to send the user + // to Tumblr's login page. + + // Create a new instance of the TumblrOAuth library. For this step, all we need to give the library is our + // Consumer Key and Consumer Secret + $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret); + + // Ask Tumblr for a Request Token. Specify the Callback URL here too (although this should be optional) + $request_token = $tum_oauth->getRequestToken($callback_url); + + // Store the request token and Request Token Secret as out callback.php script will need this + $_SESSION['request_token'] = $token = $request_token['oauth_token']; + $_SESSION['request_token_secret'] = $request_token['oauth_token_secret']; + + // Check the HTTP Code. It should be a 200 (OK), if it's anything else then something didn't work. + switch ($tum_oauth->http_code) { + case 200: + // Ask Tumblr to give us a special address to their login page + $url = $tum_oauth->getAuthorizeURL($token); + + // Redirect the user to the login URL given to us by Tumblr + header('Location: ' . $url); + + // That's it for our side. The user is sent to a Tumblr Login page and + // asked to authroize our app. After that, Tumblr sends the user back to + // our Callback URL (callback.php) along with some information we need to get + // an access token. + + break; + default: + // Give an error message + $o = 'Could not connect to Tumblr. Refresh the page or try again later.'; + } + return($o); +} + +function tumblr_callback($a) { + + // Start a session, load the library + session_start(); + //require_once('addon/tumblr/tumblroauth/tumblroauth.php'); + + // Define the needed keys + $consumer_key = get_config('tumblr','consumer_key'); + $consumer_secret = get_config('tumblr','consumer_secret'); + + // Once the user approves your app at Tumblr, they are sent back to this script. + // This script is passed two parameters in the URL, oauth_token (our Request Token) + // and oauth_verifier (Key that we need to get Access Token). + // We'll also need out Request Token Secret, which we stored in a session. + + // Create instance of TumblrOAuth. + // It'll need our Consumer Key and Secret as well as our Request Token and Secret + $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $_SESSION['request_token'], $_SESSION['request_token_secret']); + + // Ok, let's get an Access Token. We'll need to pass along our oauth_verifier which was given to us in the URL. + $access_token = $tum_oauth->getAccessToken($_REQUEST['oauth_verifier']); + + // We're done with the Request Token and Secret so let's remove those. + unset($_SESSION['request_token']); + unset($_SESSION['request_token_secret']); + + // Make sure nothing went wrong. + if (200 == $tum_oauth->http_code) { + // good to go + } else { + return('Unable to authenticate'); + } + + // What's next? Now that we have an Access Token and Secret, we can make an API call. + set_pconfig(local_user(), "tumblr", "oauth_token", $access_token['oauth_token']); + set_pconfig(local_user(), "tumblr", "oauth_token_secret", $access_token['oauth_token_secret']); + + $o = t("You are now authenticated to tumblr."); + $o .= '
'.t("return to the connector page").''; + return($o); +} + +function tumblr_jot_nets(&$a,&$b) { + if(! local_user()) + return; + + $tmbl_post = get_pconfig(local_user(),'tumblr','post'); + if(intval($tmbl_post) == 1) { + $tmbl_defpost = get_pconfig(local_user(),'tumblr','post_by_default'); + $selected = ((intval($tmbl_defpost) == 1) ? ' checked="checked" ' : ''); + $b .= '
' + . t('Post to Tumblr') . '
'; + } +} + + +function tumblr_settings(&$a,&$s) { + + if(! local_user()) + return; + + /* Add our stylesheet to the page so we can make our settings look nice */ + + $a->page['htmlhead'] .= '' . "\r\n"; + + /* Get the current state of our config variables */ + + $enabled = get_pconfig(local_user(),'tumblr','post'); + + $checked = (($enabled) ? ' checked="checked" ' : ''); + + $def_enabled = get_pconfig(local_user(),'tumblr','post_by_default'); + + $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); + + /* Add some HTML to the existing form */ + + $s .= '
'; + $s .= '

' . t('Tumblr Post Settings') . '

'; + + $s .= '
'; + + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + $oauth_token = get_pconfig(local_user(), "tumblr", "oauth_token"); + $oauth_token_secret = get_pconfig(local_user(), "tumblr", "oauth_token_secret"); + + $s .= '
'; + if (($oauth_token != "") and ($oauth_token_secret != "")) { + + $page = get_pconfig(local_user(),'tumblr','page'); + $consumer_key = get_config('tumblr','consumer_key'); + $consumer_secret = get_config('tumblr','consumer_secret'); + + $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret); + + $userinfo = $tum_oauth->get('user/info'); + + $blogs = array(); + + $s .= t("Post to page:").""; + } else + $s .= t("You are not authenticated to tumblr"); + $s .= '
'; + + /* provide a submit button */ + + $s .= '
'; + +} + + +function tumblr_settings_post(&$a,&$b) { + + if(x($_POST,'tumblr-submit')) { + + set_pconfig(local_user(),'tumblr','post',intval($_POST['tumblr'])); + set_pconfig(local_user(),'tumblr','page',$_POST['tumblr_page']); + set_pconfig(local_user(),'tumblr','post_by_default',intval($_POST['tumblr_bydefault'])); + + } + +} + +function tumblr_post_local(&$a,&$b) { + + // This can probably be changed to allow editing by pointing to a different API endpoint + + if($b['edit']) + return; + + if((! local_user()) || (local_user() != $b['uid'])) + return; + + if($b['private'] || $b['parent']) + return; + + $tmbl_post = intval(get_pconfig(local_user(),'tumblr','post')); + + $tmbl_enable = (($tmbl_post && x($_REQUEST,'tumblr_enable')) ? intval($_REQUEST['tumblr_enable']) : 0); + + if($_REQUEST['api_source'] && intval(get_pconfig(local_user(),'tumblr','post_by_default'))) + $tmbl_enable = 1; + + if(! $tmbl_enable) + return; + + if(strlen($b['postopts'])) + $b['postopts'] .= ','; + $b['postopts'] .= 'tumblr'; +} + + + + +function tumblr_send(&$a,&$b) { + + if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) + return; + + if(! strstr($b['postopts'],'tumblr')) + return; + + if($b['parent'] != $b['id']) + return; + + $oauth_token = get_pconfig($b['uid'], "tumblr", "oauth_token"); + $oauth_token_secret = get_pconfig($b['uid'], "tumblr", "oauth_token_secret"); + $page = get_pconfig($b['uid'], "tumblr", "page"); + $tmbl_blog = 'blog/'.$page.'/post'; + + if($oauth_token && $oauth_token_secret && $tmbl_blog) { + + require_once('include/bbcode.php'); + + $tag_arr = array(); + $tags = ''; + $x = preg_match_all('/\#\[(.*?)\](.*?)\[/',$b['tag'],$matches,PREG_SET_ORDER); + + if($x) { + foreach($matches as $mtch) { + $tag_arr[] = $mtch[2]; + } + } + if(count($tag_arr)) + $tags = implode(',',$tag_arr); + + $link = ""; + $video = false; + $title = trim($b['title']); + + // Checking for a bookmark + if(preg_match("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/is",$b['body'],$matches)) { + $link = $matches[1]; + if ($title == '') + $title = html_entity_decode($matches[2],ENT_QUOTES,'UTF-8'); + + $body = $b['body']; + // splitting the text in two parts: + // before and after the bookmark + $pos = strpos($body, "[bookmark"); + $body1 = substr($body, 0, $pos); + $body2 = substr($body, $pos); + + // Removing the bookmark + $body2 = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'',$body2); + $body = $body1.$body2; + + $video = ((stristr($link,'youtube')) || (stristr($link,'youtu.be')) || (stristr($mtch[1],'vimeo'))); + } + + $params = array( + 'format' => 'html', + 'tweet' => 'off', + 'tags' => $tags); + + if (($link != '') and $video) { + $params['type'] = "video"; + $params['embed'] = $link; + if ($title != '') + $params['caption'] = '

'.$title. + "

".bbcode($body, false, false)."

"; + else + $params['caption'] = bbcode($body, false, false); + } else if (($link != '') and !$video) { + $params['type'] = "link"; + $params['title'] = $title; + $params['url'] = $link; + $params['description'] = bbcode($b["body"], false, false); + } else { + $params['type'] = "text"; + $params['title'] = $title; + $params['body'] = bbcode($b['body'], false, false); + } + + $consumer_key = get_config('tumblr','consumer_key'); + $consumer_secret = get_config('tumblr','consumer_secret'); + + $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret); + + // Make an API call with the TumblrOAuth instance. + $x = $tum_oauth->post($tmbl_blog,$params); + + $ret_code = $tum_oauth->http_code; + + if($ret_code == 201) + logger('tumblr_send: success'); + elseif($ret_code == 403) + logger('tumblr_send: authentication failure'); + else + logger('tumblr_send: general error: ' . print_r($x,true)); + + } +} + diff --git a/twitter/admin.tpl b/twitter/admin.tpl deleted file mode 100755 index a83eb07a4..000000000 --- a/twitter/admin.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ inc field_input.tpl with $field=$consumerkey }}{{ endinc }} -{{ inc field_input.tpl with $field=$consumersecret }}{{ endinc }} -
diff --git a/twitter/twitter.php b/twitter/twitter.php index ee3bd0fbd..6cb2d9cd8 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -504,8 +504,14 @@ function twitter_plugin_admin_post(&$a){ info( t('Settings updated.'). EOL ); } function twitter_plugin_admin(&$a, &$o){ - $t = file_get_contents( dirname(__file__). "/admin.tpl" ); - $o = replace_macros($t, array( + $t = get_markup_template( "admin.tpl", "addon/twitter/" ); + + $includes = array( + '$field_input' => 'field_input.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $o = replace_macros($t, $includes + array( '$submit' => t('Submit'), // name, label, value, help, [extra values] '$consumerkey' => array('consumerkey', t('Consumer key'), get_config('twitter', 'consumerkey' ), ''), diff --git a/twitter/view/admin.tpl b/twitter/view/admin.tpl new file mode 100755 index 000000000..d3649fce3 --- /dev/null +++ b/twitter/view/admin.tpl @@ -0,0 +1,3 @@ +{{ inc $field_input with $field=$consumerkey }}{{ endinc }} +{{ inc $field_input with $field=$consumersecret }}{{ endinc }} +
diff --git a/twitter/view/smarty3/admin.tpl b/twitter/view/smarty3/admin.tpl new file mode 100644 index 000000000..ad1e07e91 --- /dev/null +++ b/twitter/view/smarty3/admin.tpl @@ -0,0 +1,3 @@ +{{include file="file:{{$field_input}}" field=$consumerkey}} +{{include file="file:{{$field_input}}" field=$consumersecret}} +
diff --git a/uhremotestorage/settings.tpl b/uhremotestorage/settings.tpl deleted file mode 100755 index 22d7d6084..000000000 --- a/uhremotestorage/settings.tpl +++ /dev/null @@ -1,9 +0,0 @@ -
-

$title

-

$desc

- {{ inc field_input.tpl with $field=$url }}{{ endinc }} - {{ inc field_input.tpl with $field=$auth }}{{ endinc }} - {{ inc field_select.tpl with $field=$api }}{{ endinc }} -
- -
diff --git a/uhremotestorage/uhremotestorage.php b/uhremotestorage/uhremotestorage.php index a2a8cc3dd..d7d036922 100755 --- a/uhremotestorage/uhremotestorage.php +++ b/uhremotestorage/uhremotestorage.php @@ -78,8 +78,16 @@ function uhremotestorage_settings($a, &$s){ 'Dropbox' => 'Dropbox', ); */ - $tpl = file_get_contents(dirname(__file__)."/settings.tpl"); - $s .= replace_macros($tpl, array( +// $tpl = file_get_contents(dirname(__file__)."/settings.tpl"); + $tpl = get_markup_template("settings.tpl", "addon/uhremotestorage/"); + + $includes = array( + '$field_input' => 'field_input.tpl', + '$field_select' => 'field_select.tpl', + ); + $includes = set_template_includes($a->theme['template_engine'], $includes); + + $s .= replace_macros($tpl, $includes + array( '$title' => 'Unhosted remote storage', '$desc' => sprintf( t('Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See RemoteStorage WebFinger'), $uid ), '$url' => array( 'unhoestedurl', t('Template URL (with {category})'), $url, 'If your are using ownCloud, your unhosted url will be like http://HOST/apps/remoteStorage/WebDAV.php/USER/remoteStorage/{category}'), diff --git a/uhremotestorage/view/settings.tpl b/uhremotestorage/view/settings.tpl new file mode 100755 index 000000000..51650c85b --- /dev/null +++ b/uhremotestorage/view/settings.tpl @@ -0,0 +1,9 @@ +
+

$title

+

$desc

+ {{ inc $field_input with $field=$url }}{{ endinc }} + {{ inc $field_input with $field=$auth }}{{ endinc }} + {{ inc $field_select with $field=$api }}{{ endinc }} +
+ +
diff --git a/uhremotestorage/view/smarty3/settings.tpl b/uhremotestorage/view/smarty3/settings.tpl new file mode 100644 index 000000000..217f069a8 --- /dev/null +++ b/uhremotestorage/view/smarty3/settings.tpl @@ -0,0 +1,9 @@ +
+

{{$title}}

+

{{$desc}}

+ {{include file="file:{{$field_input}}" field=$url}} + {{include file="file:{{$field_input}}" field=$auth}} + {{include file="file:{{$field_select}}" field=$api}} +
+ +
diff --git a/widgets/settings.tpl b/widgets/view/settings.tpl similarity index 100% rename from widgets/settings.tpl rename to widgets/view/settings.tpl diff --git a/widgets/view/smarty3/settings.tpl b/widgets/view/smarty3/settings.tpl new file mode 100644 index 000000000..017fa1200 --- /dev/null +++ b/widgets/view/smarty3/settings.tpl @@ -0,0 +1,19 @@ +
+

{{$title}}

+
+ + {{$key}} +
+ +
+ +
+ +

{{$widgets_h}}

+
    + {{foreach $widgets as $w}} +
  • {{$w.1}}
  • + {{/foreach}} +
+ +
diff --git a/widgets/view/smarty3/widget_like.tpl b/widgets/view/smarty3/widget_like.tpl new file mode 100644 index 000000000..ad5295754 --- /dev/null +++ b/widgets/view/smarty3/widget_like.tpl @@ -0,0 +1,3 @@ + +{{$like}} like +{{$dislike}} dislike diff --git a/widgets/widget_like.tpl b/widgets/view/widget_like.tpl similarity index 100% rename from widgets/widget_like.tpl rename to widgets/view/widget_like.tpl diff --git a/widgets/widget_like.php b/widgets/widget_like.php index 649d4a767..8f356da97 100755 --- a/widgets/widget_like.php +++ b/widgets/widget_like.php @@ -52,7 +52,8 @@ function like_widget_content(&$a, $conf){ $o = ""; - $t = file_get_contents( dirname(__file__). "/widget_like.tpl" ); +# $t = file_get_contents( dirname(__file__). "/widget_like.tpl" ); + $t = get_markup_template("widget_like.tpl", "addon/widgets/"); $o .= replace_macros($t, array( '$like' => $likes, '$strlike' => sprintf( tt("%d person likes this", "%d people like this", $likes), $likes), diff --git a/widgets/widgets.php b/widgets/widgets.php index 47a6e48a6..72534ce3b 100755 --- a/widgets/widgets.php +++ b/widgets/widgets.php @@ -51,7 +51,8 @@ function widgets_settings(&$a,&$o) { - $t = file_get_contents( dirname(__file__). "/settings.tpl" ); +# $t = file_get_contents( dirname(__file__). "/settings.tpl" ); + $t = get_markup_template("settings.tpl", "addon/widgets/"); $o .= replace_macros($t, array( '$submit' => t('Generate new key'), '$baseurl' => $a->get_baseurl(),