Ticket #5742: mythweb-music-lastplay.patch

File mythweb-music-lastplay.patch, 5.3 KB (added by otto at kolsi dot fi, 16 years ago)
  • modules/music/mp3act_js.js.php

     
    305305                    }
    306306                    items = items.substring(1);
    307307                }
    308                 if(data.rating.value == 'all'){
    309                     x_randAdd(type,num,items,randadd_cb);
     308
     309                var lastplay = "";
     310                if(data.lastplay.value == 'never'){
     311                    lastplay = " IS NULL ";
    310312                }
    311                 else{
    312                     var filter = data.rating.value + ' ' + data.rating_value.value;
    313                     x_randAdd(type,num,items,filter,randadd_cb);
     313                else if(data.lastplay.value != 'all'){
     314                    lastplay = data.lastplay.value + " DATE_SUB(NOW(), INTERVAL " +
     315                        data.lastplay_value.value + " DAY) ";
     316
     317                    //take into account songs never played
     318                    if(data.lastplay.value == '<'){
     319                        lastplay = lastplay + " OR lastplay IS NULL ";
     320                    }
    314321                }
    315322
     323                var rating = "";
     324                if(data.rating.value != 'all'){
     325                    rating = data.rating.value + ' ' + data.rating_value.value;
     326                }
     327
     328                x_randAdd(type,num,items,rating,lastplay,randadd_cb);
     329
    316330                return false;
    317331
    318332            }
  • modules/music/mp3act_functions.php

     
    516516       
    517517        <strong>'.t('Rating').'</strong><br />
    518518        <select name="rating">
    519         <option value="all">All</option>
     519        <option value="all">'.t('All').'</option>
    520520        <option value=">">></option>
    521521        <option value="=">=</option>
    522522        <option value="<"><</option>
     
    533533        <option value="2">2</option>
    534534        <option value="1">1</option>
    535535        </select><br />
    536        
     536       
     537        <strong>'.t('Last Play').'</strong><br />
     538        <select name="lastplay">
     539        <option value="all">'.t('All').'</option>
     540        <option value="never">'.t('Never').'</option>
     541        <option value="<">'.t('Earlier than').'</option>
     542        <option value=">">'.t('Later than').'</option>
     543        </select>
     544         
     545        <select name="lastplay_value">
     546        <option value="30">30 '.t('days ago').'</option>
     547        <option value="60">60 '.t('days ago').'</option>
     548        <option value="90">90 '.t('days ago').'</option>
     549        <option value="120">120 '.t('days ago').'</option>
     550        </select><br />
     551
    537552        <strong>'.t('Random Type').'</strong><br />
    538 
    539553        <select name="random_type" onchange="getRandItems(this.options[selectedIndex].value); return false;">
    540554        <option value="">'.t('Choose Type').'...</option>
    541555        <option value="artists">'.t('Artists').'</option>
     
    13881402  return $output;
    13891403}
    13901404
    1391 function randAdd($type,$num=0,$items='',$rating='')
     1405function randAdd($type,$num=0,$items='',$rating='',$lastplay='')
    13921406{
    13931407  $output = array(0 => 1);
    13941408  // Check to see if $items matches our REGEXP.
     
    14111425    case 'albums':
    14121426      $query .= 'WHERE album_id IN ('.$sql_items.') ';
    14131427      break;
     1428    case 'all':
     1429      $query .= 'WHERE true ';
     1430      break;
    14141431  }
     1432 
    14151433  if($rating != '') {
    1416     if($type == 'all')
    1417       $query .= 'WHERE rating '.$rating.' ';
    1418     else
    14191434      $query .= 'AND rating '.$rating.' ';
    14201435  }
    1421  
     1436
     1437  if($lastplay != '') {
     1438      $query .= 'AND (lastplay '.$lastplay.') ';
     1439  }
     1440
    14221441  $query .= 'GROUP BY name ORDER BY RAND()+0 '.
    14231442    'LIMIT '.mysql_real_escape_string(intval($num));
    14241443  $result = mysql_query($query);
  • modules/_shared/lang/English_GB.lang

     
    162162"Database Health"
    163163"Date"
    164164"Date Formats"
     165"days ago"
    165166"Deactivated"
    166167"Deaf Signed"
    167168    Deaf Signed
     
    195196"Duplicates"
    196197"Earlier"
    197198"Earlier Showing"
     199"Earlier than"
    198200"Edit"
    199201"Edit existing group"
    200202"Edit MythWeb and some MythTV settings."
     
    322324"Keyword Search"
    323325"Keywords"
    324326"Language"
     327"Last Play"
    325328"Last Recorded"
    326329"Last recording"
    327330"Later"
     331"Later than"
    328332"left"
    329333"Left"
    330334"leftl"
     
    389393"Name"
    390394"name"
    391395"Narrow Your Search"
     396"Never"
    392397"Never Record"
    393398"New"
    394399"New Episodes Only"
  • modules/_shared/lang/English.lang

     
    159159"Database Health"
    160160"Date"
    161161"Date Formats"
     162"days ago"
    162163"Deactivated"
    163164"Deaf Signed"
    164165    Deaf Signed
     
    191192"Duplicates"
    192193"Earlier"
    193194"Earlier Showing"
     195"Earlier than"
    194196"Edit"
    195197"Edit existing group"
    196198"Edit MythWeb and some MythTV settings."
     
    318320"Keyword Search"
    319321"Keywords"
    320322"Language"
     323"Last Play"
    321324"Last Recorded"
    322325"Last recording"
    323326"Later"
     327"Later than"
    324328"left"
    325329"Left"
    326330"leftl"
     
    383387"Name"
    384388"name"
    385389"Narrow Your Search"
     390"Never"
    386391"Never Record"
    387392"New"
    388393"New Episodes Only"