]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
fix identation
authorcapo <capo@riseup.net>
Sun, 12 Jan 2014 17:55:35 +0000 (18:55 +0100)
committercapo <capo@riseup.net>
Sun, 12 Jan 2014 17:55:35 +0000 (18:55 +0100)
actions/simplepie/save_group_feed.php [new file with mode: 0644]
languages/en.php
languages/en.php~ [new file with mode: 0644]
languages/es.php
languages/es.php~ [new file with mode: 0644]
views/default/forms/simplepie/save_group_feed.php [new file with mode: 0644]
views/default/simplepie/group_module.php
views/default/simplepie/group_module.php~ [new file with mode: 0644]

diff --git a/actions/simplepie/save_group_feed.php b/actions/simplepie/save_group_feed.php
new file mode 100644 (file)
index 0000000..556372f
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+
+$group = get_entity((int)get_input('group_guid'));
+$feed_url = get_input('feed_url');
+
+if (!simplepie_is_url($feed_url)) {
+       register_error (elgg_echo("simplepie:invalid_url"));
+       forward(REFERER);
+}
+
+if (!$group || !$group->canEdit() || !elgg_instanceof($group, 'group')) {
+       forward(REFERER);
+}
+$group->feed_url = $feed_url;
index 082b4c485a1fbf1b1a99b5ef6c16ec7759ac88e0..a22316863d3b967c5fca5d52e0351db362980ce2 100644 (file)
@@ -1,5 +1,4 @@
 <?php\r
