/** * 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)); }