]> git.plutz.net Git - busy/blobdiff - actions/wikiedit.sh
upgraded to fit new shcgi revision, slightly better input validation, switched to...
[busy] / actions / wikiedit.sh
index 4c614093235f00e11b0ed96c8161a458390849df..6033604bbcae4f375dd8912974a37cf662fcdfca 100755 (executable)
 # You should have received a copy of the GNU Affero General Public License
 # along with Busy.  If not, see <http://www.gnu.org/licenses/>.
 
-$ACL_WIKIEDIT || echo "Location: ${proto}://${HTTP_HOST}/?p=Error&i=noaccess\n\n"
+$ACL_WIKIEDIT || echo "Location: ?p=Error&i=noaccess\n\n"
 $ACL_WIKIEDIT || exit 0
 
-info="$(echo "$_GET[\"i\"]" |grep -Ex '[0-9]{10}_[0-9]{3}')"
+info="$(printf %s\\n "${_GET[i]}" |grep -Ex '[0-9]{10}_[0-9]{3}')"
 [ -f "$_DATA/Wiki/$info.lock" ] && rm "$_DATA/Wiki/$info.lock"
 
 cgi_post
-page="$_POST[\"page\"]"
-[ -n "$_POST[\"cancel\"]" ] && cancel=true
+page="${_POST[page]}"
+[ -n "${_POST[cancel]}" ] && cancel=true
 
 [ -z "$cancel" -a -f "$_DATA/Wiki/$info" ] && mv "$_DATA/Wiki/$info" "$_DATA/Wiki/$info.$(date +%s)"
 [ -z "$cancel" ] && echo -e "${page}" >"$_DATA/Wiki/$info"
 
-echo -n "Location: //${HTTP_HOST}/?p=Wiki&i=$info\n\n"
+echo -n "Location: ?p=Wiki&i=$info\n\n"