2006-10-01 10:05:20 +00:00
< ? php
function module_popup_dialog ( $link ) {
2009-12-29 15:49:27 +00:00
$id = $_REQUEST [ " id " ];
$param = db_escape_string ( $_REQUEST [ " param " ]);
2006-10-01 10:05:20 +00:00
2010-11-14 20:46:49 +00:00
print " <dlg id= \" $id\ " > " ;
2010-01-13 20:59:02 +00:00
if ( $id == " importOpml " ) {
2010-11-21 15:01:14 +00:00
print " <div class= \" prefFeedOPMLHolder \" > " ;
header ( " Content-Type: text/html " ); # required for iframe
2010-01-13 20:59:02 +00:00
$owner_uid = $_SESSION [ " uid " ];
db_query ( $link , " BEGIN " );
/* create Imported feeds category just in case */
$result = db_query ( $link , " SELECT id FROM
ttrss_feed_categories WHERE title = 'Imported feeds' AND
owner_uid = '$owner_uid' LIMIT 1 " );
if ( db_num_rows ( $result ) == 0 ) {
db_query ( $link , " INSERT INTO ttrss_feed_categories
2011-03-23 11:51:50 +00:00
( title , owner_uid )
2010-01-13 20:59:02 +00:00
VALUES ( 'Imported feeds' , '$owner_uid' ) " );
}
db_query ( $link , " COMMIT " );
/* Handle OPML import by DOMXML/DOMDocument */
if ( function_exists ( 'domxml_open_file' )) {
print " <ul class='nomarks'> " ;
print " <li> " . __ ( " Importing using DOMXML. " ) . " </li> " ;
2010-09-10 13:27:15 +00:00
require_once " opml_domxml.php " ;
2010-01-13 20:59:02 +00:00
opml_import_domxml ( $link , $owner_uid );
print " </ul> " ;
} else if ( PHP_VERSION >= 5 ) {
print " <ul class='nomarks'> " ;
print " <li> " . __ ( " Importing using DOMDocument. " ) . " </li> " ;
2010-09-10 13:27:15 +00:00
require_once " opml_domdoc.php " ;
2010-01-13 20:59:02 +00:00
opml_import_domdoc ( $link , $owner_uid );
print " </ul> " ;
} else {
print_error ( __ ( " DOMXML extension is not found. It is required for PHP versions below 5. " ));
}
print " </div> " ;
print " <div align='center'> " ;
2011-03-23 11:51:50 +00:00
print " <button dojoType= \" dijit.form.Button \"
2010-11-21 15:01:14 +00:00
onclick = \ " dijit.byId('opmlImportDlg').hide() \" > " .
2010-01-14 16:35:17 +00:00
__ ( 'Close this window' ) . " </button> " ;
2010-01-13 20:59:02 +00:00
print " </div> " ;
2010-11-14 20:46:49 +00:00
print " </div> " ;
2010-01-13 20:59:02 +00:00
2010-11-14 20:46:49 +00:00
//return;
2010-01-13 20:59:02 +00:00
}
2010-01-13 15:31:51 +00:00
if ( $id == " editPrefProfiles " ) {
2010-11-21 09:50:14 +00:00
print " <div dojoType= \" dijit.Toolbar \" > " ;
# TODO: depends on selectTableRows() being broken for this list
# print "<div dojoType=\"dijit.form.DropDownButton\">".
# "<span>" . __('Select')."</span>";
# print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
2011-03-23 11:51:50 +00:00
# print "<div onclick=\"selectTableRows('prefFeedProfileList', 'all')\"
2010-11-21 09:50:14 +00:00
# dojoType=\"dijit.MenuItem\">".__('All')."</div>";
2011-03-23 11:51:50 +00:00
# print "<div onclick=\"selectTableRows('prefFeedProfileList', 'none')\"
2010-11-21 09:50:14 +00:00
# dojoType=\"dijit.MenuItem\">".__('None')."</div>";
# print "</div></div>";
# print "<div style='float : right'>";
print " <input name= \" newprofile \" dojoType= \" dijit.form.ValidationTextBox \"
required = \ " 1 \" >
2011-03-23 11:51:50 +00:00
< button dojoType = \ " dijit.form.Button \"
2010-11-21 09:50:14 +00:00
onclick = \ " dijit.byId('profileEditDlg').addProfile() \" > " .
2010-01-13 15:31:51 +00:00
__ ( 'Create profile' ) . " </button></div> " ;
2010-11-21 09:50:14 +00:00
# print "</div>";
2010-01-13 15:31:51 +00:00
$result = db_query ( $link , " SELECT title,id FROM ttrss_settings_profiles
2010-01-13 18:34:44 +00:00
WHERE owner_uid = " . $_SESSION["uid"] . " ORDER BY title " );
2010-01-13 15:31:51 +00:00
print " <div class= \" prefFeedCatHolder \" > " ;
print " <form id= \" profile_edit_form \" onsubmit= \" return false \" > " ;
2011-03-23 11:51:50 +00:00
print " <table width= \" 100% \" class= \" prefFeedProfileList \"
2010-11-21 09:50:14 +00:00
cellspacing = \ " 0 \" id= \" prefFeedProfileList \" > " ;
2010-01-13 15:31:51 +00:00
2010-11-21 09:50:14 +00:00
print " <tr class= \" \" id= \" FCATR-0 \" > " ; #odd
2010-01-13 15:31:51 +00:00
2011-03-23 11:51:50 +00:00
print " <td width='5%' align='center'><input
onclick = 'toggleSelectRow2(this);'
2010-11-21 09:50:14 +00:00
dojoType = \ " dijit.form.CheckBox \"
type = \ " checkbox \" ></td> " ;
2010-01-13 15:31:51 +00:00
2010-01-13 15:47:06 +00:00
if ( ! $_SESSION [ " profile " ]) {
$is_active = __ ( " (active) " );
} else {
$is_active = " " ;
}
2011-03-23 11:51:50 +00:00
print " <td><span> " .
2010-01-13 15:47:06 +00:00
__ ( " Default profile " ) . " $is_active </span></td> " ;
2011-03-23 11:51:50 +00:00
2010-01-13 15:31:51 +00:00
print " </tr> " ;
$lnum = 1 ;
2011-03-23 11:51:50 +00:00
2010-01-13 15:31:51 +00:00
while ( $line = db_fetch_assoc ( $result )) {
2011-03-23 11:51:50 +00:00
2010-01-13 15:31:51 +00:00
$class = ( $lnum % 2 ) ? " even " : " odd " ;
2011-03-23 11:51:50 +00:00
2010-11-21 09:50:14 +00:00
$profile_id = $line [ " id " ];
$this_row_id = " id= \" FCATR- $profile_id\ " " ;
2011-03-23 11:51:50 +00:00
2010-11-21 09:50:14 +00:00
print " <tr class= \" \" $this_row_id > " ;
2011-03-23 11:51:50 +00:00
2010-01-13 15:31:51 +00:00
$edit_title = htmlspecialchars ( $line [ " title " ]);
2011-03-23 11:51:50 +00:00
print " <td width='5%' align='center'><input
onclick = 'toggleSelectRow2(this);'
2010-11-21 09:50:14 +00:00
dojoType = \ " dijit.form.CheckBox \"
type = \ " checkbox \" ></td> " ;
2010-01-13 15:31:51 +00:00
if ( $_SESSION [ " profile " ] == $line [ " id " ]) {
$is_active = __ ( " (active) " );
} else {
$is_active = " " ;
}
2011-03-23 11:51:50 +00:00
print " <td><span dojoType= \" dijit.InlineEditBox \"
2010-11-21 09:50:14 +00:00
width = \ " 300px \" autoSave= \" false \"
profile - id = \ " $profile_id\ " > " . $edit_title .
" <script type= \" dojo/method \" event= \" onChange \" args= \" item \" >
var elem = this ;
dojo . xhrPost ({
url : 'backend.php' ,
content : { op : 'rpc' , subop : 'saveprofile' ,
value : this . value ,
id : this . srcNodeRef . getAttribute ( 'profile-id' )},
load : function ( response ) {
elem . attr ( 'value' , response );
}
2011-03-23 11:51:50 +00:00
});
2010-11-21 09:50:14 +00:00
</ script >
</ span > $is_active </ td > " ;
2011-03-23 11:51:50 +00:00
2010-01-13 15:31:51 +00:00
print " </tr> " ;
2011-03-23 11:51:50 +00:00
2010-01-13 15:31:51 +00:00
++ $lnum ;
}
print " </table> " ;
print " </form> " ;
print " </div> " ;
print " <div class='dlgButtons'>
< div style = 'float : left' >
2010-11-21 09:50:14 +00:00
< button dojoType = \ " dijit.form.Button \" onclick= \" dijit.byId('profileEditDlg').removeSelected() \" > " .
__ ( 'Remove selected profiles' ) . " </button>
< button dojoType = \ " dijit.form.Button \" onclick= \" dijit.byId('profileEditDlg').activateProfile() \" > " .
__ ( 'Activate profile' ) . " </button>
2010-01-13 15:31:51 +00:00
</ div > " ;
2010-11-21 09:50:14 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('profileEditDlg').hide() \" > " .
2010-01-18 14:07:45 +00:00
__ ( 'Close this window' ) . " </button> " ;
2010-11-14 20:46:49 +00:00
print " </div> " ;
2010-01-13 15:31:51 +00:00
}
2010-04-09 23:56:44 +00:00
if ( $id == " pubOPMLUrl " ) {
2010-11-14 20:46:49 +00:00
print " <title> " . __ ( 'Public OPML URL' ) . " </title> " ;
print " <content><![CDATA[ " ;
2010-11-08 16:30:00 +00:00
2010-04-09 23:56:44 +00:00
$url_path = opml_publish_url ( $link );
print __ ( " Your Public OPML URL is: " );
print " <div class= \" tagCloudContainer \" > " ;
print " <a id='pub_opml_url' href=' $url_path ' target='_blank'> $url_path </a> " ;
print " </div> " ;
print " <div align='center'> " ;
2010-11-20 20:45:31 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return opmlRegenKey() \" > " .
2010-04-09 23:56:44 +00:00
__ ( 'Generate new URL' ) . " </button> " ;
2010-11-20 20:45:31 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return closeInfoBox() \" > " .
2010-11-11 20:33:52 +00:00
__ ( 'Close this window' ) . " </button> " ;
2010-01-12 16:46:07 +00:00
2010-11-14 20:46:49 +00:00
print " </div> " ;
print " ]]></content> " ;
2010-01-12 16:46:07 +00:00
2010-11-14 20:46:49 +00:00
//return;
2010-01-12 16:46:07 +00:00
}
2007-01-27 09:21:55 +00:00
if ( $id == " explainError " ) {
2010-11-14 20:46:49 +00:00
print " <title> " . __ ( 'Notice' ) . " </title> " ;
print " <content><![CDATA[ " ;
2007-01-27 09:21:55 +00:00
2009-01-23 05:53:31 +00:00
print " <div class= \" errorExplained \" > " ;
2007-01-27 09:21:55 +00:00
if ( $param == 1 ) {
2009-01-23 05:53:31 +00:00
print __ ( " Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner. " );
2007-09-28 03:06:44 +00:00
2010-11-05 13:49:23 +00:00
$stamp = ( int ) file_get_contents ( LOCK_DIRECTORY . " /update_daemon.stamp " );
2007-09-28 03:06:44 +00:00
2011-03-23 11:51:50 +00:00
print " <p> " . __ ( " Last update: " ) . " " . date ( " Y.m.d, G:i " , $stamp );
2007-09-28 03:06:44 +00:00
2007-01-27 09:21:55 +00:00
}
2007-07-16 13:05:29 +00:00
if ( $param == 3 ) {
2009-01-23 05:53:31 +00:00
print __ ( " Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner. " );
2007-09-28 03:06:44 +00:00
2010-11-05 13:49:23 +00:00
$stamp = ( int ) file_get_contents ( LOCK_DIRECTORY . " /update_daemon.stamp " );
2007-09-28 03:06:44 +00:00
2011-03-23 11:51:50 +00:00
print " <p> " . __ ( " Last update: " ) . " " . date ( " Y.m.d, G:i " , $stamp );
2007-09-28 03:06:44 +00:00
2007-07-16 13:05:29 +00:00
}
2007-01-27 09:21:55 +00:00
print " </div> " ;
2011-03-23 11:51:50 +00:00
2007-01-27 09:21:55 +00:00
print " <div align='center'> " ;
2010-11-23 07:30:36 +00:00
print " <button onclick= \" return closeInfoBox() \" > " .
2010-11-11 20:33:52 +00:00
__ ( 'Close this window' ) . " </button> " ;
2007-01-27 09:21:55 +00:00
2010-11-14 20:46:49 +00:00
print " </div> " ;
print " ]]></content> " ;
2007-01-27 09:21:55 +00:00
2010-11-14 20:46:49 +00:00
//return;
2007-01-27 09:21:55 +00:00
}
2006-10-01 10:05:20 +00:00
if ( $id == " quickAddFeed " ) {
2010-11-20 18:06:36 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" rpc \" > " ;
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" addfeed \" > " ;
2006-10-01 10:05:20 +00:00
2008-08-06 07:51:28 +00:00
print " <div class= \" dlgSec \" > " . __ ( " Feed " ) . " </div> " ;
print " <div class= \" dlgSecCont \" > " ;
2010-11-20 18:06:36 +00:00
print " <input style= \" font-size : 16px; width : 20em; \"
placeHolder = \ " " . __ ( " Feed URL " ) . " \"
dojoType = \ " dijit.form.ValidationTextBox \" required= \" 1 \" name= \" feed \" id= \" feedDlg_feedUrl \" > " ;
2008-08-06 07:51:28 +00:00
2010-11-21 19:55:57 +00:00
print " <hr/> " ;
2008-08-06 07:51:28 +00:00
2006-10-01 10:05:20 +00:00
if ( get_pref ( $link , 'ENABLE_FEED_CATS' )) {
2008-08-06 07:51:28 +00:00
print __ ( 'Place in category:' ) . " " ;
2011-03-23 11:51:50 +00:00
print_feed_cat_select ( $link , " cat " , false , 'dojoType="dijit.form.Select"' );
2006-10-01 10:05:20 +00:00
}
2008-08-06 07:51:28 +00:00
print " </div> " ;
2010-11-20 18:06:36 +00:00
print ' < div id = " feedDlg_feedsContainer " style = " display : none " >
2010-11-09 21:42:03 +00:00
< div class = " dlgSec " > ' . __(' Available feeds ') . ' </ div >
2010-11-20 18:06:36 +00:00
< div class = " dlgSecCont " > ' .
' < select id = " feedDlg_feedContainerSelect "
dojoType = " dijit.form.Select " size = " 3 " >
< script type = " dojo/method " event = " onChange " args = " value " >
dijit . byId ( " feedDlg_feedUrl " ) . attr ( " value " , value );
</ script >
</ select > ' .
'</div></div>' ;
print " <div id='feedDlg_loginContainer' style='display : none'>
2011-03-23 11:51:50 +00:00
2008-08-06 07:51:28 +00:00
< div class = \ " dlgSec \" > " . __ ( " Authentication " ) . " </div>
< div class = \ " dlgSecCont \" > " .
2011-03-23 11:51:50 +00:00
" <input dojoType= \" dijit.form.TextBox \" name='login' \"
2010-11-20 18:06:36 +00:00
placeHolder = \ " " . __ ( " Login " ) . " \"
style = \ " width : 10em; \" > " .
2011-03-23 11:51:50 +00:00
" <input
2010-11-20 18:06:36 +00:00
placeHolder = \ " " . __ ( " Password " ) . " \"
2011-03-23 11:51:50 +00:00
dojoType = \ " dijit.form.TextBox \" type='password'
2010-11-20 18:06:36 +00:00
style = \ " width : 10em; \" name='pass' \" >
2008-08-06 07:51:28 +00:00
</ div ></ div > " ;
2011-03-23 11:51:50 +00:00
print " <div style= \" clear : both \" >
< input type = \ " checkbox \" dojoType= \" dijit.form.CheckBox \" id= \" feedDlg_loginCheck \"
2010-11-20 18:06:36 +00:00
onclick = 'checkboxToggleElement(this, \"feedDlg_loginContainer\")' >
< label for = \ " feedDlg_loginCheck \" > " .
2008-08-06 07:51:28 +00:00
__ ( 'This feed requires authentication.' ) . " </div> " ;
2007-04-25 15:00:08 +00:00
2006-10-01 10:05:20 +00:00
print " </form> " ;
2008-08-06 07:51:28 +00:00
print " <div class= \" dlgButtons \" >
2010-11-20 18:06:36 +00:00
< button dojoType = \ " dijit.form.Button \" onclick= \" return dijit.byId('feedAddDlg').execute() \" > " . __ ( 'Subscribe' ) . " </button>
< button dojoType = \ " dijit.form.Button \" onclick= \" return feedBrowser() \" > " . __ ( 'More feeds' ) . " </button>
< button dojoType = \ " dijit.form.Button \" onclick= \" return dijit.byId('feedAddDlg').hide() \" > " . __ ( 'Cancel' ) . " </button>
</ div > " ;
2010-11-14 20:46:49 +00:00
//return;
2006-10-01 10:05:20 +00:00
}
2010-01-13 10:44:20 +00:00
if ( $id == " feedBrowser " ) {
$browser_search = db_escape_string ( $_REQUEST [ " search " ]);
2011-03-23 11:51:50 +00:00
# print "<form onsubmit='return false;' display='inline'
2010-11-20 18:06:36 +00:00
# name='feed_browser' id='feed_browser'>";
2010-01-13 10:44:20 +00:00
2010-11-20 18:06:36 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" rpc \" > " ;
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" updateFeedBrowser \" > " ;
2010-01-13 10:44:20 +00:00
2010-11-18 19:26:04 +00:00
print " <div dojoType= \" dijit.Toolbar \" >
2010-01-13 10:44:20 +00:00
< div style = 'float : right' >
2011-03-23 11:51:50 +00:00
< img style = 'display : none'
2010-01-14 20:09:23 +00:00
id = 'feed_browser_spinner' src = ' " .
theme_image ( $link , 'images/indicator_white.gif' ) . " '>
2010-11-20 18:06:36 +00:00
< input name = \ " search \" dojoType= \" dijit.form.TextBox \" size= \" 20 \" type= \" search \"
onchange = \ " dijit.byId('feedBrowserDlg').update() \" value= \" $browser_search\ " >
< button dojoType = \ " dijit.form.Button \" onclick= \" dijit.byId('feedBrowserDlg').update() \" > " . __ ( 'Search' ) . " </button>
2010-01-13 10:44:20 +00:00
</ div > " ;
2010-11-20 18:06:36 +00:00
print " <select name= \" mode \" dojoType= \" dijit.form.Select \" onchange= \" dijit.byId('feedBrowserDlg').update() \" >
2010-01-13 10:44:20 +00:00
< option value = '1' > " . __('Popular feeds') . " </ option >
< option value = '2' > " . __('Feed archive') . " </ option >
</ select > " ;
print __ ( " limit: " );
2010-11-20 18:06:36 +00:00
print " <select dojoType= \" dijit.form.Select \" name= \" limit \" onchange= \" dijit.byId('feedBrowserDlg').update() \" > " ;
2010-01-13 10:44:20 +00:00
foreach ( array ( 25 , 50 , 100 , 200 ) as $l ) {
2010-11-20 18:06:36 +00:00
$issel = ( $l == $limit ) ? " selected= \" 1 \" " : " " ;
print " <option $issel value= \" $l\ " > $l </ option > " ;
2010-01-13 10:44:20 +00:00
}
2011-03-23 11:51:50 +00:00
2010-01-13 10:44:20 +00:00
print " </select> " ;
2010-11-18 19:26:04 +00:00
print " </div> " ;
2010-01-13 10:44:20 +00:00
$owner_uid = $_SESSION [ " uid " ];
print " <ul class='browseFeedList' id='browseFeedList'> " ;
2010-11-29 13:19:32 +00:00
print make_feed_browser ( $link , $search , 25 );
2010-01-13 10:44:20 +00:00
print " </ul> " ;
print " <div align='center'>
2010-11-20 18:06:36 +00:00
< button dojoType = \ " dijit.form.Button \" onclick= \" dijit.byId('feedBrowserDlg').execute() \" > " . __ ( 'Subscribe' ) . " </button>
< button dojoType = \ " dijit.form.Button \" style='display : none' id='feed_archive_remove' onclick= \" dijit.byId('feedBrowserDlg').removeFromArchive() \" > " . __ ( 'Remove' ) . " </button>
< button dojoType = \ " dijit.form.Button \" onclick= \" dijit.byId('feedBrowserDlg').hide() \" > " . __ ( 'Cancel' ) . " </button></div> " ;
2010-01-13 10:44:20 +00:00
}
2006-10-01 10:05:20 +00:00
if ( $id == " search " ) {
2010-11-08 18:43:40 +00:00
$params = explode ( " : " , db_escape_string ( $_REQUEST [ " param " ]), 2 );
2006-10-01 10:05:20 +00:00
$active_feed_id = sprintf ( " %d " , $params [ 0 ]);
2011-03-23 11:51:50 +00:00
$is_cat = $params [ 1 ] != " false " ;
2006-10-01 10:05:20 +00:00
2009-10-07 12:33:45 +00:00
print " <div class= \" dlgSec \" > " . __ ( 'Look for' ) . " </div> " ;
2008-08-06 08:27:57 +00:00
print " <div class= \" dlgSecCont \" > " ;
2010-12-03 08:20:54 +00:00
if ( ! SPHINX_ENABLED ) {
2008-08-06 08:27:57 +00:00
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.ValidationTextBox \"
2010-11-21 10:45:37 +00:00
style = \ " font-size : 16px; width : 12em; \"
required = \ " 1 \" name= \" query \" type= \" search \" value=''> " ;
2008-08-06 08:27:57 +00:00
2010-11-12 18:44:19 +00:00
print " " . __ ( 'match on' ) . " " ;
2008-08-06 08:27:57 +00:00
2010-11-12 18:44:19 +00:00
$search_fields = array (
" title " => __ ( " Title " ),
" content " => __ ( " Content " ),
" both " => __ ( " Title or content " ));
2011-03-23 11:51:50 +00:00
print_select_hash ( " match_on " , 3 , $search_fields ,
'dojoType="dijit.form.Select"' );
2010-11-12 18:44:19 +00:00
} else {
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.ValidationTextBox \"
2010-11-21 10:35:16 +00:00
style = \ " font-size : 16px; width : 20em; \"
required = \ " 1 \" name= \" query \" type= \" search \" value=''> " ;
2010-11-12 18:44:19 +00:00
}
2008-08-06 08:27:57 +00:00
2010-11-21 19:55:57 +00:00
print " <hr/> " . __ ( 'Limit search to:' ) . " " ;
2011-03-23 11:51:50 +00:00
2010-11-21 10:35:16 +00:00
print " <select name= \" search_mode \" dojoType= \" dijit.form.Select \" >
2007-03-05 09:24:13 +00:00
< option value = \ " all_feeds \" > " . __ ( 'All feeds' ) . " </option> " ;
2011-03-23 11:51:50 +00:00
2006-10-01 10:05:20 +00:00
$feed_title = getFeedTitle ( $link , $active_feed_id );
if ( ! $is_cat ) {
$feed_cat_title = getFeedCatTitle ( $link , $active_feed_id );
} else {
$feed_cat_title = getCategoryTitle ( $link , $active_feed_id );
}
2011-03-23 11:51:50 +00:00
if ( $active_feed_id && ! $is_cat ) {
2010-11-21 10:35:16 +00:00
print " <option selected= \" 1 \" value= \" this_feed \" > $feed_title </option> " ;
2006-10-01 10:05:20 +00:00
} else {
2010-11-21 10:35:16 +00:00
print " <option disabled= \" 1 \" value= \" false \" > " . __ ( 'This feed' ) . " </option> " ;
2006-10-01 10:05:20 +00:00
}
if ( $is_cat ) {
2010-11-21 10:35:16 +00:00
$cat_preselected = " selected= \" 1 \" " ;
2006-10-01 10:05:20 +00:00
}
if ( get_pref ( $link , 'ENABLE_FEED_CATS' ) && ( $active_feed_id > 0 || $is_cat )) {
2007-03-05 09:24:13 +00:00
print " <option $cat_preselected value= \" this_cat \" > $feed_cat_title </option> " ;
2006-10-01 10:05:20 +00:00
} else {
2007-05-19 04:41:50 +00:00
//print "<option disabled>".__('This category')."</option>";
2006-10-01 10:05:20 +00:00
}
2011-03-23 11:51:50 +00:00
print " </select> " ;
2006-10-01 10:05:20 +00:00
2008-08-06 08:27:57 +00:00
print " </div> " ;
2006-10-01 10:05:20 +00:00
2011-04-19 11:41:44 +00:00
print " <div class= \" dlgButtons \" > " ;
if ( ! SPHINX_ENABLED ) {
print " <div style= \" float : left \" >
< a class = \ " visibleLink \" target= \" _blank \" href= \" http://tt-rss.org/redmine/wiki/tt-rss/SearchSyntax \" >Search syntax</a>
</ div > " ;
}
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('searchDlg').execute() \" > " . __ ( 'Search' ) . " </button>
2010-11-21 10:35:16 +00:00
< button dojoType = \ " dijit.form.Button \" onclick= \" dijit.byId('searchDlg').hide() \" > " . __ ( 'Cancel' ) . " </button>
2010-01-12 12:27:04 +00:00
</ div > " ;
2006-10-01 10:05:20 +00:00
}
if ( $id == " quickAddFilter " ) {
2009-12-29 15:49:27 +00:00
$active_feed_id = db_escape_string ( $_REQUEST [ " param " ]);
2006-10-01 10:05:20 +00:00
2010-11-20 11:10:26 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" pref-filters \" > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" quiet \" value= \" 1 \" > " ;
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" add \" > " ;
$result = db_query ( $link , " SELECT id,description
2006-10-01 10:05:20 +00:00
FROM ttrss_filter_types ORDER BY description " );
2011-03-23 11:51:50 +00:00
2006-10-01 10:05:20 +00:00
$filter_types = array ();
2011-03-23 11:51:50 +00:00
2006-10-01 10:05:20 +00:00
while ( $line = db_fetch_assoc ( $result )) {
//array_push($filter_types, $line["description"]);
2007-08-10 16:16:43 +00:00
$filter_types [ $line [ " id " ]] = __ ( $line [ " description " ]);
2006-10-01 10:05:20 +00:00
}
2008-08-06 06:47:56 +00:00
print " <div class= \" dlgSec \" > " . __ ( " Match " ) . " </div> " ;
print " <div class= \" dlgSecCont \" > " ;
2010-11-20 11:10:26 +00:00
print " <span id= \" filterDlg_dateModBox \" style= \" display : none \" > " ;
2008-12-13 13:49:19 +00:00
$filter_params = array (
" before " => __ ( " before " ),
" after " => __ ( " after " ));
2011-03-23 11:51:50 +00:00
print_select_hash ( " filter_date_modifier " , " before " ,
2010-11-20 11:10:26 +00:00
$filter_params , 'dojoType="dijit.form.Select"' );
2008-12-13 13:49:19 +00:00
print " </span> " ;
2008-12-13 11:57:53 +00:00
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.ValidationTextBox \"
2010-11-20 11:10:26 +00:00
required = \ " true \" id= \" filterDlg_regExp \"
style = \ " font-size : 16px \"
name = \ " reg_exp \" value= \" $reg_exp\ " /> " ;
2008-08-06 06:47:56 +00:00
2010-11-20 11:10:26 +00:00
print " <span id= \" filterDlg_dateChkBox \" style= \" display : none \" > " ;
2011-04-18 09:09:59 +00:00
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " return filterDlgCheckDate() \" > " .
2010-11-11 20:33:52 +00:00
__ ( 'Check it' ) . " </button> " ;
2008-12-13 11:57:53 +00:00
print " </span> " ;
2010-11-21 19:55:57 +00:00
print " <hr/> " . __ ( " on field " ) . " " ;
2008-12-13 11:57:53 +00:00
print_select_hash ( " filter_type " , 1 , $filter_types ,
2010-11-20 11:10:26 +00:00
'onchange="filterDlgCheckType(this)" dojoType="dijit.form.Select"' );
2008-08-06 06:47:56 +00:00
2010-11-21 19:55:57 +00:00
print " <hr/> " ;
2008-08-06 06:47:56 +00:00
print __ ( " in " ) . " " ;
2011-03-23 11:51:50 +00:00
print_feed_select ( $link , " feed_id " , $active_feed_id ,
2010-11-20 11:10:26 +00:00
'dojoType="dijit.form.FilteringSelect"' );
2008-08-06 06:47:56 +00:00
print " </div> " ;
2008-08-06 07:51:28 +00:00
print " <div class= \" dlgSec \" > " . __ ( " Perform Action " ) . " </div> " ;
2008-08-06 06:47:56 +00:00
print " <div class= \" dlgSecCont \" > " ;
2010-11-20 11:10:26 +00:00
print " <select name= \" action_id \" dojoType= \" dijit.form.Select \"
2008-08-06 06:47:56 +00:00
onchange = \ " filterDlgCheckAction(this) \" > " ;
2011-03-23 11:51:50 +00:00
$result = db_query ( $link , " SELECT id,description FROM ttrss_filter_actions
2008-08-06 06:47:56 +00:00
ORDER BY name " );
while ( $line = db_fetch_assoc ( $result )) {
printf ( " <option value='%d'>%s</option> " , $line [ " id " ], __ ( $line [ " description " ]));
}
2011-03-23 11:51:50 +00:00
2008-08-06 06:47:56 +00:00
print " </select> " ;
2010-11-20 11:10:26 +00:00
print " <span id= \" filterDlg_paramBox \" style= \" display : none \" > " ;
2008-08-07 03:17:24 +00:00
print " " . __ ( " with parameters: " ) . " " ;
2010-11-20 11:10:26 +00:00
print " <input dojoType= \" dijit.form.TextBox \"
id = \ " filterDlg_actionParam \"
name = \ " action_param \" > " ;
2009-01-18 10:02:16 +00:00
2011-03-23 11:51:50 +00:00
print_label_select ( $link , " action_param_label " , $action_param ,
2010-11-20 11:10:26 +00:00
'id="filterDlg_actionParamLabel" dojoType="dijit.form.Select"' );
2009-01-18 10:02:16 +00:00
2008-08-07 03:17:24 +00:00
print " </span> " ;
2008-08-06 06:47:56 +00:00
2008-08-07 03:17:24 +00:00
print " " ; // tiny layout hack
2008-08-06 06:47:56 +00:00
print " </div> " ;
print " <div class= \" dlgSec \" > " . __ ( " Options " ) . " </div> " ;
print " <div class= \" dlgSecCont \" > " ;
2010-11-20 11:10:26 +00:00
print " <input dojoType= \" dijit.form.CheckBox \" type= \" checkbox \" name= \" enabled \" id= \" enabled \" checked= \" 1 \" >
2010-11-21 19:55:57 +00:00
< label for = \ " enabled \" > " . __ ( 'Enabled' ) . " </label><hr/> " ;
2008-08-06 06:47:56 +00:00
2010-11-20 11:10:26 +00:00
print " <input dojoType= \" dijit.form.CheckBox \" type= \" checkbox \" name= \" inverse \" id= \" inverse \" >
2008-08-06 06:47:56 +00:00
< label for = \ " inverse \" > " . __ ( 'Inverse match' ) . " </label> " ;
print " </div> " ;
2006-10-01 10:05:20 +00:00
2008-08-06 06:47:56 +00:00
print " <div class= \" dlgButtons \" > " ;
2006-10-01 10:05:20 +00:00
2011-04-17 20:01:24 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return dijit.byId('filterEditDlg').test() \" > " .
__ ( 'Test' ) . " </button> " ;
2010-11-20 21:34:18 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return dijit.byId('filterEditDlg').execute() \" > " .
2010-01-12 12:27:04 +00:00
__ ( 'Create' ) . " </button> " ;
2006-10-01 10:05:20 +00:00
2010-11-20 21:34:18 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return dijit.byId('filterEditDlg').hide() \" > " .
2010-11-20 11:10:26 +00:00
__ ( 'Cancel' ) . " </button> " ;
2006-10-01 10:05:20 +00:00
2010-11-20 11:10:26 +00:00
print " </div> " ;
2006-10-01 10:05:20 +00:00
2010-11-14 20:46:49 +00:00
//return;
2006-10-01 10:05:20 +00:00
}
2011-03-28 11:53:48 +00:00
if ( $id == " inactiveFeeds " ) {
if ( DB_TYPE == " pgsql " ) {
$interval_qpart = " NOW() - INTERVAL '3 months' " ;
} else {
$interval_qpart = " DATE_SUB(NOW(), INTERVAL 3 MONTH) " ;
}
$result = db_query ( $link , " SELECT ttrss_feeds.title, ttrss_feeds.site_url,
ttrss_feeds . feed_url , ttrss_feeds . id , MAX ( updated ) AS last_article
FROM ttrss_feeds , ttrss_entries , ttrss_user_entries WHERE
( SELECT MAX ( updated ) FROM ttrss_entries , ttrss_user_entries WHERE
ttrss_entries . id = ref_id AND
ttrss_user_entries . feed_id = ttrss_feeds . id ) < $interval_qpart
AND ttrss_feeds . owner_uid = " . $_SESSION["uid"] . " AND
ttrss_user_entries . feed_id = ttrss_feeds . id AND
ttrss_entries . id = ref_id
GROUP BY ttrss_feeds . title , ttrss_feeds . id , ttrss_feeds . site_url , ttrss_feeds . feed_url
ORDER BY last_article " );
print __ ( " These feeds have not been updated with new content for 3 months (oldest first): " );
print " <div class= \" inactiveFeedHolder \" > " ;
print " <table width= \" 100% \" cellspacing= \" 0 \" id= \" prefInactiveFeedList \" > " ;
$lnum = 1 ;
while ( $line = db_fetch_assoc ( $result )) {
$class = ( $lnum % 2 ) ? " even " : " odd " ;
$feed_id = $line [ " id " ];
$this_row_id = " id= \" FUPDD- $feed_id\ " " ;
print " <tr class= \" \" $this_row_id > " ;
$edit_title = htmlspecialchars ( $line [ " title " ]);
print " <td width='5%' align='center'><input
onclick = 'toggleSelectRow2(this);' dojoType = \ " dijit.form.CheckBox \"
type = \ " checkbox \" ></td> " ;
print " <td> " ;
2011-04-08 11:37:50 +00:00
print " <a class= \" visibleLink \" href= \" # \" " .
" title= \" " . __ ( " Click to edit feed " ) . " \" " .
" onclick= \" editFeed( " . $line [ " id " ] . " ) \" > " .
htmlspecialchars ( $line [ " title " ]) . " </a> " ;
2011-03-28 11:53:48 +00:00
print " </td><td class= \" insensitive \" align='right'> " ;
2011-04-08 11:37:50 +00:00
print make_local_datetime ( $link , $line [ 'last_article' ], false );
2011-03-28 11:53:48 +00:00
print " </td> " ;
print " </tr> " ;
++ $lnum ;
}
print " </table> " ;
print " </div> " ;
print " <div class='dlgButtons'> " ;
print " <div style='float : left'> " ;
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('inactiveFeedsDlg').removeSelected() \" > "
. __ ( 'Unsubscribe from selected feeds' ) . " </button> " ;
print " </div> " ;
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('inactiveFeedsDlg').hide() \" > " .
__ ( 'Close this window' ) . " </button> " ;
print " </div> " ;
}
2011-04-08 11:37:50 +00:00
if ( $id == " feedsWithErrors " ) {
2006-12-01 06:26:05 +00:00
2011-04-08 11:37:50 +00:00
# print "<title>".__('Feeds with update errors')."</title>";
# print "<content><![CDATA[";
2006-12-01 06:26:05 +00:00
2007-03-05 09:24:13 +00:00
print __ ( " These feeds have not been updated because of errors: " );
2006-12-01 06:26:05 +00:00
2011-03-28 08:34:39 +00:00
$result = db_query ( $link , " SELECT id,title,feed_url,last_error,site_url
2006-12-01 06:26:05 +00:00
FROM ttrss_feeds WHERE last_error != '' AND owner_uid = " . $_SESSION["uid"] );
2011-04-08 11:37:50 +00:00
print " <div class= \" inactiveFeedHolder \" > " ;
print " <table width= \" 100% \" cellspacing= \" 0 \" id= \" prefErrorFeedList \" > " ;
$lnum = 1 ;
2006-12-01 06:26:05 +00:00
while ( $line = db_fetch_assoc ( $result )) {
2011-04-08 11:37:50 +00:00
$class = ( $lnum % 2 ) ? " even " : " odd " ;
$feed_id = $line [ " id " ];
$this_row_id = " id= \" FUPDD- $feed_id\ " " ;
print " <tr class= \" \" $this_row_id > " ;
$edit_title = htmlspecialchars ( $line [ " title " ]);
print " <td width='5%' align='center'><input
onclick = 'toggleSelectRow2(this);' dojoType = \ " dijit.form.CheckBox \"
type = \ " checkbox \" ></td> " ;
print " <td> " ;
print " <a class= \" visibleLink \" href= \" # \" " .
" title= \" " . __ ( " Click to edit feed " ) . " \" " .
" onclick= \" editFeed( " . $line [ " id " ] . " ) \" > " .
htmlspecialchars ( $line [ " title " ]) . " </a>: " ;
print " <span class= \" insensitive \" > " ;
print htmlspecialchars ( $line [ " last_error " ]);
print " </span> " ;
print " </td> " ;
print " </tr> " ;
++ $lnum ;
2006-12-01 06:26:05 +00:00
}
2011-04-08 11:37:50 +00:00
print " </table> " ;
print " </div> " ;
2006-12-01 06:26:05 +00:00
2011-04-08 11:37:50 +00:00
print " <div class='dlgButtons'> " ;
print " <div style='float : left'> " ;
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('errorFeedsDlg').removeSelected() \" > "
. __ ( 'Unsubscribe from selected feeds' ) . " </button> " ;
print " </div> " ;
2006-12-01 06:26:05 +00:00
2011-04-08 11:37:50 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('errorFeedsDlg').hide() \" > " .
2010-01-28 15:52:46 +00:00
__ ( 'Close this window' ) . " </button> " ;
2006-12-01 06:26:05 +00:00
2011-04-08 11:37:50 +00:00
print " </div> " ;
2006-12-01 06:26:05 +00:00
}
2006-12-07 07:48:00 +00:00
if ( $id == " editArticleTags " ) {
2010-11-23 10:26:02 +00:00
# print "<form id=\"tag_edit_form\" onsubmit='return false'>";
2006-12-07 07:48:00 +00:00
2007-03-05 09:24:13 +00:00
print __ ( " Tags for this article (separated by commas): " ) . " <br> " ;
2006-12-07 07:48:00 +00:00
$tags = get_article_tags ( $link , $param );
$tags_str = join ( " , " , $tags );
2010-11-23 10:26:02 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" id \" value= \" $param\ " > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" rpc \" > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" setArticleTags \" > " ;
2006-12-07 09:27:34 +00:00
2010-11-23 10:26:02 +00:00
print " <table width='100%'><tr><td> " ;
2006-12-07 09:27:34 +00:00
2010-11-23 10:26:02 +00:00
print " <textarea dojoType= \" dijit.form.SimpleTextarea \" rows='4'
style = 'font-size : 12px; width : 100%' id = \ " tags_str \"
2007-08-10 07:35:55 +00:00
name = 'tags_str' > $tags_str </ textarea >
2011-03-23 11:51:50 +00:00
< div class = \ " autocomplete \" id= \" tags_choices \"
style = \ " display:none \" ></div> " ;
2006-12-07 09:27:34 +00:00
2010-11-23 10:26:02 +00:00
print " </td></tr></table> " ;
2006-12-07 07:48:00 +00:00
2010-11-23 10:26:02 +00:00
# print "</form>";
2006-12-07 07:48:00 +00:00
2010-11-23 10:26:02 +00:00
print " <div class='dlgButtons'> " ;
2006-12-07 07:48:00 +00:00
2010-11-23 10:26:02 +00:00
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " dijit.byId('editTagsDlg').execute() \" > " . __ ( 'Save' ) . " </button> " ;
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " dijit.byId('editTagsDlg').hide() \" > " . __ ( 'Cancel' ) . " </button> " ;
print " </div> " ;
2006-12-07 07:48:00 +00:00
}
2007-05-17 11:58:38 +00:00
if ( $id == " printTagCloud " ) {
2010-11-14 20:46:49 +00:00
print " <title> " . __ ( 'Tag Cloud' ) . " </title> " ;
print " <content><![CDATA[ " ;
2007-05-17 11:58:38 +00:00
2011-03-23 11:51:50 +00:00
# print __("Showing most popular tags ")." (<a
# href='javascript:toggleTags(true)'>".__('more tags')."</a>):<br/>";
2007-05-17 11:58:38 +00:00
print " <div class= \" tagCloudContainer \" > " ;
printTagCloud ( $link );
print " </div> " ;
print " <div align='center'> " ;
2011-03-23 11:51:50 +00:00
print " <button dojoType= \" dijit.form.Button \"
2010-11-21 11:11:48 +00:00
onclick = \ " return closeInfoBox() \" > " .
2010-01-12 13:04:59 +00:00
__ ( 'Close this window' ) . " </button> " ;
2007-05-17 11:58:38 +00:00
print " </div> " ;
2010-11-14 20:46:49 +00:00
print " ]]></content> " ;
2011-08-11 22:51:00 +00:00
}
2007-05-17 11:58:38 +00:00
2011-08-11 22:51:00 +00:00
if ( $id == 'printTagSelect' ) {
print " <title> " . __ ( 'Select item(s) by tags' ) . " </title> " ;
print " <content><![CDATA[ " ;
print __ ( " Match: " ) . " " .
" <input class= \" noborder \" dojoType= \" dijit.form.RadioButton \" type= \" radio \" checked value= \" any \" name= \" tag_mode \" > Any " ;
print " <input class= \" noborder \" dojoType= \" dijit.form.RadioButton \" type= \" radio \" value= \" all \" name= \" tag_mode \" > All " ;
print " tags. " ;
print " <select id= \" all_tags \" name= \" all_tags \" title= \" " . __ ( 'Which Tags?' ) . " \" multiple= \" multiple \" size= \" 10 \" style= \" width : 100% \" > " ;
$result = db_query ( $link , " SELECT DISTINCT tag_name FROM ttrss_tags WHERE owner_uid = " . $_SESSION [ 'uid' ] . "
AND LENGTH ( tag_name ) <= 30 ORDER BY tag_name ASC " );
while ( $row = db_fetch_assoc ( $result )) {
$tmp = htmlspecialchars ( $row [ " tag_name " ]);
print " <option value= \" " . str_replace ( " " , " %20 " , $tmp ) . " \" > $tmp </option> " ;
}
print " </select> " ;
print " <div align='right'> " ;
print " <button dojoType= \" dijit.form.Button \" onclick= \" viewfeed(get_all_tags( $ ('all_tags')),
get_radio_checked ( $ ( 'tag_mode' ))); \ " > " . __ ( 'Display entries' ) . " </button> " ;
print " " ;
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " return closeInfoBox() \" > " .
__ ( 'Close this window' ) . " </button> " ;
print " </div> " ;
print " ]]></content> " ;
2007-05-17 11:58:38 +00:00
}
2010-11-05 21:47:02 +00:00
if ( $id == " emailArticle " ) {
2010-11-06 19:39:39 +00:00
$secretkey = sha1 ( uniqid ( rand (), true ));
2009-02-03 12:28:37 +00:00
2010-11-05 21:47:02 +00:00
$_SESSION [ 'email_secretkey' ] = $secretkey ;
2009-02-03 12:28:37 +00:00
2010-11-20 20:45:31 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" secretkey \" value= \" $secretkey\ " > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" rpc \" > " ;
2011-03-23 11:51:50 +00:00
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" sendEmail \" > " ;
2009-02-03 12:28:37 +00:00
2010-11-08 13:34:49 +00:00
$result = db_query ( $link , " SELECT email, full_name FROM ttrss_users WHERE
2010-11-06 08:13:07 +00:00
id = " . $_SESSION["uid"] );
$user_email = htmlspecialchars ( db_fetch_result ( $result , 0 , " email " ));
2010-11-08 13:34:49 +00:00
$user_name = htmlspecialchars ( db_fetch_result ( $result , 0 , " full_name " ));
if ( ! $user_name ) $user_name = $_SESSION [ 'name' ];
2010-11-06 08:13:07 +00:00
$_SESSION [ 'email_replyto' ] = $user_email ;
$_SESSION [ 'email_fromname' ] = $user_name ;
2010-11-05 21:47:02 +00:00
require_once " lib/MiniTemplator.class.php " ;
2009-02-03 12:28:37 +00:00
2010-11-05 21:47:02 +00:00
$tpl = new MiniTemplator ;
$tpl_t = new MiniTemplator ;
2009-02-03 12:28:37 +00:00
2010-11-05 21:47:02 +00:00
$tpl -> readTemplateFromFile ( " templates/email_article_template.txt " );
2009-02-03 13:11:44 +00:00
2010-11-06 08:13:07 +00:00
$tpl -> setVariable ( 'USER_NAME' , $_SESSION [ " name " ]);
$tpl -> setVariable ( 'USER_EMAIL' , $user_email );
$tpl -> setVariable ( 'TTRSS_HOST' , $_SERVER [ " HTTP_HOST " ]);
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
// $tpl->addBlock('header');
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
$result = db_query ( $link , " SELECT link, content, title
FROM ttrss_user_entries , ttrss_entries WHERE id = ref_id AND
id IN ( $param ) AND owner_uid = " . $_SESSION["uid"] );
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
if ( db_num_rows ( $result ) > 1 ) {
$subject = __ ( " [Forwarded] " ) . " " . __ ( " Multiple articles " );
}
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
while ( $line = db_fetch_assoc ( $result )) {
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
if ( ! $subject )
$subject = __ ( " [Forwarded] " ) . " " . htmlspecialchars ( $line [ " title " ]);
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
$tpl -> setVariable ( 'ARTICLE_TITLE' , strip_tags ( $line [ " title " ]));
$tpl -> setVariable ( 'ARTICLE_URL' , strip_tags ( $line [ " link " ]));
2010-11-05 21:47:02 +00:00
2010-11-06 08:13:07 +00:00
$tpl -> addBlock ( 'article' );
}
2010-11-05 21:47:02 +00:00
$tpl -> addBlock ( 'email' );
2010-11-06 08:13:07 +00:00
2010-11-05 21:47:02 +00:00
$content = " " ;
$tpl -> generateOutputToString ( $content );
print " <table width='100%'><tr><td> " ;
print __ ( 'From:' );
print " </td><td> " ;
2010-11-20 20:45:31 +00:00
print " <input dojoType= \" dijit.form.TextBox \" disabled= \" 1 \" style= \" width : 30em; \"
2010-11-05 21:47:02 +00:00
value = \ " $user_name < $user_email > \" > " ;
print " </td></tr><tr><td> " ;
print __ ( 'To:' );
print " </td><td> " ;
2010-11-20 20:45:31 +00:00
print " <input dojoType= \" dijit.form.ValidationTextBox \" required= \" true \"
style = \ " width : 30em; \"
name = \ " destination \" id= \" emailArticleDlg_destination \" > " ;
2010-11-05 21:47:02 +00:00
2011-03-23 11:51:50 +00:00
print " <div class= \" autocomplete \" id= \" emailArticleDlg_dst_choices \"
style = \ " z-index: 30; display : none \" ></div> " ;
2010-11-05 21:47:02 +00:00
print " </td></tr><tr><td> " ;
print __ ( 'Subject:' );
print " </td><td> " ;
2010-11-20 20:45:31 +00:00
print " <input dojoType= \" dijit.form.ValidationTextBox \" required= \" true \"
2011-03-23 11:51:50 +00:00
style = \ " width : 30em; \"
2010-11-05 21:47:02 +00:00
name = \ " subject \" value= \" $subject\ " id = \ " subject \" > " ;
2010-11-20 20:45:31 +00:00
print " </td></tr> " ;
2010-11-05 21:47:02 +00:00
2010-11-20 20:45:31 +00:00
print " <tr><td colspan='2'><textarea dojoType= \" dijit.form.SimpleTextarea \" style='font-size : 12px; width : 100%' rows= \" 20 \"
2010-11-05 21:47:02 +00:00
name = 'content' > $content </ textarea > " ;
2009-02-03 12:28:37 +00:00
2010-11-20 20:45:31 +00:00
print " </td></tr></table> " ;
2009-02-03 12:28:37 +00:00
2010-11-05 21:47:02 +00:00
print " <div class='dlgButtons'> " ;
2010-11-20 20:45:31 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('emailArticleDlg').execute() \" > " . __ ( 'Send e-mail' ) . " </button> " ;
print " <button dojoType= \" dijit.form.Button \" onclick= \" dijit.byId('emailArticleDlg').hide() \" > " . __ ( 'Cancel' ) . " </button> " ;
print " </div> " ;
2009-02-03 12:28:37 +00:00
2010-11-14 20:46:49 +00:00
//return;
2010-11-05 21:47:02 +00:00
}
2009-02-03 12:28:37 +00:00
2010-11-08 10:11:56 +00:00
if ( $id == " generatedFeed " ) {
2010-11-14 20:46:49 +00:00
print " <title> " . __ ( 'View as RSS' ) . " </title> " ;
print " <content><![CDATA[ " ;
2011-03-23 11:51:50 +00:00
2010-11-08 10:11:56 +00:00
$params = explode ( " : " , $param , 3 );
$feed_id = db_escape_string ( $params [ 0 ]);
$is_cat = ( bool ) $params [ 1 ];
$key = get_feed_access_key ( $link , $feed_id , $is_cat );
$url_path = htmlspecialchars ( $params [ 2 ]) . " &key= " . $key ;
print __ ( " You can view this feed as RSS using the following URL: " );
print " <div class= \" tagCloudContainer \" > " ;
print " <a id='gen_feed_url' href=' $url_path ' target='_blank'> $url_path </a> " ;
print " </div> " ;
print " <div align='center'> " ;
2010-11-20 20:45:31 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return genUrlChangeKey(' $feed_id ', ' $is_cat ') \" > " .
2010-11-08 10:11:56 +00:00
__ ( 'Generate new URL' ) . " </button> " ;
2010-11-20 20:45:31 +00:00
print " <button dojoType= \" dijit.form.Button \" onclick= \" return closeInfoBox() \" > " .
2010-11-11 20:33:52 +00:00
__ ( 'Close this window' ) . " </button> " ;
2010-11-08 10:11:56 +00:00
2010-11-14 20:46:49 +00:00
print " </div> " ;
print " ]]></content> " ;
2010-11-08 10:11:56 +00:00
2010-11-14 20:46:49 +00:00
//return;
2010-11-08 10:11:56 +00:00
}
2010-11-23 07:30:36 +00:00
if ( $id == " newVersion " ) {
2010-11-25 11:57:32 +00:00
$version_data = check_for_update ( $link );
$version = $version_data [ 'version' ];
$id = $version_data [ 'version_id' ];
2010-11-23 07:30:36 +00:00
print " <div class='tagCloudContainer'> " ;
2011-03-23 11:51:50 +00:00
print T_sprintf ( " New version of Tiny Tiny RSS is available (%s). " ,
2010-11-25 11:57:32 +00:00
" <b> $version </b> " );
2010-11-23 07:30:36 +00:00
print " </div> " ;
2010-11-25 11:57:32 +00:00
$details = " http://tt-rss.org/redmine/versions/show/ $id " ;
$download = " http://tt-rss.org/#Download " ;
2010-11-23 07:30:36 +00:00
print " <div style='text-align : center'> " ;
2011-03-23 11:51:50 +00:00
print " <button dojoType= \" dijit.form.Button \"
2010-11-25 11:57:32 +00:00
onclick = \ " return window.open(' $details ') \" > " . __ ( " Details " ) . " </button> " ;
2011-03-23 11:51:50 +00:00
print " <button dojoType= \" dijit.form.Button \"
2010-11-25 11:57:32 +00:00
onclick = \ " return window.open(' $download ') \" > " . __ ( " Download " ) . " </button> " ;
2011-03-23 11:51:50 +00:00
print " <button dojoType= \" dijit.form.Button \"
2010-11-23 07:30:36 +00:00
onclick = \ " return dijit.byId('newVersionDlg').hide() \" > " .
__ ( 'Close this window' ) . " </button> " ;
print " </div> " ;
}
2010-11-24 16:23:24 +00:00
if ( $id == " customizeCSS " ) {
$value = get_pref ( $link , " USER_STYLESHEET " );
2010-12-28 06:11:49 +00:00
$value = str_replace ( " <br/> " , " \n " , $value );
2010-11-24 16:23:24 +00:00
print T_sprintf ( " You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target= \" _blank \" class= \" visibleLink \" href= \" %s \" >This file</a> can be used as a baseline. " , " tt-rss.css " );
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" rpc \" > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" setpref \" > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" key \" value= \" USER_STYLESHEET \" > " ;
2010-11-29 17:25:51 +00:00
print " <table width='100%'><tr><td> " ;
print " <textarea dojoType= \" dijit.form.SimpleTextarea \"
2010-11-24 16:23:24 +00:00
style = 'font-size : 12px; width : 100%; height: 200px;'
placeHolder = 'body#ttrssMain { font-size : 14px; };'
name = 'value' > $value </ textarea > " ;
2010-11-29 17:25:51 +00:00
print " </td></tr></table> " ;
2010-11-24 16:23:24 +00:00
print " <div class='dlgButtons'> " ;
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " dijit.byId('cssEditDlg').execute() \" > " . __ ( 'Save' ) . " </button> " ;
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " dijit.byId('cssEditDlg').hide() \" > " . __ ( 'Cancel' ) . " </button> " ;
print " </div> " ;
}
2010-11-29 17:25:51 +00:00
if ( $id == " editArticleNote " ) {
$result = db_query ( $link , " SELECT note FROM ttrss_user_entries WHERE
ref_id = '$param' AND owner_uid = " . $_SESSION['uid'] );
$note = db_fetch_result ( $result , 0 , " note " );
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" id \" value= \" $param\ " > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" rpc \" > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" setNote \" > " ;
print " <table width='100%'><tr><td> " ;
print " <textarea dojoType= \" dijit.form.SimpleTextarea \"
style = 'font-size : 12px; width : 100%; height: 100px;'
placeHolder = 'body#ttrssMain { font-size : 14px; };'
name = 'note' > $note </ textarea > " ;
print " </td></tr></table> " ;
print " <div class='dlgButtons'> " ;
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " dijit.byId('editNoteDlg').execute() \" > " . __ ( 'Save' ) . " </button> " ;
print " <button dojoType= \" dijit.form.Button \"
onclick = \ " dijit.byId('editNoteDlg').hide() \" > " . __ ( 'Cancel' ) . " </button> " ;
print " </div> " ;
}
2011-04-18 12:29:10 +00:00
if ( $id == " about " ) {
print " <table width='100%'><tr><td align='center'> " ;
print " <img src= \" images/logo_big.png \" > " ;
print " </td> " ;
print " <td width='70%'> " ;
print " <h1>Tiny Riny RSS</h1>
< strong > Version " .VERSION. " </ strong >
< p > Copyright & copy ; 2005 - " .date('Y'). "
< a target = \ " _blank \" class= \" visibleLink \"
href = \ " http://fakecake.org/ \" >Andrew Dolgov</a>
and other contributors .</ p >
< p class = \ " insensitive \" >Licensed under GNU GPL version 2.</p> " ;
print " <p class= \" insensitive \" >
< a class = \ " visibleLink \" target= \" _blank \"
href = \ " http://tt-rss.org/ \" >Official site</a> —
< a href = \ " http://tt-rss.org/redmine/wiki/tt-rss/Donate \"
target = \ " _blank \" class= \" visibleLink \" >
Support the project .</ a ></ p > " ;
print " </td></tr> " ;
print " </table> " ;
print " <div align='center'> " ;
print " <button dojoType= \" dijit.form.Button \"
type = \ " submit \" > " .
__ ( 'Close this window' ) . " </button> " ;
print " </div> " ;
2011-04-20 10:25:02 +00:00
}
if ( $id == " addInstance " ) {
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" op \" value= \" pref-instances \" > " ;
print " <input dojoType= \" dijit.form.TextBox \" style= \" display : none \" name= \" subop \" value= \" add \" > " ;
print " <div class= \" dlgSec \" > " . __ ( " Instance " ) . " </div> " ;
print " <div class= \" dlgSecCont \" > " ;
/* URL */
print __ ( " URL: " ) . " " ;
print " <input dojoType= \" dijit.form.ValidationTextBox \" required= \" 1 \"
placeHolder = \ " " . __ ( " Instance URL " ) . " \"
regExp = '^(http|https)://.*'
style = \ " font-size : 16px; width: 20em \" name= \" access_url \" > " ;
print " <hr/> " ;
$access_key = sha1 ( uniqid ( rand (), true ));
/* Access key */
print __ ( " Access key: " ) . " " ;
print " <input dojoType= \" dijit.form.ValidationTextBox \" required= \" 1 \"
2011-04-20 10:32:30 +00:00
placeHolder = \ " " . __ ( " Access key " ) . " \" regExp=' \ w { 40}'
2011-04-20 10:25:02 +00:00
style = \ " width: 20em \" name= \" access_key \" id= \" instance_add_key \"
value = \ " $access_key\ " > " ;
2011-04-20 11:21:00 +00:00
print " <p class='insensitive'> " . __ ( " Use one access key for both linked instances. " );
2011-04-20 10:25:02 +00:00
print " </div> " ;
print " <div class= \" dlgButtons \" >
< div style = 'float : left' >
< button dojoType = \ " dijit.form.Button \"
onclick = \ " return dijit.byId('instanceAddDlg').regenKey() \" > " .
__ ( 'Generate new key' ) . " </button>
</ div >
< button dojoType = \ " dijit.form.Button \"
onclick = \ " return dijit.byId('instanceAddDlg').execute() \" > " .
__ ( 'Create link' ) . " </button>
< button dojoType = \ " dijit.form.Button \"
onclick = \ " return dijit.byId('instanceAddDlg').hide() \" \" > " .
__ ( 'Cancel' ) . " </button></div> " ;
return ;
2011-10-04 09:11:07 +00:00
}
if ( $id == " shareArticle " ) {
$result = db_query ( $link , " SELECT uuid, ref_id FROM ttrss_user_entries WHERE int_id = ' $param '
AND owner_uid = " . $_SESSION['uid'] );
if ( db_num_rows ( $result ) == 0 ) {
print " Article not found. " ;
} else {
$uuid = db_fetch_result ( $result , 0 , " uuid " );
$ref_id = db_fetch_result ( $result , 0 , " ref_id " );
if ( ! $uuid ) {
$uuid = db_escape_string ( sha1 ( uniqid ( rand (), true )));
db_query ( $link , " UPDATE ttrss_user_entries SET uuid = ' $uuid ' WHERE int_id = ' $param '
AND owner_uid = " . $_SESSION['uid'] );
}
print __ ( " You can share this article by the following unique URL: " );
2011-04-20 10:25:02 +00:00
2011-10-04 09:11:07 +00:00
$url_path = get_self_url_prefix ();
2011-11-15 07:40:57 +00:00
$url_path .= " /public.php?op=share&key= $uuid " ;
2011-04-20 10:25:02 +00:00
2011-10-04 09:11:07 +00:00
print " <div class= \" tagCloudContainer \" > " ;
print " <a id='pub_opml_url' href=' $url_path ' target='_blank'> $url_path </a> " ;
print " </div> " ;
2011-04-20 10:25:02 +00:00
2011-10-04 09:11:07 +00:00
/* if ( ! label_find_id ( $link , __ ( 'Shared' ), $_SESSION [ " uid " ]))
label_create ( $link , __ ( 'Shared' ), $_SESSION [ " uid " ]);
2011-04-20 10:25:02 +00:00
2011-10-04 09:11:07 +00:00
label_add_article ( $link , $ref_id , __ ( 'Shared' ), $_SESSION [ 'uid' ]); */
}
print " <div align='center'> " ;
print " <button dojoType= \" dijit.form.Button \" onclick= \" return dijit.byId('shareArticleDlg').hide() \" > " .
__ ( 'Close this window' ) . " </button> " ;
print " </div> " ;
return ;
2011-04-18 12:29:10 +00:00
}
2010-11-29 17:25:51 +00:00
2011-03-23 11:51:50 +00:00
print " </dlg> " ;
2011-10-04 09:11:07 +00:00
2006-10-01 10:05:20 +00:00
}
?>