Skip to content

Instantly share code, notes, and snippets.

@luukverhoeven
Created April 22, 2018 08:29
Show Gist options
  • Save luukverhoeven/032d689d5761742dacbaa28ff71e98ab to your computer and use it in GitHub Desktop.
Save luukverhoeven/032d689d5761742dacbaa28ff71e98ab to your computer and use it in GitHub Desktop.
Moodle tool for your local machine
#!/bin/bash
# Author: Luuk Verhoeven - MoodleFreak
# Version: 1.0
# Should be linked as a alias in your bashrc or zshrc
red=`tput setaf 1`
green=`tput setaf 2`
yellow=`tput setaf 3`
magenta=`tput setaf 5`
reset=`tput sgr0`
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo "${red}Moodle Tools by MoodleFreak${reset}"
version() {
echo "${green}update plugin version:()${reset}"
newversion=$(date \+'%Y%m%d00');
find $(pwd) -maxdepth 10 -type f -name 'version.php' | while read file; do
#START
currentversion=$(grep -rnw $file -e '>version' | awk '{print $3}' | tr -dc '0-9')
echo "${yellow} - Found: ${file} - ${currentversion} ${reset}"
if [[ "$currentversion" -ge "$newversion" ]];then
# echo "Need to increase last chars instead."
newversion=$((currentversion + 1))
fi
echo "${yellow} Update to: ${newversion} ${reset}"
sed -i s/$currentversion/$newversion/g "${file}"
# END
done
}
get_component_name(){
component=$(grep -rnw "version.php" -e '>component' | awk '{print $3}' | tr -dc '[a-z\_]')
echo $component
}
# Create events template.
add_events(){
echo "${green}Add events.php${reset}"
get_component_name
here=$(pwd);
if [ ! -d $here/db ];then
mkdir $here/db
fi
# add template events
if [ ! -f "$here/db/events.php" ] ; then
cp "$SCRIPT_DIR/includes/events.php" "$here/db/events.php"
sed -i "s/NAMESPACE/$component/" "$here/db/events.php"
fi
# Add observer
if [ ! -f "$here/classes/events/user_loggedin.php" ] ; then
mkdir -p "$here/classes/events/"
cp "$SCRIPT_DIR/includes/events_user_loggedin.php" "$here/classes/events/user_loggedin.php"
sed -i "s/NAMESPACE/$component/" "$here/classes/events/user_loggedin.php"
fi
}
search(){
here=$(pwd);
echo "${green}search($here)${reset}"
grep --include=\*.{css,php,js} -rnw $(pwd) -e "$1"
}
help () {
echo "functions available:"
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}'
}
# Mapping to functions above.
if [ "_$1" = "_" ]; then
help
else
"$@"
tput sgr0 # Reset colors to "normal."
echo
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment