#!/bin/bash

WDIR=/web

Fver=libraries/joomla/version.php

Ffile=libraries/joomla/filesystem/file.php
Vfile=19177

Fmedia=administrator/components/com_media/helpers/media.php
Vmedia=14401

if ! [ -d "$WDIR" ]; then
    echo "$WDIR doesn't exist."
fi

vhdirs=`find $WDIR/*/*/ -mindepth 1 -maxdepth 1 -type d`

for vhdir in $vhdirs; do

    if [ -f $vhdir/$Fver ]; then
	JVER=`grep -e "var .RELEASE" $vhdir/$Fver |sed "s/.*'\(.*\)';/\1/"`
	if [ "$JVER" == "1.5" ];then
	    echo "--- $vhdir is an old Joomla v1.5"
	    JFV=`grep "@version" $vhdir/$Ffile |sed "s/.*file\.php \([0-9]*\).*/\1/"`
	    JMV=`grep "@version" $vhdir/$Fmedia |sed "s/.*media\.php \([0-9]*\).*/\1/"`
	    if [ $JFV -lt $Vfile ];then
		echo "file.php version: $JFV patching..."
		if [ "$1" == "SURE" ]; then
		    mv $vhdir/$Ffile $vhdir/$Ffile.orig
		    cp ./fixfiles/file.php $vhdir/$Ffile
		    chown --reference $vhdir/$Ffile.orig $vhdir/$Ffile
		else
		    echo "(nothing done)"
		fi
	    else
		echo "file.php already patched ($JFV,$Vfile)"
	    fi
	    if [ $JMV -lt $Vmedia ];then
		echo "media.php version: $JMV patching..."
		if [ "$1" == "SURE" ]; then
		    mv $vhdir/$Fmedia $vhdir/$Fmedia.orig
		    cp ./fixfiles/media.php $vhdir/$Fmedia
		    chown --reference $vhdir/$Fmedia.orig $vhdir/$Fmedia
		else
		    echo "(nothing done)"
		fi
	    else
		echo "media.php already patched ($JMV,$Vmedia)"
	    fi
	fi
    fi

done

if [ "$1" != "SURE" ]; then
    echo "*** Nothing was done. Use SURE as parameter to patch."
fi
