@@ -1,27 +1,32 @@
< ? php
function stylesheet_tag ( $filename , $id = false ) {
$timestamp = filemtime ( $filename );
function stylesheet_tag ( $filename , $attributes = [] ) {
$id_part = $id ? " id= \" $id\ " " : " " ;
$attributes_str = \Controls\attributes_to_string (
array_merge (
[
" href " => " $filename ? " . filemtime ( $filename ),
" rel " => " stylesheet " ,
" type " => " text/css " ,
" data-orig-href " => $filename
],
$attributes ));
return " < link rel = \ " stylesheet \" $id_part type= \" text/css \" data-orig-href= \" $filename\ " href = \ " $filename ? $timestamp\ " /> \n" ;
return " <link $attributes_str /> \n" ;
}
function javascript_tag( $filename) {
$query = " " ;
function javascript_tag ( $filename, $attributes = []) {
$attributes_str = \Controls\attributes_to_string (
array_merge (
[
" src " => " $filename ? " . filemtime ( $filename ),
" type " => " text/javascript " ,
" charset " => " utf-8 "
],
$attributes ));
if (!(strpos( $filename , " ? " ) === false)) {
$query = substr( $filename , strpos( $filename , " ? " )+1);
$filename = substr( $filename , 0, strpos( $filename , " ? " ));
}
$timestamp = filemtime( $filename );
if ( $query ) $timestamp .= " & $query " ;
return " < script type = \ " text/javascript \" charset= \" utf-8 \" src= \" $filename ? $timestamp\ " ></ script > \n " ;
return " <script $attributes_str ></script> \n " ;
}
function format_warning ( $msg , $id = " " ) {
@@ -47,268 +52,3 @@ function print_warning($msg) {
function print_error( $msg ) {
return print format_error( $msg );
}
// the following is deprecated and will be eventually removed
/*function print_select( $id , $default , $values , $attributes = " " , $name = " " ) {
if (! $name ) $name = $id ;
print " < select name = \ " $name\ " id = \ " $id\ " $attributes > " ;
foreach ( $values as $v ) {
if ( $v == $default )
$sel = " selected = \ " 1 \" " ;
else
$sel = " " ;
$v = trim ( $v );
print " <option value= \" $v\ " $sel > $v </ option > " ;
}
print " </ select > " ;
}
function print_select_hash( $id , $default , $values , $attributes = " " , $name = " " ) {
if (! $name ) $name = $id ;
print " < select name = \ " $name\ " id = '$id' $attributes > " ;
foreach (array_keys( $values ) as $v ) {
if ( $v == $default )
$sel = 'selected= " selected " ';
else
$sel = " " ;
$v = trim( $v );
print " < option $sel value = \ " $v\ " > " . $values[$v] . " </ option > " ;
}
print " </ select > " ;
}
function format_hidden( $name , $value ) {
return " < input dojoType = \ " dijit.form.TextBox \" style= \" display : none \" name= \" $name\ " value = \ " $value\ " > " ;
}
function print_hidden( $name , $value ) {
print format_hidden( $name , $value );
}
function format_checkbox( $id , $checked , $value = " " , $attributes = " " ) {
$checked_str = $checked ? " checked " : " " ;
$value_str = $value ? " value = \ " $value\ " " : " " ;
return " < input dojoType = \ " dijit.form.CheckBox \" id= \" $id\ " $value_str $checked_str $attributes name = \ " $id\ " > " ;
}
function print_checkbox( $id , $checked , $value = " " , $attributes = " " ) {
print format_checkbox( $id , $checked , $value , $attributes );
}
function format_button( $type , $value , $attributes = " " ) {
return " < button dojoType = \ " dijit.form.Button \" $attributes type= \" $type\ " > $value </ button > " ;
}
function print_button( $type , $value , $attributes = " " ) {
print format_button( $type , $value , $attributes );
}
function print_feed_multi_select( $id , $default_ids = [],
$attributes = " " , $include_all_feeds = true,
$root_id = null, $nest_level = 0) {
$pdo = Db::pdo();
print_r(in_array( " CAT : 6 " , $default_ids ));
if (! $root_id ) {
print " < select multiple = \true\ " id= \" $id\ " name = \ " $id\ " $attributes > " ;
if ( $include_all_feeds ) {
$is_selected = (in_array( " 0 " , $default_ids )) ? " selected = \ " 1 \" " : " " ;
print " <option $is_selected value= \" 0 \" > " . __ ( 'All feeds' ) . " </option> " ;
}
}
if ( get_pref ( Prefs :: ENABLE_FEED_CATS )) {
if ( ! $root_id ) $root_id = null ;
$sth = $pdo -> prepare ( " SELECT id,title,
(SELECT COUNT(id) FROM ttrss_feed_categories AS c2 WHERE
c2.parent_cat = ttrss_feed_categories.id) AS num_children
FROM ttrss_feed_categories
WHERE owner_uid = :uid AND
(parent_cat = :root_id OR (:root_id IS NULL AND parent_cat IS NULL)) ORDER BY title " );
$sth -> execute ([ " :uid " => $_SESSION [ 'uid' ], " :root_id " => $root_id ]);
while ( $line = $sth -> fetch ()) {
for ( $i = 0 ; $i < $nest_level ; $i ++ )
$line [ " title " ] = " " . $line [ " title " ];
$is_selected = in_array ( " CAT: " . $line [ " id " ], $default_ids ) ? " selected= \" 1 \" " : " " ;
printf ( " <option $is_selected value='CAT:%d'>%s</option> " ,
$line [ " id " ], htmlspecialchars ( $line [ " title " ]));
if ( $line [ " num_children " ] > 0 )
print_feed_multi_select ( $id , $default_ids , $attributes ,
$include_all_feeds , $line [ " id " ], $nest_level + 1 );
$f_sth = $pdo -> prepare ( " SELECT id,title FROM ttrss_feeds
WHERE cat_id = ? AND owner_uid = ? ORDER BY title " );
$f_sth -> execute ([ $line [ 'id' ], $_SESSION [ 'uid' ]]);
while ( $fline = $f_sth -> fetch ()) {
$is_selected = ( in_array ( $fline [ " id " ], $default_ids )) ? " selected= \" 1 \" " : " " ;
$fline [ " title " ] = " " . $fline [ " title " ];
for ( $i = 0 ; $i < $nest_level ; $i ++ )
$fline [ " title " ] = " " . $fline [ " title " ];
printf ( " <option $is_selected value='%d'>%s</option> " ,
$fline [ " id " ], htmlspecialchars ( $fline [ " title " ]));
}
}
if ( ! $root_id ) {
$is_selected = in_array ( " CAT:0 " , $default_ids ) ? " selected= \" 1 \" " : " " ;
printf ( " <option $is_selected value='CAT:0'>%s</option> " ,
__ ( " Uncategorized " ));
$f_sth = $pdo -> prepare ( " SELECT id,title FROM ttrss_feeds
WHERE cat_id IS NULL AND owner_uid = ? ORDER BY title " );
$f_sth -> execute ([ $_SESSION [ 'uid' ]]);
while ( $fline = $f_sth -> fetch ()) {
$is_selected = in_array ( $fline [ " id " ], $default_ids ) ? " selected= \" 1 \" " : " " ;
$fline [ " title " ] = " " . $fline [ " title " ];
for ( $i = 0 ; $i < $nest_level ; $i ++ )
$fline [ " title " ] = " " . $fline [ " title " ];
printf ( " <option $is_selected value='%d'>%s</option> " ,
$fline [ " id " ], htmlspecialchars ( $fline [ " title " ]));
}
}
} else {
$sth = $pdo -> prepare ( " SELECT id,title FROM ttrss_feeds
WHERE owner_uid = ? ORDER BY title " );
$sth -> execute ([ $_SESSION [ 'uid' ]]);
while ( $line = $sth -> fetch ()) {
$is_selected = ( in_array ( $line [ " id " ], $default_ids )) ? " selected= \" 1 \" " : " " ;
printf ( " <option $is_selected value='%d'>%s</option> " ,
$line [ " id " ], htmlspecialchars ( $line [ " title " ]));
}
}
if ( ! $root_id ) {
print " </select> " ;
}
}
function print_feed_cat_select ( $id , $default_id , $attributes , $include_all_cats = true ,
$root_id = null , $nest_level = 0 ) {
print format_feed_cat_select ( $id , $default_id , $attributes , $include_all_cats , $root_id , $nest_level );
}
function format_feed_cat_select ( $id , $default_id , $attributes , $include_all_cats = true ,
$root_id = null , $nest_level = 0 ) {
$ret = " " ;
if ( ! $root_id ) {
$ret .= " <select id= \" $id\ " name = \ " $id\ " default = \ " $default_id\ " $attributes > " ;
}
$pdo = Db::pdo();
if (! $root_id ) $root_id = null;
$sth = $pdo->prepare ( " SELECT id , title ,
( SELECT COUNT ( id ) FROM ttrss_feed_categories AS c2 WHERE
c2 . parent_cat = ttrss_feed_categories . id ) AS num_children
FROM ttrss_feed_categories
WHERE owner_uid = : uid AND
( parent_cat = : root_id OR ( : root_id IS NULL AND parent_cat IS NULL )) ORDER BY title " );
$sth->execute ([ " : uid " => $_SESSION['uid'] , " : root_id " => $root_id ]);
$found = 0;
while ( $line = $sth->fetch ()) {
++ $found ;
if ( $line["id"] == $default_id ) {
$is_selected = " selected = \ " 1 \" " ;
} else {
$is_selected = " " ;
}
for ( $i = 0 ; $i < $nest_level ; $i ++ )
$line [ " title " ] = " " . $line [ " title " ];
if ( $line [ " title " ])
$ret .= sprintf ( " <option $is_selected value='%d'>%s</option> " ,
$line [ " id " ], htmlspecialchars ( $line [ " title " ]));
if ( $line [ " num_children " ] > 0 )
$ret .= format_feed_cat_select ( $id , $default_id , $attributes ,
$include_all_cats , $line [ " id " ], $nest_level + 1 );
}
if ( ! $root_id ) {
if ( $include_all_cats ) {
if ( $found > 0 ) {
$ret .= " <option disabled= \" 1 \" >―――――――――――――――</option> " ;
}
if ( $default_id == 0 ) {
$is_selected = " selected= \" 1 \" " ;
} else {
$is_selected = " " ;
}
$ret .= " <option $is_selected value= \" 0 \" > " . __ ( 'Uncategorized' ) . " </option> " ;
}
$ret .= " </select> " ;
}
return $ret ;
}
function print_label_select ( $name , $value , $attributes = " " ) {
$pdo = Db :: pdo ();
$sth = $pdo -> prepare ( " SELECT caption FROM ttrss_labels2
WHERE owner_uid = ? ORDER BY caption " );
$sth -> execute ([ $_SESSION [ 'uid' ]]);
print " <select default= \" $value\ " name = \ " " . htmlspecialchars ( $name ) .
" \" $attributes > " ;
while ( $line = $sth -> fetch ()) {
$issel = ( $line [ " caption " ] == $value ) ? " selected= \" 1 \" " : " " ;
print " <option value= \" " . htmlspecialchars ( $line [ " caption " ]) . " \"
$issel > " . htmlspecialchars ( $line [ " caption " ]) . " </option> " ;
}
# print "<option value=\"ADD_LABEL\">" .__("Add label...") . "</option>";
print " </select> " ;
}
*/