[Winmerge-svn] SF.net SVN: winmerge: [4962] trunk/Web
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ge...@us...> - 2008-01-27 00:31:33
|
Revision: 4962 http://winmerge.svn.sourceforge.net/winmerge/?rev=4962&view=rev Author: gerundt Date: 2008-01-26 16:31:15 -0800 (Sat, 26 Jan 2008) Log Message: ----------- PATCH: [ 1880489 ] Web: Translations status as RSS feed Modified Paths: -------------- trunk/Web/page.inc trunk/Web/translations/index.php trunk/Web/translations/status_branch.php trunk/Web/translations/status_trunk.php trunk/Web/translations/translations.inc Added Paths: ----------- trunk/Web/images/rss.png trunk/Web/translations/status_branch_rss.php trunk/Web/translations/status_trunk_rss.php Added: trunk/Web/images/rss.png =================================================================== (Binary files differ) Property changes on: trunk/Web/images/rss.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/Web/page.inc =================================================================== --- trunk/Web/page.inc 2008-01-26 11:23:40 UTC (rev 4961) +++ trunk/Web/page.inc 2008-01-27 00:31:15 UTC (rev 4962) @@ -26,7 +26,7 @@ */ class Page { var $_title, $_charset; - var $_description, $_keywords; + var $_description, $_keywords, $_rssfeeds; var $_tab; var $_stablerelease; @@ -38,6 +38,7 @@ $this->_charset = 'ISO-8859-1'; $this->_description = 'WinMerge HomePage: Visual text file comparison and merging (Open Source software).'; $this->_keywords = 'WinMerge, free, download, Beyond Compare, Scooter Software, DLSuperC, DLSubCF, Component Software Diff, Viff, TreeDiff, FileSync, WMatch, Quick Spot, NTDMatch, windiff, WDIFF, FolderMatch, Merge 99, Merge99, PMdiff, PMDiff, PMDIFF, pmdiff, visual, visually, file, folder, directory, synchronization, comparison, graphical, document, text, compare, diff, difference, revision, Araxis, compare folders, compare files, synchronize folders, merge files, merge folders, Y2K, Year 2000, Year 2K, side-by-side, VFC, GFC, gdiff, CSDiff, OS2GFC, vdiff, ediff, fc'; + $this->_rssfeeds = array(); $this->_tab = WINMERGE_2_6; /* _Stable Release */ $this->_stablerelease = new Release; @@ -75,6 +76,13 @@ } /** + * add RSS feed to the page head + */ + function addRssFeed($url, $title = 'RSS') { + $this->_rssfeeds[$url] = $title; + } + + /** * set the tab from the page */ function setTab($tab) { @@ -102,6 +110,9 @@ $temp .= " <style type=\"text/css\" media=\"screen\">@import \"/css/screen.css\";</style>\n"; $temp .= " <link rel=\"stylesheet\" type=\"text/css\" media=\"print\" href=\"/css/print.css\">\n"; $temp .= " <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n"; + foreach ($this->_rssfeeds as $rssurl => $rsstitle) { //for all RSS feeds... + $temp .= " <link rel=\"alternate\" type=\"application/rss+xml\" title=\"" . $rsstitle . "\" href=\"" . $rssurl . "\">\n"; + } $temp .= "</head>\n\n"; $temp .= "<body>\n"; $temp .= "<div id=\"head\">\n"; @@ -148,6 +159,17 @@ } /** + * print a RSS feed link + */ + function printRssFeedLink($url, $text = '') { + $temp = "<a href=\"" . $url . "\"><img src=\"/images/rss.png\" alt=\"RSS\" border=\"0\"></a>"; + if ($text != '') { //if WITH text... + $temp .= " <a href=\"" . $url . "\"> " . $text . "</a>"; + } + print($temp); + } + + /** * get the tabs menu from the page */ function getTabs() { Modified: trunk/Web/translations/index.php =================================================================== --- trunk/Web/translations/index.php 2008-01-26 11:23:40 UTC (rev 4961) +++ trunk/Web/translations/index.php 2008-01-27 00:31:15 UTC (rev 4962) @@ -2,6 +2,8 @@ include('../page.inc'); $page = new Page; + //$page->addRssFeed('status_branch_rss.php', 'Translations Status (Branch)'); + $page->addRssFeed('status_trunk_rss.php', 'Translations Status (Trunk)'); $page->printHead('WinMerge: Translations', TAB_TRANSLATIONS); ?> <h2>Translations</h2> @@ -26,8 +28,8 @@ <p>The following two pages inform you about the translations status of the stable and developer version of WinMerge:</p> <ul> <li><a href="http://winmerge.org/Wiki/Translations">Stable Version (Branch)</a></li> - <!--<li><a href="status_branch.php">Stable Version (Branch)</a></li>--> - <li><a href="status_trunk.php">Developer Version (Trunk)</a></li> + <!--<li><a href="status_branch.php">Stable Version (Branch)</a> <?php $page->printRssFeedLink('status_branch_rss.php'); ?></li>--> + <li><a href="status_trunk.php">Developer Version (Trunk)</a> <?php $page->printRssFeedLink('status_trunk_rss.php'); ?></li> </ul> <?php $page->printFoot(); Modified: trunk/Web/translations/status_branch.php =================================================================== --- trunk/Web/translations/status_branch.php 2008-01-26 11:23:40 UTC (rev 4961) +++ trunk/Web/translations/status_branch.php 2008-01-27 00:31:15 UTC (rev 4962) @@ -3,12 +3,15 @@ include('translations.inc'); $page = new Page; + $page->addRssFeed('status_branch_rss.php'); $page->printHead('WinMerge: Translations Status (Branch)', TAB_TRANSLATIONS); $status = $page->convertXml2Array('status_branch.xml'); - print("<h2>Translations Status (Branch)</h2>\n"); + print("<h2>Translations Status (Branch) "); + $page->printRssFeedLink('status_branch_rss.php'); + print("</h2>\n"); if (!empty($status)) { - printTranslationsStatus($status, 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/branch/R2_6/Src/Languages/'); + printTranslationsStatus($status, 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/branch/R2_8/Src/Languages/'); printTranslationsStatusGraphLegend(); print("<h3>Translators</h3>\n"); printTranslationsTranslators($status); Added: trunk/Web/translations/status_branch_rss.php =================================================================== --- trunk/Web/translations/status_branch_rss.php (rev 0) +++ trunk/Web/translations/status_branch_rss.php 2008-01-27 00:31:15 UTC (rev 4962) @@ -0,0 +1,10 @@ +<?php + header('Content-type: application/rss+xml'); + + include('../page.inc'); + include('translations.inc'); + + $page = new Page; + $status = $page->convertXml2Array('status_branch.xml'); + printTranslationsStatusRSS($status, 'Branch', 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/branch/R2_8/Src/Languages/'); +?> \ No newline at end of file Modified: trunk/Web/translations/status_trunk.php =================================================================== --- trunk/Web/translations/status_trunk.php 2008-01-26 11:23:40 UTC (rev 4961) +++ trunk/Web/translations/status_trunk.php 2008-01-27 00:31:15 UTC (rev 4962) @@ -3,10 +3,13 @@ include('translations.inc'); $page = new Page; + $page->addRssFeed('status_trunk_rss.php'); $page->printHead('WinMerge: Translations Status (Trunk)', TAB_TRANSLATIONS); $status = $page->convertXml2Array('status_trunk.xml'); - print("<h2>Translations Status (Trunk)</h2>\n"); + print("<h2>Translations Status (Trunk) "); + $page->printRssFeedLink('status_trunk_rss.php'); + print("</h2>\n"); if (!empty($status)) { printTranslationsStatus($status, 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Src/Languages/'); printTranslationsStatusGraphLegend(); Added: trunk/Web/translations/status_trunk_rss.php =================================================================== --- trunk/Web/translations/status_trunk_rss.php (rev 0) +++ trunk/Web/translations/status_trunk_rss.php 2008-01-27 00:31:15 UTC (rev 4962) @@ -0,0 +1,10 @@ +<?php + header('Content-type: application/rss+xml'); + + include('../page.inc'); + include('translations.inc'); + + $page = new Page; + $status = $page->convertXml2Array('status_trunk.xml'); + printTranslationsStatusRSS($status, 'Trunk', 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Src/Languages/'); +?> \ No newline at end of file Modified: trunk/Web/translations/translations.inc =================================================================== --- trunk/Web/translations/translations.inc 2008-01-26 11:23:40 UTC (rev 4961) +++ trunk/Web/translations/translations.inc 2008-01-27 00:31:15 UTC (rev 4962) @@ -127,6 +127,53 @@ /** * ... */ + function printTranslationsStatusRSS($xmlarray, $version, $svnurl) { + global $page; + + $update = $xmlarray['TRANSLATIONS'][0]['UPDATE'][0]['VALUE']; + $temp = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; + $temp .= "<rss version=\"2.0\">\n"; + $temp .= " <channel>\n"; + $temp .= " <title>WinMerge Translations Status (" . $version . ")</title>\n"; + $temp .= " <link>http://winmerge.org/</link>\n"; + $temp .= " <description>...</description>\n"; + $temp .= " <item>\n"; + $temp .= " <title>Status from " . $update . "</title>\n"; + $temp .= " <description>\n"; + $temp .= " <![CDATA[\n"; + + $temp .= "<ul>\n"; + $translations = $xmlarray['TRANSLATIONS'][0]['TRANSLATION']; + $translations = $page->multisortArray($translations, 'LANGUAGE', SORT_ASC); + for ($i = 0; $i < count($translations); $i++) { //For all translations... + $translation = $translations[$i]; + $language_name = $translation['LANGUAGE'][0]['VALUE']; + if ($language_name != 'English') { //If NOT English... + $file_name = $translation['FILE'][0]['VALUE']; + $translation_update = $translation['UPDATE'][0]['VALUE']; + $strings = $translation['STRINGS'][0]; + $strings_untranslated = $strings['UNTRANSLATED'][0]['VALUE']; + + $temp .= " <li>\n"; + $temp .= " <a href=\"" . $svnurl . $file_name . "\">" . $language_name . "</a> (" . $strings_untranslated . " Untranslated)\n"; + $temp .= " </li>\n"; + } + } + $temp .= "</ul>\n"; + + $temp .= " ]]>\n"; + $temp .= " </description>\n"; + $temp .= " <guid>" . $update . "</guid>\n"; + $temp .= " <link>http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "</link>\n"; + $temp .= " </item>\n"; + $temp .= " </channel>\n"; + $temp .= "</rss>\n"; + print($temp); + } + + /** + * ... + */ function printTranslationsTranslators($xmlarray) { global $page; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |