// get the number of columns for the table $colspan = sizeof($languages) + 2; print_form_header('phrase', 'manageorphans'); print_table_header($vbphrase['find_orphan_phrases'], $colspan); // make the column headings $headings = array($vbphrase['varname']); foreach ($languages as $language) { $headings[] = $language['title']; } $headings[] = '<input type="button" class="button" value="' . $vbphrase['keep_all'] . '" onclick="js_check_all_option(this.form, 1)" /> <input type="button" class="button" value="' . $vbphrase['delete_all'] . '" onclick="js_check_all_option(this.form, 0)" />'; print_cells_row($headings, 1); // init the counter for our id attributes in label tags $i = 0; foreach ($orphans as $key => $languageids) { // split the array key fetch_varname_fieldname($key, $varname, $fieldname); // make the first cell $cell = array(construct_wrappable_varname($varname, 'font-weight:bold;') . " <dfn>" . construct_phrase($vbphrase['x_phrases'], $phrasetypes["{$fieldname}"]['title']) . "</dfn>"); // either display a tick or not depending on whether a translation exists foreach ($languages as $_languageid => $language) { if (isset($languageids["{$_languageid}"])) { $yesno = 'yes'; } else { $yesno = 'no'; } $cell[] = "<img src=\"../cpstyles/" . $vbulletin->options['cpstylefolder'] . "/cp_tick_{$yesno}.gif\" alt=\"\" />"; } $i++; $varname = urlencode($varname); $cell[] = "\n\t\t<label for=\"k_{$i}\"><input type=\"radio\" id=\"k_{$i}\" name=\"phr[{$varname}@{$fieldname}]\" value=\"1\" tabindex=\"1\" />{$vbphrase['keep']}</label>\n\t\t<label for=\"d_{$i}\"><input type=\"radio\" id=\"d_{$i}\" name=\"phr[{$varname}@{$fieldname}]\" value=\"0\" tabindex=\"1\" checked=\"checked\" />{$vbphrase['delete']}</label>\n\t\t"; print_cells_row($cell);
public function deleteOrphans($params, $db, $check_only = false) { if ($check_only) { return isset($params['del']); } else { $delcondition = array(); foreach ($params['del'] as $key) { fetch_varname_fieldname($key, $varname, $fieldname); $delcondition[] = "(varname = '" . $db->escape_string($varname) . "' AND fieldname = '" . $db->escape_string($fieldname) . "')"; } $sql = "\n\t\t\t\tDELETE FROM " . TABLE_PREFIX . "phrase\n\t\t\t\tWHERE " . implode("\nOR ", $delcondition); $resultclass = 'vB_dB_' . $this->db_type . '_result'; $result = new $resultclass($db, $sql); return $result; } }