

# file item
function getitem
{
  IT="export $2="
  X=`cat $1 | grep "$IT" | grep -v '#'  | tail -1 | cut -f2-2 -d '=' 2> /dev/null`
#  X=`cat $1 | grep "$IT" | grep -v '#'  | tail -1 | cut -f2-2 -d '='`
  Y=`echo $X  | sed -e "s/\"/ /g"`
  Z=`echo $Y`
  echo "$Z"
#  echo "$Y"
}


# file item value
function setitem
{
  IT="export $2="
  VA=$3
  cp $1 $1-
  cat $1 | grep -v "$IT" > $1+ 2> /dev/null 

    if [ $? != 0 ]; then
        return 1
    fi
  
  echo "# `date` $IT" >> $1+ 2> /dev/null   
  echo -e "$IT\"$VA\"" >> $1+ 2> /dev/null 

  
  mv -f $1+ $1
  #mv -f -v $1+ $1
  # 2> /dev/null 

    if [ $? != 0 ]; then
        return 3
    fi
    
  chown qos.qos $1    

    # commented cause apache can't do it 
    #if [ $? != 0 ]; then
    #    return 4
    #fi
    

  return 0    
    
}


# shortmask 24 -> long mask 255.255.255.0
function longmask
{

LNET=$IP
IP3="`echo $IP | cut -f1-3 -d "."`.0"
IP2="`echo $IP | cut -f1-2 -d "."`.0.0"
IP1="`echo $IP | cut -f1-1 -d "."`.0.0.0"

case "$SMASK" in
  32)   LMASK="255.255.255.255" ;;
  31)   LMASK="255.255.255.254" ;;
  30)   LMASK="255.255.255.252" ;;
  29)   LMASK="255.255.255.248" ;;
  28)   LMASK="255.255.255.240" ;;
  27)   LMASK="255.255.255.224" ;;
  26)   LMASK="255.255.255.192" ;;
  25)   LMASK="255.255.255.128" ;;

  24)   LMASK="255.255.255.0" ; LNET=$IP3 ;;
  23)   LMASK="255.255.254.0" ; LNET=$IP3 ;;
  22)   LMASK="255.255.252.0"  ; LNET=$IP3;;
  21)   LMASK="255.255.248.0" ; LNET=$IP3 ;;
  20)   LMASK="255.255.240.0" ; LNET=$IP3 ;;
  19)   LMASK="255.255.224.0" ; LNET=$IP3 ;;
  18)   LMASK="255.255.192.0" ; LNET=$IP3 ;;
  17)   LMASK="255.255.128.0" ; LNET=$IP3 ;;

  16)   LMASK="255.255.0.0" ; LNET=$IP2 ;;
  15)   LMASK="255.254.0.0" ; LNET=$IP2 ;;
  14)   LMASK="255.252.0.0" ; LNET=$IP2 ;;
  13)   LMASK="255.248.0.0" ; LNET=$IP2 ;;
  12)   LMASK="255.240.0.0" ; LNET=$IP2 ;;
  11)   LMASK="255.224.0.0" ; LNET=$IP2 ;;
  10)   LMASK="255.192.0.0" ; LNET=$IP2 ;;
   9)   LMASK="255.128.0.0" ; LNET=$IP2 ;;

   8)   LMASK="255.0.0.0" ; LNET=$IP1 ;;
   7)   LMASK="254.0.0.0" ; LNET=$IP1 ;;
   6)   LMASK="252.0.0.0" ; LNET=$IP1 ;;
   5)   LMASK="248.0.0.0" ; LNET=$IP1 ;;
   4)   LMASK="240.0.0.0" ; LNET=$IP1 ;;
   3)   LMASK="224.0.0.0" ; LNET=$IP1 ;;
   2)   LMASK="192.0.0.0" ; LNET=$IP1 ;;
   1)   LMASK="128.0.0.0" ; LNET=$IP1 ;;

  *)    LMASK="0.0.0.0" ; LNET="0.0.0.0"  
esac


}

# long mask 255.255.255.0  -> shortmask 24
function shortmask
{

case "$LMASK" in
     255.255.255.255)  SMASK=32 ;;
     255.255.255.254)  SMASK=31 ;;
     255.255.255.252)  SMASK=30 ;;
     255.255.255.248)  SMASK=29 ;;
     255.255.255.240)  SMASK=28 ;;
     255.255.255.224)  SMASK=27 ;;
     255.255.255.192)  SMASK=26 ;;
     255.255.255.128)  SMASK=25 ;;

     255.255.255.0)  SMASK=24 ;;
     255.255.254.0)  SMASK=23 ;;
     255.255.252.0)  SMASK=22 ;;
     255.255.248.0)  SMASK=21 ;;
     255.255.240.0)  SMASK=20 ;;
     255.255.224.0)  SMASK=19 ;;
     255.255.192.0)  SMASK=18 ;;
     255.255.128.0)  SMASK=17 ;;

     255.255.0.0)  SMASK=16 ;;
     255.254.0.0)  SMASK=15 ;;
     255.252.0.0)  SMASK=14 ;;
     255.248.0.0)  SMASK=13 ;;
     255.240.0.0)  SMASK=12 ;;
     255.224.0.0)  SMASK=11 ;;
     255.192.0.0)  SMASK=10 ;;
     255.128.0.0)  SMASK=9 ;;

     255.0.0.0)  SMASK=8 ;;
     254.0.0.0)  SMASK=7 ;;
     252.0.0.0)  SMASK=6 ;;
     248.0.0.0)  SMASK=5 ;;
     240.0.0.0)  SMASK=4 ;;
     224.0.0.0)  SMASK=3 ;;
     192.0.0.0)  SMASK=2 ;;
     128.0.0.0)  SMASK=1 ;;

     0.0.0.0)  SMASK=0    
esac


}




function dirmod {

DI=$1 

echo -n updating rights in $DI
chown qos.qos $DI 
chmod 770 $DI 

    chown qos.qos $DI/* 
    chmod 664 $DI/*

echo " done"

}


function filemod {

FI=$1 

echo -n updating rights $FI
/bin/chown qos.qos $FI
chmod 664 $FI
echo " done"

}

function dirmodx {

DI=$1 

echo -n updating rights in $DI
chown qos.qos $DI 
chmod 755 $DI 

    chown qos.qos $DI/*
    chmod 755 $DI/*

echo " done"

}

function onep {

  IT="$2 "
  VA=$3
  cp $1 $1-
  cat $1 | grep -v  "$IT" > $1+ 2> /dev/null 

    if [ $? != 0 ]; then
        return 1
    fi
  
#  echo >> $1+ 2> /dev/null 

  echo "# `date` $IT" >> $1+ 2> /dev/null   
  cat $1 | grep "#$IT" >> $1+ 2> /dev/null 

if [ "$VA" != "" ]; then
  echo -e "$IT$VA" >> $1+ 2> /dev/null 
fi

  VA=$4
if [ "$VA" != "" ]; then
  echo -e "$IT$VA" >> $1+ 2> /dev/null 
fi

  VA=$5
if [ "$VA" != "" ]; then
  echo -e "$IT$VA" >> $1+ 2> /dev/null 
fi



#  echo >> $1+ 2> /dev/null 

  
  mv -f $1+ $1
  #mv -f -v $1+ $1
  # 2> /dev/null 

    if [ $? != 0 ]; then
        return 3
    fi
    
#  chown qos.qos $1    

    # commented cause apache can't do it 
    #if [ $? != 0 ]; then
    #    return 4
    #fi
    

  return 0    

}


