Xaraya - identify modules
For the past 1-2 years I have been pretty much absent from Xaraya development, although still keeping half an eye on it.
Currently I am working with Xaraya again. I am pleased to see, that the 1.1.x versions have gained much stability.
While getting into it again, I have been fiddeling wirh module initializations and creating a skeleton for a new module. During this task, it would have been helpful to have a tool to find certain modules by id (I had dependecy errors pointing to module ids).
Scripts mentioned below require sh, grep, sed. Tested in a GNU Environment.
The following script can be used to identify xaraya modules by id (returns the module's name):
#!/bin/sh
modid="";
path="modules/";
usage() {
echo "modname[path]";
}
# check for module directory
if [[ $# -lt 2 ]]; then
usage;
exit 1;
fi
modid="$1";
if [[ ! -z "$2" ]]; then
path="$2";
fi
if [[ ! -d "$path" ]]; then
echo "Directory '$path' not found."
echo ""
usage;
exit 2;
fi
res=`grep -H "'id'" $path*/xarversion.php | grep $modid`;
echo "$res" | sed -e 's/\/xarversion.*$//; s/.*\///' -
exit 0;
And if you want to identify a module by name (get id) use this:
#!/bin/sh
modname="";
path="modules/";
usage() {
echo "modid[path]";
}
# check for module directory
if [[ $# -lt 2 ]]; then
usage;
exit 1;
fi
modname="$1";
if [[ ! -z "$2" ]]; then
path="$2";
fi
if [[ ! -d "$path" ]]; then
echo "Directory '$path' not found."
echo ""
usage;
exit 2;
fi
cat $path/$modname/xarversion.php | grep "'id'" | sed -e 's/^[^0-9]*\([0-9]\+\)[^0-9]*/\1/'
exit 0;