Skip to content

Instantly share code, notes, and snippets.

@skowron-line
Last active December 19, 2015 14:39
Show Gist options
  • Save skowron-line/5970801 to your computer and use it in GitHub Desktop.
Save skowron-line/5970801 to your computer and use it in GitHub Desktop.
Kohana module tree generator
#!/bin/bash
# sudo ./module.sh <module_name>
module=$1
path[0]="modules/$module"
path[1]="modules/$module/classes"
path[2]="modules/$module/classes/controller"
path[3]="modules/$module/classes/model"
path[4]="modules/$module/views"
path[5]="modules/$module/views/$module"
path[6]="modules/$module/config"
path[7]="modules/$module/i18n"
path[8]="modules/$module/messages"
for dir in ${path[*]}
do
eval "mkdir" $dir
eval "chown skowron-line:www-data $dir"
done
files[0]="modules/$module/classes/controller/$module.php"
files[1]="modules/$module/classes/model/$module.php"
files[2]="modules/$module/config/route.php"
str='<?php defined("SYSPATH") or die("No direct script access.");'
for file in ${files[*]}
do
eval "touch $file"
eval "chown skowron-line:www-data $file"
eval "echo '$str' > $file"
done
controller=$'\n'"class Controller_${module^} extends Controller_Core {"$'\n'$'\n'"}"
model=$'\n'"class Model_${module^} extends Model {"$'\n'$'\n'"}"
route=$'\n'"return array("$'\n'$'\n'");"
eval "echo '$controller' >> ${files[0]}"
eval "echo '$model' >> ${files[1]}"
eval "echo '$route' >> ${files[2]}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment