/**
 * axWFactoryRemoveVariable
 *
 * Ajax call, remove
 *
 * @access public
 * @author eloy@wikia
 *
 * @return string: json string with array of variables
 */
function axWFactoryRemoveVariable()
{
    global $wgUser, $wgRequest;
    $error = 0;
    $return = "";
    if (!$wgUser->isAllowed('wikifactory')) {
        $error++;
        $return = Wikia::errormsg("You are not allowed to change variable value");
    } else {
        $cv_id = $wgRequest->getVal('varId');
        $city_id = $wgRequest->getVal('cityid');
        $tag_name = $wgRequest->getVal('tagName');
        $tag_wiki_count = 0;
        $form_id = $wgRequest->getVal("formId", null);
        $reason = $wgRequest->getVal("reason", null);
        if (!WikiFactory::removeVarById($cv_id, $city_id, $reason)) {
            $error++;
            $return = Wikia::errormsg("Variable not removed because of problems with database. Try again.");
        } else {
            $return = Wikia::successmsg(" Value of variable was removed ");
            if (!empty($tag_name)) {
                // apply changes to all wikis with given tag
                $tagsQuery = new WikiFactoryTagsQuery($tag_name);
                foreach ($tagsQuery->doQuery() as $tagged_wiki_id) {
                    if (WikiFactory::removeVarByID($cv_id, $tagged_wiki_id)) {
                        $tag_wiki_count++;
                    }
                }
                $return .= Wikia::successmsg(" ({$tag_wiki_count} wikis affected)");
            }
        }
    }
    if (empty($form_id)) {
        $div_name = "wf-variable-parse";
    } else {
        $div_name = "wf-variable-parse-{$form_id}";
    }
    return json_encode(array("div-body" => $return, "is-error" => $error, "tag-name" => $tag_name, "tag-wikis" => $tag_wiki_count, "div-name" => $div_name));
}