Showing 5 changed files with 225 additions and 17 deletions
+41
includes/lexpressfr.php
... ...
@@ -0,0 +1,41 @@
1
+<?php
2
+function DisplayNewsLExpressFr(){
3
+
4
+  $status = new StatusMessages();
5
+  ?>
6
+  <script>
7
+  function onArticle(index) {
8
+    var string_index = "article-"+index;
9
+    var url = location.href;
10
+    document.getElementById("article-current").innerHTML =
11
+      document.getElementById(string_index).innerHTML;
12
+    location.href = "#article-top";
13
+  }
14
+  </script>
15
+  <div class="row">
16
+    <div class="col-lg-12">
17
+      <div class="panel panel-primary">
18
+        <div class="panel-heading"><i class="fa fa-newspaper-o fa-fw"></i> L'Express.fr   </div>
19
+          <div class="panel-body">
20
+            <p><?php $status->showMessages(); ?></p>
21
+            <div class="row">
22
+            <div class="col-md-6">
23
+            <div class="panel panel-default">
24
+            <div class="panel-body">
25
+            <?php
26
+              $articles = file_get_contents(SRC_NEWS_RSS_LEXPRESSFR);
27
+              echo $articles;
28
+            ?>
29
+            </div><!-- ./panel-body -->
30
+            </div><!-- ./panel panel-default -->
31
+            </div><!-- ./col-md-6 -->
32
+            </div> <!-- /row -->
33
+          </div><!-- /.panel-body -->
34
+        <div class="panel-footer"><a href="<?php echo NEWS_RSS_LEXPRESSFR; ?>"><i class="fa fa-rss"></i> <?php echo NEWS_RSS_LEXPRESSFR; ?></a></div>
35
+      </div><!-- /.panel-default -->
36
+    </div><!-- /.col-lg-12 -->
37
+  </div><!-- /.row -->
38
+  <?php
39
+}
40
+
41
+?>
+6 -17
index.php
... ...
@@ -1,22 +1,6 @@
1 1
 <?php
2 2
 ob_start("ob_gzhandler");
3
-define('NEWS_RSS_LEMONDE', 'sources/lemonde.html');
4
-define('NEWS_RSS_LIBERATION', 'sources/liberation.html');
5
-define('NEWS_RSS_SLATEFR', 'sources/slatefr.html');
6
-define('NEWS_RSS_VICEFR', 'sources/vicefr.html');
7
-define('NEWS_RSS_LESINROCKS', 'sources/lesinrocks.html');
8
-define('NEWS_RSS_NUMERAMA', 'sources/numerama.html');
9
-define('NEWS_RSS_HUFFINGTONPOSTFR', 'sources/huffingtonpostfr.html');
10
-define('NEWS_RSS_LEPOINTFR', 'sources/lepointfr.html');
11
-define('URI_NEWS_RSS_LEMONDE', 'http://www.lemonde.fr/rss/une.xml');
12
-define('URI_NEWS_RSS_LIBERATION', 'http://rss.liberation.fr/rss/latest/');
13
-define('URI_NEWS_RSS_SLATEFR', 'https://www.slate.fr/rss.xml');
14
-define('URI_NEWS_RSS_VICEFR', 'http://www.vice.com/fr/rss');
15
-define('URI_NEWS_RSS_LESINROCKS', 'http://www.lesinrocks.com/feeds/feed-a-la-une/');
16
-define('URI_NEWS_RSS_NUMERAMA', 'http://www.numerama.com/rss/news.rss');
17
-define('URI_NEWS_RSS_HUFFINGTONPOSTFR', 'http://www.huffingtonpost.fr/feeds/index.xml');
18
-define('URI_NEWS_RSS_LEPOINTFR', 'http://www.lepoint.fr/24h-infos/rss.xml');
19
-
3
+include_once( 'sources/rss.php' );
20 4
 include_once( 'includes/functions.php' );
21 5
 include_once( 'includes/status_messages.php' );
22 6
 include_once( 'includes/themes.php' );
... ...
@@ -28,6 +12,7 @@ include_once( 'includes/lesinrocks.php' );
28 12
 include_once( 'includes/numerama.php' );
29 13
 include_once( 'includes/huffingtonpostfr.php' );
30 14
 include_once( 'includes/lepointfr.php' );
15
+include_once( 'includes/lexpressfr.php' );
31 16
 include_once( 'includes/default.php' );
