[openads-Commits] r7567 - in branches/4.6.0_widget_rss: app app/js obj

0 views
Skip to first unread message

apas...@adullact.net

unread,
Oct 13, 2017, 11:46:20 AM10/13/17
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

Reply all
Reply to author
Forward
0 new messages