-\r
 $english = array(\r
        'simplepie:widget' => 'RSS Feed',\r
        'simplepie:description' => 'Add an external blog to your profile',\r
@@ -11,8 +10,5 @@ $english = array(
        'simplepie:post_date' => 'Include post date',\r
        'simplepie:postedon' => 'Posted on',\r
        'simplepie:invalid_url' => 'Invalid url, copy it from the navigation bar please',\r
-\r
 );\r
-\r
 add_translation("en", $english);\r
-\r
diff --git a/languages/en.php~ b/languages/en.php~
new file mode 100644 (file)
index 0000000..a223168
--- /dev/null
@@ -0,0 +1,14 @@
+<?php\r
+$english = array(\r
+       'simplepie:widget' => 'RSS Feed',\r
+       'simplepie:description' => 'Add an external blog to your profile',\r
+       'simplepie:notset' => 'Feed url is not set',\r
+       'simplepie:notfound' => 'Cannot find feed. Check the feed url.',\r
+       'simplepie:feed_url' => 'Feed URL',\r
+       'simplepie:num_items' => 'Number of items',\r
+       'simplepie:excerpt' => 'Include excerpt',\r
+       'simplepie:post_date' => 'Include post date',\r
+       'simplepie:postedon' => 'Posted on',\r
+       'simplepie:invalid_url' => 'Invalid url, copy it from the navigation bar please',\r
+);\r
+add_translation("en", $english);\r
index 85f24e4a50376c279e20bdd0108537a3913af91e..d9bd5d2d6faac7f07836b920c24b5b2bb8658bee 100644 (file)
@@ -1,5 +1,4 @@
 <?php\r
-\r
 $spanish = array(\r
         'simplepie:widget' => 'Enlace RSS',\r
         'simplepie:description' => 'Agregar un blog externo',\r
@@ -12,11 +11,4 @@ $spanish = array(
         'simplepie:postedon' => 'Posted on',\r
         'simplepie:invalid_url' => 'Url invalida, copiela desde la barra del navegador por favor',\r
 );\r
-\r
 add_translation("en", $english);\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/languages/es.php~ b/languages/es.php~
new file mode 100644 (file)
index 0000000..85f24e4
--- /dev/null
@@ -0,0 +1,22 @@
+<?php\r
+\r
+$spanish = array(\r
+        'simplepie:widget' => 'Enlace RSS',\r
+        'simplepie:description' => 'Agregar un blog externo',\r
+        'simplepie:notset' => 'Enlace RSS no configurado',\r
+        'simplepie:notfound' => 'no se encontro el feed. Revisa el feed url.',\r
+        'simplepie:feed_url' => 'Feed URL',\r
+        'simplepie:num_items' => 'Numero de items',\r
+        'simplepie:excerpt' => 'Incluir contenido',\r
+        'simplepie:post_date' => 'Incluir fecha del post',\r
+        'simplepie:postedon' => 'Posted on',\r
+        'simplepie:invalid_url' => 'Url invalida, copiela desde la barra del navegador por favor',\r
+);\r
+\r
+add_translation("en", $english);\r
+\r
+\r
+\r
+\r
+\r
+\r
diff --git a/views/default/forms/simplepie/save_group_feed.php b/views/default/forms/simplepie/save_group_feed.php
new file mode 100644 (file)
index 0000000..a3f7715
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Simplepie feed reader widget settings
+ */
+
+// set default value
+
+$url_label = elgg_echo("simplepie:feed_url");
+$url_textbox = elgg_view('input/text', array(
+       'name' => 'feed_url',
+       'id'=> 'feed_url',
+       'value' => $vars['entity']->feed_url,
+));
+
+$group_field = elgg_view('input/hidden', array(
+       'name' => 'group_guid',
+       'value' => $vars['entity']->guid,
+));
+
+$save_button = elgg_view('input/submit', array(
+       'value' => elgg_echo('save'),
+));
+
+
+
+
+echo <<<HTML
+<div>
+       <label for="feed_url">$url_label</label>
+        $url_textbox
+        $group_field
+</div>
+<div>
+        $save_button
+</div>
+HTML;
+
+
+
index 17b2dba0cbb9550ec83ace2f199283e35d6dc952..d9860d65f796b5d6db5bb5cdcaacd2d516979a31 100644 (file)
@@ -29,68 +29,62 @@ if ($feed_url) {
        $excerpt   = true;
        $post_date = true;
        $num_items = 7;
-
        $cache_location = elgg_get_data_path() . '/simplepie_cache/';
        if (!file_exists($cache_location)) {
                mkdir($cache_location, 0777);
        }
-
        $feed = new SimplePie($feed_url, $cache_location);
 
-// doubles timeout if going through a proxy
-//$feed->set_timeout(20);
+       // doubles timeout if going through a proxy
+       //$feed->set_timeout(20);
+       // only display errors to profile owner
 
-
-// only display errors to profile owner
        $num_posts_in_feed = $feed->get_item_quantity();
-if (!$num_posts_in_feed) {
-       if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) {
-               $content .= '<p>' . elgg_echo('simplepie:notfound') . '</p>';
+       if (!$num_posts_in_feed) {
+               if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) {
+                       $content .= '<p>' . elgg_echo('simplepie:notfound') . '</p>';
+               }
        }
-}
 
-// don't display more feed items than user requested
+       // don't display more feed items than user requested
        if ($num_items > $num_posts_in_feed) {
        $num_items = $num_posts_in_feed;
 }
 
        $feed_link = elgg_view('output/url', array(
-       'href' => $feed->get_permalink(),
-       'text' => $feed->get_title(),
-));
+               'href' => $feed->get_permalink(),
+               'text' => $feed->get_title(),
+       ));
 
-// need to center
+       // need to center
        $content .= "<h2 class=\"simplepie-heading\">$feed_link</h2>";
        $content .= '<ul class="simplepie-list">';
        foreach ($feed->get_items(0, $num_items) as $item) {
-       $item_link = elgg_view('output/url', array(
-       'href' => $item->get_permalink(),
-       'text' => $item->get_title(),
-));
-
-if ($excerpt) {
-       $text = strip_tags($item->get_description(true), $allowed_tags);
-       $excerpt = elgg_get_excerpt($text);
-}
-
-if ($post_date) {
-       $item_date_label = elgg_echo('simplepie:postedon');
-       $item_date = $item->get_date('j F Y | g:i a');
-       $post_date = "$item_date_label $item_date";
-}
-
-       $content .= <<<HTML
-
+               $item_link = elgg_view('output/url', array(
+                       'href' => $item->get_permalink(),
+                       'text' => $item->get_title(),
+               ));
+
+               if ($excerpt) {
+                       $text = strip_tags($item->get_description(true), $allowed_tags);
+                       $excerpt = elgg_get_excerpt($text);
+               }
+
+               if ($post_date) {
+                       $item_date_label = elgg_echo('simplepie:postedon');
+                       $item_date = $item->get_date('j F Y | g:i a');
+                       $post_date = "$item_date_label $item_date";
+               }       
+
+               $content .= <<<HTML
 <li class="mbm elgg-item">
        <h4 class="mbs">$item_link</h4>
        <p class="elgg-subtext">$post_date</p>
        <div class="elgg-content">$excerpt</div>
 </li>
 HTML;
-
-        }
+       }
         $content .= "</ul>";
