diff options
author | Frank Karlitschek <karlitschek@kde.org> | 2011-09-28 11:52:13 +0200 |
---|---|---|
committer | Frank Karlitschek <karlitschek@kde.org> | 2011-09-28 11:52:13 +0200 |
commit | 475dd72ea480aa9ac1ad57ef11ff23c91659a857 (patch) | |
tree | 4cb7303daf00c43ad32609f71616c3f500605cfd | |
parent | 0fcd765bd5560b4188c7e424082a4ebc1b2a3694 (diff) | |
parent | e30220e2874799effac365071a1d9c4975e42102 (diff) | |
download | nextcloud-server-475dd72ea480aa9ac1ad57ef11ff23c91659a857.tar.gz nextcloud-server-475dd72ea480aa9ac1ad57ef11ff23c91659a857.zip |
Merge branch 'master' of gitorious.org:owncloud/owncloud
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | apps/media/css/music.css | 8 | ||||
-rw-r--r-- | apps/media/js/music.js | 3 | ||||
-rw-r--r-- | apps/media/js/player.js | 3 | ||||
-rw-r--r-- | apps/media/js/playlist.js | 2 | ||||
-rw-r--r-- | apps/media/templates/music.php | 1 | ||||
-rw-r--r-- | lib/util.php | 35 |
8 files changed, 41 insertions, 16 deletions
diff --git a/.gitignore b/.gitignore index 33f8e0c524b..e9dbc1e3f62 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ RCS/* # eclipse .project .settings + +# netbeans +nbproject @@ -4,7 +4,7 @@ It is alpha software in development and should be treated accordingly. http://ownCloud.org -Installation instructions: http://owncloud.org/index.php/Installation +Installation instructions: http://owncloud.org/install Source code: http://gitorious.org/owncloud Mailing list: http://mail.kde.org/mailman/listinfo/owncloud diff --git a/apps/media/css/music.css b/apps/media/css/music.css index ddfe3429830..c4db4e05855 100644 --- a/apps/media/css/music.css +++ b/apps/media/css/music.css @@ -9,8 +9,9 @@ div.jp-progress { position:absolute; overflow:hidden; top:.5em; left:8em; width: div.jp-seek-bar { background:#eee; width:0; height:100%; cursor:pointer; } div.jp-play-bar { background:#ccc; width:0; height:100%; } div.jp-seeking-bg { background:url("../img/pbar-ani.gif"); } -div.jp-current-time,div.jp-duration { position:absolute; font-size:.64em; font-style:oblique; top:1em; left:13.5em; } -div.jp-duration { left:33em; } +div.jp-current-time,div.jp-duration { position:absolute; font-size:.64em; font-style:oblique; top:0.9em; left:13.5em; } +div.jp-duration { display: none } +div.jp-current-song { left: 33em; position: absolute; top: 0.9em; } div.jp-duration { text-align:right; } a.jp-mute,a.jp-unmute { left:24em; } @@ -21,9 +22,11 @@ div.jp-volume-bar-value { background:#ccc; width:0; height:0.4em; } #collection li.album,#collection li.song { margin-left:3em; } #leftcontent img.remove { display:none; float:right; cursor:pointer; } #leftcontent li:hover img.remove { display:inline; } +#leftcontent li {white-space: normal; } #collection li button { float:right; } #collection li,#playlist li { list-style-type:none; } .template { display:none; } +.collection_playing { background:#eee; } #collection li { padding-right:10px; } #searchresults input.play, #searchresults input.add { float:left; height:1em; width:1em; } @@ -34,6 +37,7 @@ tr td { border-top:1px solid #eee; height:2.2em; } tr .artist img { vertical-align:middle; } tr.album td.artist { padding-left:1em; } tr.song td.artist { padding-left:2em; } +.add {margin: 0 0.5em 0 0; } #scan { position:absolute; right:13em; top:0em; } #scan .start { position:relative; display:inline; float:right; } diff --git a/apps/media/js/music.js b/apps/media/js/music.js index c04c579d1ca..cac16ac6ff7 100644 --- a/apps/media/js/music.js +++ b/apps/media/js/music.js @@ -15,7 +15,7 @@ $(document).ready(function(){ PlayList.play(oldSize); PlayList.render(); }); - var button=$('<input type="button" title="'+t('media','Add to playlist')+'" class="add"></input>'); + var button=$('<input type="button" title="'+t('media','Add album to playlist')+'" class="add"></input>'); button.css('background-image','url('+OC.imagePath('core','actions/play-add')+')') button.click(function(event){ event.stopPropagation(); @@ -24,6 +24,7 @@ $(document).ready(function(){ }); row.find('div.name').append(button); } + $('.add').tipsy({gravity:'n', fade:true, delayIn: 400, live:true}); Collection.display(); }); diff --git a/apps/media/js/player.js b/apps/media/js/player.js index f696b87bbde..693bf2d70bf 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -39,6 +39,7 @@ var PlayList={ PlayList.init(items[index].type,null); // init calls load that calls play }else{ PlayList.player.jPlayer("setMedia", items[PlayList.current]); + $(".jp-current-song").text(items[PlayList.current].name); items[index].playcount++; PlayList.player.jPlayer("play",time); if(index>0){ @@ -67,6 +68,8 @@ var PlayList={ PlayList.init(items[index].type,null); // init calls load that calls play } } + $(".song").removeClass("collection_playing"); + $(".jp-playlist-" + index).addClass("collection_playing"); }, init:function(type,ready){ if(!PlayList.player){ diff --git a/apps/media/js/playlist.js b/apps/media/js/playlist.js index cb7f24522a4..c6dc3db2dd4 100644 --- a/apps/media/js/playlist.js +++ b/apps/media/js/playlist.js @@ -5,6 +5,7 @@ PlayList.render=function(){ var item=PlayList.items[i]; var li=$('<li/>'); li.append(item.name); + li.attr('class', 'jp-playlist-' + i); var img=$('<img class="remove svg action" src="'+OC.imagePath('core','actions/delete')+'"/>'); img.click(function(event){ event.stopPropagation(); @@ -18,6 +19,7 @@ PlayList.render=function(){ li.addClass('song'); PlayList.parent.append(li); } + $(".jp-playlist-" + PlayList.current).addClass("collection_playing"); } PlayList.getSelected=function(){ return $('tbody td.name input:checkbox:checked').parent().parent(); diff --git a/apps/media/templates/music.php b/apps/media/templates/music.php index 6c8d740cc13..2af18fb03c9 100644 --- a/apps/media/templates/music.php +++ b/apps/media/templates/music.php @@ -17,6 +17,7 @@ <div class="jp-volume-bar"> <div class="jp-volume-bar-value"></div> </div> + <div class="jp-current-song"></div> <div class="player" id="jp-player"></div> diff --git a/lib/util.php b/lib/util.php index 4b75b0808e8..a4e26b5e420 100644 --- a/lib/util.php +++ b/lib/util.php @@ -24,7 +24,7 @@ class OC_Util { $success=@mkdir($CONFIG_DATADIRECTORY_ROOT); if(!$success) { $tmpl = new OC_Template( '', 'error', 'guest' ); - $tmpl->assign('errors',array(1=>array('error'=>"Can't create data directory (".$CONFIG_DATADIRECTORY_ROOT.")",'hint'=>"You can usually fix this by setting the owner of '".OC::$SERVERROOT."' to the user that the web server uses (".exec('whoami').")"))); + $tmpl->assign('errors',array(1=>array('error'=>"Can't create data directory (".$CONFIG_DATADIRECTORY_ROOT.")",'hint'=>"You can usually fix this by setting the owner of '".OC::$SERVERROOT."' to the user that the web server uses (".OC_Util::checkWebserverUser().")"))); $tmpl->printPage(); exit; } @@ -200,28 +200,21 @@ class OC_Util { } $CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" ); $CONFIG_DBNAME = OC_Config::getValue( "dbname", "owncloud" ); - - //try to get the username the httpd server runs on, used in hints - $stat=stat($_SERVER['DOCUMENT_ROOT']); - if(is_callable('posix_getpwuid')){ - $serverUser=posix_getpwuid($stat['uid']); - $serverUser='\''.$serverUser['name'].'\''; - }else{ - $serverUser='\'www-data\' for ubuntu/debian';//TODO: try to detect the distro and give a guess based on that - } + $serverUser=OC_Util::checkWebserverUser(); //common hint for all file permissons error messages $permissionsHint="Permissions can usually be fixed by setting the owner of the file or directory to the user the web server runs as ($serverUser)"; //check for correct file permissions if(!stristr(PHP_OS, 'WIN')){ + $permissionsModHint="Please change the permissions to 0770 so that the directory cannot be listed by other users."; $prems=substr(decoct(@fileperms($CONFIG_DATADIRECTORY_ROOT)),-3); if(substr($prems,-1)!='0'){ OC_Helper::chmodr($CONFIG_DATADIRECTORY_ROOT,0770); clearstatcache(); $prems=substr(decoct(@fileperms($CONFIG_DATADIRECTORY_ROOT)),-3); if(substr($prems,2,1)!='0'){ - $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY_ROOT.') is readable from the web<br/>','hint'=>$permissionsHint); + $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY_ROOT.') is readable for other users<br/>','hint'=>$permissionsModHint); } } if( OC_Config::getValue( "enablebackup", false )){ @@ -231,7 +224,7 @@ class OC_Util { clearstatcache(); $prems=substr(decoct(@fileperms($CONFIG_BACKUPDIRECTORY)),-3); if(substr($prems,2,1)!='0'){ - $errors[]=array('error'=>'Data directory ('.$CONFIG_BACKUPDIRECTORY.') is readable from the web<br/>','hint'=>$permissionsHint); + $errors[]=array('error'=>'Data directory ('.$CONFIG_BACKUPDIRECTORY.') is readable for other users<br/>','hint'=>$permissionsModHint); } } } @@ -257,6 +250,24 @@ class OC_Util { return $errors; } + + /** + * Try to get the username the httpd server runs on, used in hints + */ + public static function checkWebserverUser(){ + $stat=stat($_SERVER['DOCUMENT_ROOT']); + if(is_callable('posix_getpwuid')){ + $serverUser=posix_getpwuid($stat['uid']); + $serverUser='\''.$serverUser['name'].'\''; + }elseif(exec('whoami')){ + $serverUser=exec('whoami'); + }else{ + $serverUser='\'www-data\' for ubuntu/debian'; //TODO: try to detect the distro and give a guess based on that + } + return $serverUser; + } + + /** * Check if the user is logged in, redirects to home if not */ |