Monday, January 15, 2007

Disable Preferences Menu in Ampache

A friend of mine (you know who you are :D) asked me about how to disable preferences menu in Ampache thought this should be easy, there should be a config that we can turn off or turn on to set this item. Unfortunately, my thought was wrong. There is no configuration for that.

Then I download Ampache tarball and look through it. I am very eager to solve this problem, because it will also refresh my rusty PHP programming skills. At the first round, I couldn't find where Ampache store the preferences menu. The programming style is quiet hard to understand, may be that's because I have never done PHP programming anymore for years.:D

Next, I use "grep" to search for "preferences" words in the whole Ampache package :

grep -r "preferences.php" *

I check the results one by one. One result turn my light on :

I open up that file ( and read the code. And it is the correct one.

My first plan was to disable the whole references to "preferences.php" and it was very easy to do.

But later I thought, wouldn't it be better if I only disable "preferences" for ordinary users.

So then I create this simple patch.

To apply this patch, put the patch on the ampache/templates directory. Here is the setting in
my system (in ampache/templates directory) :

$ ll sidebar.*
-rw-r--r-- 1 tedi users 1010 2007-01-15 23:14
-rw-r--r-- 1 tedi users 8800 2007-01-15 23:11

Then type the following command (make sure you are in the templates):

$ patch -p0 <
patching file

Here are some screenshots after I apply the patch. I login as "user" and "admin". You should see the differences. :D

No comments: