From: rabuzarus <>
Date: Wed, 20 Apr 2016 17:32:19 +0000 (+0200)
Subject: replace pm & poke links in contact_photo_menu and use js for modal instead
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=f43ad29499df6960844a15cf276079a21de406bd;p=friendica.git

replace pm & poke links in contact_photo_menu and use js for modal instead
---

diff --git a/templates/contact_template.tpl b/templates/contact_template.tpl
index 21241d0ab0..31d7971ac3 100644
--- a/templates/contact_template.tpl
+++ b/templates/contact_template.tpl
@@ -22,6 +22,8 @@
 					{{foreach $contact.photo_menu as $c}}
 					{{if $c.2}}
 					<li role="menuitem"><a target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
+					{{elseif $c.3}}
+					<li role="menuitem"><a onclick="addToModal('{{$c.1}}')">{{$c.0}}</a></li>
 					{{else}}
 					<li role="menuitem"><a href="{{$c.1}}">{{$c.0}}</a></li>
 					{{/if}}
diff --git a/templates/contacts-template.tpl b/templates/contacts-template.tpl
index e33855b6d5..9c5b0498c4 100644
--- a/templates/contacts-template.tpl
+++ b/templates/contacts-template.tpl
@@ -74,8 +74,8 @@ this needs to be removed and do it with js *}}
 <script>
  $(document).ready(function() {
   // replace data target for poke & private Message to make Modal Dialog possible
-  $('li a[href^="{{$baseurl}}/poke/?f"]').attr('data-target','#PokeModal').attr('data-toggle', 'modal');
-  $('li a[href^="{{$baseurl}}/message/new"]').attr('data-target','#MailModal').attr('data-toggle', 'modal');
+//  $('li a[href^="{{$baseurl}}/poke/?f"]').attr('data-target','#PokeModal').attr('data-toggle', 'modal');
+//  $('li a[href^="{{$baseurl}}/message/new"]').attr('data-target','#MailModal').attr('data-toggle', 'modal');
  
   // javascript dialog to batch actions
   $(".batch-action").click(function(e){
diff --git a/theme.php b/theme.php
index 2fed9fdfa3..6094b84f70 100644
--- a/theme.php
+++ b/theme.php
@@ -32,6 +32,7 @@ function frio_init(&$a) {
 function frio_install() {
 	register_hook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links');
 	register_hook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu');
+	register_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
 	register_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
 
 	logger("installed theme frio");
@@ -40,6 +41,7 @@ function frio_install() {
 function frio_uninstall() {
 	unregister_hook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links');
 	unregister_hook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu');
+	unregister_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
 
 	logger("uninstalled theme frio");
 }
@@ -100,12 +102,43 @@ function frio_item_photo_menu($a, &$arr){
 		if(strpos($v,'poke/?f=&c=') === 0 || strpos($v,'message/new/') === 0) {
 			$v = "javascript:addToModal('" . $v . "'); return false;";
 			$arr["menu"][$k] = $v;
-			$testvariable = $testvariable+1;
 		}
 	}
 	$args = array('item' => $item, 'menu' => $menu);
 }
 
+/**
+ * @brief Replace links of the contact_photo_menu
+ * 
+ *  This function replaces the original poke and the message links
+ *  to call the addToModal javascript function so this pages can
+ *  be loaded in a bootstrap modal
+ * 
+ * @param app $a The app data
+ * @param array $args Contains contact data and the original photo_menu
+ */
+function frio_contact_photo_menu($a, &$args){
+
+	$pokelink = "";
+	$pmlink = "";
+	$cid = "";
+
+	$cid = $args["contact"]["id"];
+	$pokelink = $args["menu"]["poke"][1];
+	$pmlink = $args["menu"]["pm"][1];
+
+	// Add to pm and poke links a new key with the value 'modal'.
+	// Later we can make conditions in the corresponing templates (e.g.
+	// contact_template.tpl)
+	if(strpos($pokelink,'poke/?f=&c='. $cid) !== false)
+		$args["menu"]["poke"][3] = "modal";
+
+	if(strpos($pmlink,'message/new/' . $cid) !== false)
+		$args["menu"]["pm"][3] = "modal";
+
+	$args = array('contact' => $contact, 'menu' => &$menu);
+}
+
 /**
  * @brief Construct remote nav menu
  *