-
 }
 
 elgg_pop_context();
diff --git a/views/default/simplepie/group_module.php~ b/views/default/simplepie/group_module.php~
new file mode 100644 (file)
index 0000000..bfba96f
--- /dev/null
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Group simplepie:rss module
+ */
+elgg_load_library('simplepie');
+
+$group = elgg_get_page_owner_entity();
+
+if ($group->rss_enable != "yes") {
+       return true;
+}
+
+elgg_push_context('widgets');
+
+$allowed_tags = '<a><p><br><b><i><em><del><pre><strong><ul><ol><li><img>';
+$feed_url = $group->feed_url;
+$content = '';
+
+if ($group->canEdit()) {
+       $content .= elgg_view_form("simplepie/save_group_feed", array(
+               'id' => 'simplepie-form',
+               'class' => $feed_url ? 'hidden' : '',
+       ), $vars);
+}
+
+if ($feed_url) {
+
+// get widget settings
+       $excerpt   = true;
+       $post_date = true;
+       $num_items = 7;
+       $cache_location = elgg_get_data_path() . '/simplepie_cache/';
+       if (!file_exists($cache_location)) {
+               mkdir($cache_location, 0777);
+       }
+       $feed = new SimplePie($feed_url, $cache_location);
+
+       // doubles timeout if going through a proxy
+       //$feed->set_timeout(20);
+       // only display errors to profile owner
+
+       $num_posts_in_feed = $feed->get_item_quantity();
+       if (!$num_posts_in_feed) {
+               if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) {
+                       $content .= '<p>' . elgg_echo('simplepie:notfound') . '</p>';
+               }
+       }
+
+       // don't display more feed items than user requested
+       if ($num_items > $num_posts_in_feed) {
+       $num_items = $num_posts_in_feed;
+}
+
+       $feed_link = elgg_view('output/url', array(
+       'href' => $feed->get_permalink(),
+       'text' => $feed->get_title(),
+));
+
+// need to center
+       $content .= "<h2 class=\"simplepie-heading\">$feed_link</h2>";
+       $content .= '<ul class="simplepie-list">';
+       foreach ($feed->get_items(0, $num_items) as $item) {
+       $item_link = elgg_view('output/url', array(
+       'href' => $item->get_permalink(),
+       'text' => $item->get_title(),
+));
+
+if ($excerpt) {
+       $text = strip_tags($item->get_description(true), $allowed_tags);
+       $excerpt = elgg_get_excerpt($text);
+}
+
+if ($post_date) {
+       $item_date_label = elgg_echo('simplepie:postedon');
+       $item_date = $item->get_date('j F Y | g:i a');
+       $post_date = "$item_date_label $item_date";
+}
+
+       $content .= <<<HTML
+
+<li class="mbm elgg-item">
+       <h4 class="mbs">$item_link</h4>
+       <p class="elgg-subtext">$post_date</p>
+       <div class="elgg-content">$excerpt</div>
+</li>
+HTML;
+       }
+        $content .= "</ul>";
+}
+
+elgg_pop_context();
+
+if (!$content) {
+       $content = '<p>' . elgg_echo('simplepie:none') . '</p>';
+}
+
+$edit = elgg_view('output/url', array(
+       'href' => '#simplepie-form',
+       'text' => elgg_echo('edit'),
+       'rel' => 'toggle'
+));
+
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('RSS Group'),
+       'content' => $content,
+       'all_link' => $edit,
+));
+