]> git.mxchange.org Git - friendica-addons.git/blobdiff - viewsrc/viewsrc.php
xmpp added NL translation THX Karel Vandecandelaere
[friendica-addons.git] / viewsrc / viewsrc.php
index e39fe8a6a7215b959ba339bc7789279405509a72..c7ed10c717023bea22c63556292952cc5b884ce3 100644 (file)
@@ -1,27 +1,61 @@
 <?php
-
-
 /**
  * Name: viewsrc
  * Description: Add "View Source" link to item context
  * Version: 1.0
  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
- * 
+ *
  */
+use Friendica\Core\Addon;
+use Friendica\Core\L10n;
 
 function viewsrc_install() {
-       register_hook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
+       Addon::registerHook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
+       Addon::registerHook('page_end', 'addon/viewsrc/viewsrc.php', 'viewsrc_page_end');
 }
 
 
 function viewsrc_uninstall() {
-       unregister_hook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
+       Addon::unregisterHook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
+       Addon::unregisterHook('page_end', 'addon/viewsrc/viewsrc.php', 'viewsrc_page_end');
+
 }
 
+function viewsrc_page_end(&$a, &$o){
+       $a->page['htmlhead'] .= <<< EOS
+       <script>
+               $(function(){
+                       $('a[href*="/viewsrc/"]').each(function() {
+                               $(this).colorbox($(this).attr('href'));
+                       });
+               });
+       </script>
+EOS;
+}
 
-function viewsrc_item_photo_menu(&$a,&$b) {
-       if(! local_user())
+function viewsrc_item_photo_menu(&$a, &$b)
+{
+       if (!local_user()) {
                return;
-       $b['menu'] = array_merge( array( t('View Source') => $a->get_baseurl() . '/viewsrc/'. $b['item']['id']), $b['menu']);
+       }
+
+       if (local_user() != $b['item']['uid']) {
+               $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `guid` = '%s'",
+                               intval(local_user()), dbesc($b['item']['guid']));
+
+               if (!$r) {
+                       return;
+               }
+
+               $item_id = $r[0]['id'];
+       } else {
+               $item_id = $b['item']['id'];
+       }
+
+       $b['menu'] = array_merge([L10n::t('View Source') => $a->get_baseurl() . '/viewsrc/'. $item_id], $b['menu']);
+
+       //if((! local_user()) || (local_user() != $b['item']['uid']))
+       //      return;
 
+       //$b['menu'] = array_merge(array(L10n::t('View Source') => $a->get_baseurl() . '/viewsrc/'. $b['item']['id']), $b['menu']);
 }