32 17
 
33 18
 $output = $return = 0;
... ...
@@ -104,6 +89,7 @@ $theme_url = 'dist/css/' . $theme;
104 89
               <li><a href="index.php?page=numerama"><i class="fa fa-newspaper-o fa-fw"></i> Numerama</a></li>
105 90
               <li><a href="index.php?page=huffingtonpostfr"><i class="fa fa-newspaper-o fa-fw"></i> HuffingtonPost.fr</a></li>
106 91
               <li><a href="index.php?page=lepointfr"><i class="fa fa-newspaper-o fa-fw"></i> LePoint.fr</a></li>
92
+              <li><a href="index.php?page=lexpressfr"><i class="fa fa-newspaper-o fa-fw"></i> L'Express.fr</a></li>
107 93
               <li><a href="index.php?page=vicefr"><i class="fa fa-newspaper-o fa-fw"></i> Vice.fr</a></li>
108 94
               <li><a href="index.php?page=lesinrocks"><i class="fa fa-newspaper-o fa-fw"></i> LesInrocks.fr</a></li>
109 95
             </ul>
... ...
@@ -149,6 +135,9 @@ $theme_url = 'dist/css/' . $theme;
149 135
           case "lepointfr":
150 136
             DisplayNewsLePointFr();
151 137
             break;
138
+          case "lexpressfr":
139
+            DisplayNewsLExpressFr();
140
+            break;
152 141
           default:
153 142
             DisplayNewsDefault();
154 143
         }
+1
sources/gennews.jessie.sh
... ...
@@ -8,3 +8,4 @@ php news-lesinrocks.fr.php > lesinrocks.html 2> /dev/null
8 8
 php news-numerama.fr.php > numerama.html 2> /dev/null
9 9
 php news-huffingtonpost.fr.php > huffingtonpostfr.html 2> /dev/null
10 10
 php news-lepoint.fr.php > lepointfr.html 2> /dev/null
11
+php news-lexpress.fr.php > lexpressfr.html 2> /dev/null
+1
sources/gennews.wheezy.sh
... ...
@@ -8,3 +8,4 @@ php news-lesinrocks.fr.php > lesinrocks.html 2> /dev/null
8 8
 php news-numerama.fr.php > numerama.html 2> /dev/null
9 9
 php news-huffingtonpost.fr.php > huffingtonpostfr.html 2> /dev/null
10 10
 php news-lepoint.fr.php > lepointfr.html 2> /dev/null
