73 lines
3.3 KiB
Bash
Executable File
73 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
OIFS=${IFS};
|
|
base_dir="/home/clemens/html/developers/clemens/core_data/php_libraries/trunk/";
|
|
class_file="CoreLibs/Output/Form/Generate.inc";
|
|
tmp_file=${base_dir}"4dev/tmp/tmp.comp."$(echo "${class_file}" | tr \/. _);
|
|
rpl_file=${base_dir}"4dev/tmp/tmp.rpl."$(echo "${class_file}" | tr \/. _);
|
|
rm -f "${tmp_file}";
|
|
rm -f "${rpl_file}";
|
|
if [ ! -f ${class_file} ];
|
|
then
|
|
echo "Cannot find ${class_file} in current folder: $(pwd)";
|
|
exit;
|
|
fi;
|
|
cat "${class_file}" | grep "WAS :" -B 1 | while read line;
|
|
do
|
|
# if method grep for function call
|
|
found=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "METHOD:");
|
|
if [ -n "${found}" ];
|
|
then
|
|
method=$(echo "${line}" | cut -d " " -f 3);
|
|
echo "1 MET: ${method}";
|
|
# is method
|
|
if [ -n "${method}" ];
|
|
then
|
|
# the full new call
|
|
new_function_call_full=$(grep "function ${method}(" "${class_file}" | grep "function" | sed -e 's/^[ \t]*//');
|
|
# just the method name
|
|
new_function_call=$(echo "${new_function_call_full}" | sed -e 's/public //' | sed -e 's/private //' | sed -e 's/static //' | sed -e 's/function //' | cut -d "(" -f 1);
|
|
# check if func call is more than just alphanumeric (we don't need to redeclare those, functions are case insenstivie)
|
|
#
|
|
# only params (remove all = ... stuff)
|
|
new_function_call_params=$(echo "${new_function_call_full}" | cut -d "(" -f 2- | sed -e 's/)//');
|
|
old_function_call_params='';
|
|
IFS=',';
|
|
for el in ${new_function_call_params};
|
|
do
|
|
if [ -n "${old_function_call_params}" ];
|
|
then
|
|
old_function_call_params=${old_function_call_params}", ";
|
|
fi;
|
|
old_function_call_params=${old_function_call_params}$(echo "${el}" | cut -d "=" -f 1 | tr -d ' ');
|
|
done;
|
|
# cut -d "," "${new_function_call_params}" | while
|
|
fi;
|
|
fi;
|
|
# if this is a WAS
|
|
was=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "WAS :" | tr -s " ");
|
|
if [ -n "${was}" ];
|
|
then
|
|
old_function_call=$(echo "${was}" | cut -d " " -f 4)
|
|
echo "2 OLD: ${old_function_call} => ${new_function_call} [${new_function_call_full}]";
|
|
# for return write:
|
|
# rpl new -> old { new }
|
|
rpl=$(echo "${new_function_call_full}" | sed -e "s/${new_function_call}/${old_function_call}/");
|
|
new_call="${rpl}\n";
|
|
new_call=${new_call}"{\n";
|
|
new_call=${new_call}"\terror_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);\n";
|
|
new_call=${new_call}"\treturn \$this->${new_function_call}(${old_function_call_params});\n";
|
|
new_call=${new_call}"}\n";
|
|
echo -e "${new_call}" >> "${tmp_file}";
|
|
echo "3A RPL CALL: ${rpl}";
|
|
echo "3B RPL CALL: return \$this->${new_function_call}(${old_function_call_params});";
|
|
echo "4 SWT RPL : rpl '\$this->${old_function_call}' '\$this->${new_function_call}'";
|
|
# write the replace calls for old $this->old_call to $this->new_call
|
|
echo "rpl '\$this->${old_function_call}' '\$this->${new_function_call}' ##TARGET_FILE##" >> "${rpl_file}";
|
|
echo "----";
|
|
fi;
|
|
done;
|
|
IFS=${OIFS};
|
|
|
|
# __END__
|