apas...@adullact.net
unread,Oct 13, 2017, 11:46:20 AM10/13/17Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openmairi...@googlegroups.com
Author: apasquini
Date: 2017-10-13 17:46:17 +0200 (Fri, 13 Oct 2017)
New Revision: 7567
Modified:
branches/4.6.0_widget_rss/app/js/script.js
branches/4.6.0_widget_rss/app/widget_rss.php
branches/4.6.0_widget_rss/obj/om_widget.class.php
Log:
widget non fini save 13/10
Modified: branches/4.6.0_widget_rss/app/js/script.js
===================================================================
--- branches/4.6.0_widget_rss/app/js/script.js 2017-10-13 13:11:03 UTC (rev 7566)
+++ branches/4.6.0_widget_rss/app/js/script.js 2017-10-13 15:46:17 UTC (rev 7567)
@@ -180,16 +180,14 @@
$(initBindFocus);
-/* Permet un chargement asynchrone des flux rss apres le chargement de la page
-Ce contenu est ajouté à la balise html
-*/
-function widget_rss(url, element_id) {
-
- $("#"+element_id+"-widget").each(function(){
+function bind_widget() {
+ $(".widget-rss-marker").each(function(){
+ //$(this).
+ var url = $(".widget-rss-url").attr('data-href');
var jqxhr = $.ajax( url ).done(function(data) {
+
var x = data.getElementsByTagName('item');
-
for (i=0; i<=1; i++) {
var item_title = x.item(i).getElementsByTagName('title').item(0).childNodes.item(0).nodeValue;
var item_link = x.item(i).getElementsByTagName('link').item(0).childNodes.item(0).nodeValue;
@@ -202,6 +200,18 @@
});
}
+/* Permet un chargement asynchrone des flux rss apres le chargement de la page
+Ce contenu est ajouté à la balise html
+*/
+function widget_rss() {
+
+ $.ajax({
+ type: "GET",
+ url: "../form.php?obj=om_widget&action=4&idx=",
+ cache: false,
+ }
+}
+
/**
* Surcharge de la fonction ajaxIt spécifique au formulaire ouvert en
* overlay ayant des actions directs.
@@ -3352,6 +3362,7 @@
required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type);
}
+ bind_widget();
});
/**
Modified: branches/4.6.0_widget_rss/app/widget_rss.php
===================================================================
--- branches/4.6.0_widget_rss/app/widget_rss.php 2017-10-13 13:11:03 UTC (rev 7566)
+++ branches/4.6.0_widget_rss/app/widget_rss.php 2017-10-13 15:46:17 UTC (rev 7567)
@@ -19,9 +19,18 @@
if (!isset($content)) {
$content = null;
}
-//
-$om_widget->view_widget_rss($content);
-?>
+$params = array("url", "element_id", "async");
+$arguments = $om_widget->get_arguments($content, $params);
+//si async = false ou n'est pas défini
+if($arguments['async'] == 'false' || !isset($arguments['async'])){
+ //envoi vers la fonction non async
+ $om_widget->view_widget_rss($content);
+} else {
+ //envoi vers la fonction non async
+ $om_widget->display_widget_rss($content);
+}
+
+?>
\ No newline at end of file
Modified: branches/4.6.0_widget_rss/obj/om_widget.class.php
===================================================================
--- branches/4.6.0_widget_rss/obj/om_widget.class.php 2017-10-13 13:11:03 UTC (rev 7566)
+++ branches/4.6.0_widget_rss/obj/om_widget.class.php 2017-10-13 15:46:17 UTC (rev 7567)
@@ -1600,7 +1600,7 @@
* WIDGET DASHBOARD - rss
* @return void
*/
- function view_widget_rss($content = null) {
+ function display_widget_rss($content = null) {
/**
* Ce widget est configurable via l'interface Web. Lors de la création
* du widget dans le paramétrage il est possible de spécifier l'options suivantes :
@@ -1613,20 +1613,90 @@
// Formatage des arguments reçus en paramètres
$arguments = $this->get_arguments($content, $params);
- //Ecriture du html du widget
- echo "<h1>Flux rss</h1>";
- echo ("<br/>");
//id personnalisé pour cibler uniquement cette div si plusieur widget
- echo ("<div id='".$arguments['element_id']."-widget' class='widget-rss'></div>");
+ echo ("<div class='widget-rss-marker' id='".$arguments['element_id']."-widget'><span class='widget-rss-url' data-href='".$arguments['url']."'> TEST</span><div class='widget-rss-content'></div></div>");
+ }
+
+
+ /**
+ * WIDGET DASHBOARD - rss si choix synchrone alors
+ * @return void
+ */
+ function view_widget_rss($content = null) {
+ /**
+ * Ce widget est configurable via l'interface Web. Lors de la création
+ * du widget dans le paramétrage il est possible de spécifier l'options suivantes :
+ * - url
+ * - element_id
+ */
+ // Liste des paramètres
+ $params = array("url", "element_id");
+
+ // Formatage des arguments reçus en paramètres
+ $arguments = $this->get_arguments($content, $params);
+
// appel du script widget_rss avec comme arguement les 2 arguments du widget url et element_id
- echo ("<script>
- widget_rss('".$arguments['url']."', '".$arguments['element_id']."');
- </script>");
+ $xmlDoc = new DOMDocument();
+ $xmlDoc->load($arguments['url']);
+
+ //get elements from "<channel>"
+ $channel=$xmlDoc->getElementsByTagName('channel')->item(0);
+ //recup du title
+ $channel_title = $channel->getElementsByTagName('title')
+ ->item(0)->childNodes->item(0)->nodeValue;
+ //recup du link
+ $channel_link = $channel->getElementsByTagName('link')
+ ->item(0)->childNodes->item(0)->nodeValue;
+ //recup de la description
+ $channel_desc = $channel->getElementsByTagName('description')
+ ->item(0)->childNodes->item(0)->nodeValue;
+
+/* ELEMENT CHANNEL Utile ou pas ?
+ //output elements from "<channel>"
+ echo("<p><a href='" . $channel_link
+ . "'>" . $channel_title . "</a>");
+ echo("<br>");
+ echo($channel_desc . "</p>");
+*/
+
+
+ //get and output "<item>" elements
+ $x=$xmlDoc->getElementsByTagName('item');
+ for ($i=0; $i<=1; $i++) {
+ $item_title=$x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
+ $item_link=$x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
+ $item_desc=$x->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
+ echo ("<div id=\"rss\" data-href='" . $arguments['url'] . "'><h4><a href=". $item_link .">". $item_title ."</a></h4>". $item_desc ."</div>");
+ }
+
+
+
}
+ /**
+ * Définition des actions disponibles sur la classe.
+ *
+ * @return void
+ */
+ function init_class_actions() {
+
+ // On récupère les actions génériques définies dans la méthode
+ // d'initialisation de la classe parente
+ parent::init_class_actions();
+
+ // ACTION - 004 - composer
+ //
+ $this->class_actions[4] = array(
+ "identifier" => "widget-rss",
+ "view" => "view_widget_rss",
+ "permission_suffix" => "widget_rss",
+ );
+
+ }
+
/**
* WIDGET DASHBOARD - Mes infractions
* @return void