11
+php news-lexpress.fr.php > lexpressfr.html 2> /dev/null
+176
sources/news-lexpress.fr.php
... ...
@@ -0,0 +1,176 @@
1
+<?php
2
+include_once( 'news-constants.php' );
3
+
4
+$rss_content = http_get_contents(NEWS_RSS_LEXPRESSFR);
5
+$xml = simplexml_load_string($rss_content);
6
+if ($xml === false) {
7
+  echo 'Failed to read RSS';
8
+} else {
9
+  $channel = array();
10
+  $channel['title'] = $xml->channel->title;
11
+  $channel['link'] = $xml->channel->link;
12
+  $channel['description'] = $xml->channel->description;
13
+  $channel['pubDate'] = $xml->channel->pubDate;
14
+  $channel['timestamp'] = strtotime($xml->channel->pubDate);
15
+  echo '<h4>' . $channel['title'] . '</h4>';
16
+  $cpt=0;
17
+  foreach ($xml->channel->item as $item) {
18
+    $article = array();
19
+    $article['title'] = $item->title;
20
+    $article['link'] = $item->link;
21
+    $orgStrings = array('#xtor=RSS-221');
22
+    $newStrings = array('');
23
+    $article['link']  = str_replace($orgStrings, $newStrings, $article['link']);
24
+    $article['pubDate'] = $item->pubDate;
25
+    $article['timestamp'] = strtotime($item->pubDate);
26
+    $article['description'] = $item->description;
27
+    $article['image'] = $item->enclosure['url'];
28
+    //$articles[$article['timestamp']] = $article;  
29
+    $articles[$cpt] = $article;  
30
+    echo '<div onclick="onArticle('.$cpt.')" style="display:inline;">';
31
+    echo '<img src="'.$article['image'].'" style="display:inline;" width="100%"><br>';
32
+    echo '<div id="nav-up" style="display:inline;"><a href="#top"><i class="fa fa-home fa-2x"></i></a></div>&nbsp;&nbsp;';
33
+    echo '<div id="nav-up" style="display:inline;"><a href="#article-top"><i class="fa fa-chevron-down fa-2x"></i></a></div>&nbsp;';
34
+    echo $article['title'].'&nbsp;&nbsp;';
35
+    echo '<div id="nav-source" style="display:inline;"><a href="'.$article['link'].'" target="new-'.$cpt.'"><i class="fa fa-link fa-2x"></i></a><br></div></div>';
36
+    $cpt++;
37
+    if( $cpt > $NEWS_RSS_MAX_ITEMS ) {
38
+      break;
39
+    }
40
+  }
41
+}
42
+echo '</div><!-- ./panel-body -->';
43
+echo '</div><!-- ./panel panel-default -->';
44
+echo '</div><!-- ./col-md-6 -->';
45
+echo '<div class="col-md-6">';
46
+echo '<div class="panel panel-default">';
47
+echo '<div class="panel-body">';
48
+echo '<a name="article-top"></a><div id="article-current"></div>';
49
+$cpt=0;
50
+foreach ($articles as $article ) {
51
+  $cpt_prev=$cpt-1;
52
+  $cpt_next=$cpt+1;
53
+  echo '<!-- ==================== article '.$cpt.'============== -->';
54
+  echo "<div class=\"article\" id=\"article-$cpt\" style=\"display: none;\">\n";
55
+  echo "<hr>";
56
+  echo "<a name=\"article-$cpt\">";
57
+  $article_content = http_get_contents($article['link']);
58
+
59
+  $SEARCH_SUB1='<h1 class="art-titre list-view">';
60
+  $pos_start = strpos($article_content, $SEARCH_SUB1);
61
+  $pos_stop = false;
62
+  if(!$pos_start) {
63
+    $SEARCH_SUB1='<h2 class="art-chapeau">';
64
+    $pos_start = strpos($article_content, $SEARCH_SUB1);
65
+  }
66
+  if($pos_start) {
67
+    $SEARCH_SUB1='<h3 class="header-meme-sujet">';
68
+    $pos_stop = strpos($article_content, $SEARCH_SUB1);
69
+    if(!$pos_stop) {
70
+      $SEARCH_SUB1='<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>';
71
+      $pos_stop = strpos($article_content, $SEARCH_SUB1);
72
+      if(!$pos_stop) {
73
+        $SEARCH_SUB1='</article>';
74
+        $pos_stop = strpos($article_content, $SEARCH_SUB1);
75
+      }
76
+    }
77
+  }
78
+
79
+  if( $pos_start && $pos_stop ) {
80
+    $article_only = substr($article_content, $pos_start, $pos_stop - $pos_start);
81
+  } else {
82
+    $article_only="";
83
+  }
84
+  
85
+  //echo "pos_start : $pos_start<br>";
86
+  //echo "pos_stop : $pos_stop<br>";
87
+
88
+  $orgStrings = array( ' href="/',
89
+    ' src="/sites/',
90
+    '<img src=',
91
+    ' data-src="/');
92
+  $newStrings = array( ' href="https://www.lepoint.fr/',
93
+    ' src="https://www.lepoint.fr/sites/',
94
+    '<img width="100%" src=',
95
+    ' data-src="https://www.lepoint.fr/' );
96
+  $article_only  = str_replace($orgStrings, $newStrings, $article_only);
97
+  
98
+  $orgStrings = array( '<div class="row">',
99
+    '<div class="col-md-2">',
100
+    '<div class="col-md-8">',
101
+    '<div class="container width_wrap">',
102
+    '<div class="col-left">',
103
+    '<h3> </h3>',
104
+    '<h1>',
105
+    '</h1>',
106
+    '<p style="text-align:center">',
107
+    '<div class="image-wrap panoramique bg-undefined">',
108
+    '<div class="placement-left">' );
109
+  $newStrings = array('<div>',
110
+    '<div>',
111
+    '<div>',
112
+    '<div>',
113
+    '<div>',
114
+    '',
115
+    '<h4>',
116
+    '</h4>',
117
+    '<p>',
118
+    '<div>',
119
+    '<div>');
120
+  $article_only = str_replace($orgStrings, $newStrings, $article_only);
121
+  
122
+  $temp = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $article_only);
123
+  $article_only = $temp;
124
+  $temp = preg_replace('/\s\s+/', ' ', $article_only);
125
+  $article_only = $temp;
126
+  $re = '/<a class="cboxElement" (.+?)><img (.+?)><\/a>/';
127
+  $temp = preg_replace($re, '<img \\2>', $article_only);
128
+  $article_only = $temp;
129
+  $re = '/<noscript>(.+?)<\/noscript>/ms';
130
+  $temp = preg_replace($re, '', $article_only);
131
+  $article_only = $temp;
132
+  
133
+  $orgStrings = array( 'http://www.lepoint.fr/' );
134
+  $newStrings = array( 'https://www.lepoint.fr/' );
135
+  $article_only  = str_replace($orgStrings, $newStrings, $article_only);
136
+
137
+  $re = '/<img class="w100" alt="(.+?)" data-lazyload="loading" onclick="(.+?)" src="(.+?)" title="(.+?)" data-src="(.+?)" \/>/';
138
+  $temp = preg_replace($re, '<img width="100%" src="\\5">', $article_only);
139
+  $article_only = $temp;
140
+
141
+  $re = '/<img class="" src data-lazyload="loading" data-src="(.+?)" data-alt="(.+?)" width="(.+?)" height="(.+?)" alt title="(.+?)"\/>/ms';
142
+  $temp = preg_replace($re, '<img width="100%" src="\\1">', $article_only);
143
+  $article_only = $temp;
144
+
145
+  $re = '/<img src data-lazyload="loading" data-src="(.+?)" data-alt="(.+?)" alt="(.+?)" width="(.+?)" height="(.+?)" \/>/';
146
+  $temp = preg_replace($re, '<img width="100%" src="\\1">', $article_only);
147
+  $article_only = $temp;
148
+
149
+  $re = '/<img class="w100" alt="" data-lazyload="loading" onclick="(.+?)" src="(.+?)" title="" data-src="(.+?)" \/>/';
150
+  $temp = preg_replace($re, '<img width="100%" src="\\3">', $article_only);
151
+  $article_only = $temp;
152
+
153
+  $re = '/<a href="(.+?)" class="button-type pat little-button-mob" onclick="(.+?)">Abonnez-vous<\/a>/';
154
+  $temp = preg_replace($re, '', $article_only);
155
+  $article_only = $temp;
156
+  
157
+  $re = '/<a onclick="(.+?)" data-shadowbox="#authform" href="(.+?)" id="connect_viafreemium" class="w100 block txtcenter br-4-all bg-grey-medium-blue pas font-black bold br-4-all upper">Identifiez-vous<\/a>/';
158
+  $temp = preg_replace($re, '', $article_only);
159
+  $article_only = $temp;
160
+  
161
+  echo '<div id="nav-up" style="display:inline;"><a href="#top"><i class="fa fa-home fa-2x"></i></a></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
162
+  echo '<div id="nav-source" style="display:inline;"><a href="'.$article['link'].'" target="new-'.$cpt.'"><i class="fa fa-link fa-2x"></i></a></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
163
+  echo '<div id="nav-prev" onclick="onArticle('.$cpt_prev.')" style="display:inline;"><i class="fa fa-chevron-left fa-2x"></i></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
164
+  echo '<div id="nav-next" onclick="onArticle('.$cpt_next.')" style="display:inline;"><i class="fa fa-chevron-right fa-2x"></i></div>';
165
+  echo '<div class="extract-content" id="'.$cpt.'">'.$article_only.'</div>';
166
+  echo '<div id="nav-up" style="display:inline;"><a href="#top"><i class="fa fa-home fa-2x"></i></a></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
167
+  echo '<div id="nav-up" style="display:inline;"><a href="#article-top"><i class="fa fa-chevron-up fa-2x"></i></a></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
168
+  echo '<div id="nav-source" style="display:inline;"><a href="'.$article['link'].'" target="new-'.$cpt.'"><i class="fa fa-link fa-2x"></i></a></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
169
+  echo '<div id="nav-prev" onclick="onArticle('.$cpt_prev.')" style="display:inline;"><i class="fa fa-chevron-left fa-2x"></i></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
170
+  echo '<div id="nav-next" onclick="onArticle('.$cpt_next.')" style="display:inline;"><i class="fa fa-chevron-right fa-2x"></i></div></div>';
171
+  $cpt++;
172
+  if( $cpt > $NEWS_RSS_MAX_ITEMS ) {
173
+      break;
174
+  }
175
+}
176
+?>