CADBiSNew::instance()->script_src('js/ajax/buffer.js');
CADBiSNew::instance()->link_href('skins/smadbis/css/grid.css');
$BILL = new CBilling($GV["dbhost"], $GV["dbname"], $GV["dblogin"], $GV["dbpassword"]);
$cats = $BILL->GetUrlCategoriesAssoc();
// any action on selected keywords
if (isset($_POST['selected_kwds'])) {
    $selkwds = $_POST['selected_kwds'];
    foreach ($selkwds as $word => $on) {
        if (isset($_POST['btnLeave'])) {
            $BILL->ResolveUrlCategoryConflict($word);
        } elseif (isset($_POST['btnDelete'])) {
            $BILL->DeleteUrlCategoryKeyword($word);
            $BILL->ResolveUrlCategoryConflict($word);
        } elseif (isset($_POST['btnReplace'])) {
            $keyword = $BILL->GetUrlCategoryConflictKeyword($word);
            $BILL->ReplaceUrlCategoryKeyword($word, $keyword['forcid']);
            $BILL->ResolveUrlCategoryConflict($word);
        } elseif (isset($_POST['btnUnsense'])) {
            $BILL->AddUrlCategoryUnsenseword($word);
            $BILL->DeleteUrlCategoryKeyword($word);
            $BILL->ResolveUrlCategoryConflict($word);
        }
    }
}
class conflicts_act_formatter extends grid_formatter
{
    public function format($data, $type, $number = 0, $columns = null)
    {
        return '<input type="checkbox" name="selected_kwds[' . $data['keyword'] . '][]" />';
    }
}
 if (isset($_GET['set']) || isset($_POST['btnAttach'])) {
     if ($setcid > 0 && !empty($url)) {
         $BILL->AddUrlCategoryMatch($url, $setcid);
     }
 }
 // Applying conflicts resolves
 if (isset($_POST['btnResolveConflicts'])) {
     $actionfor = $_POST['actionfor'];
     foreach ($actionfor as $word => $action) {
         switch ($action) {
             case 'delete':
                 $BILL->DeleteUrlCategoryKeyword($word);
                 $BILL->ResolveUrlCategoryConflict($word);
                 break;
             case 'replace':
                 $BILL->ReplaceUrlCategoryKeyword($word, $setcid);
                 $BILL->ResolveUrlCategoryConflict($word);
                 break;
             case 'unsense':
                 $BILL->DeleteUrlCategoryKeyword($word);
                 $BILL->AddUrlCategoryUnsenseword($word);
                 $BILL->ResolveUrlCategoryConflict($word);
                 break;
         }
     }
 }
 // Recognize content
 if (isset($_POST['btnSubmit']) || isset($_GET['manualcheck'])) {
     $uswords = $BILL->GetUrlCategoriesUnsenseWords();
     $result = Recognizer::recognizeByMyself($url, $cats, $uswords, $kwds_weights, isset($_REQUEST['debug']));
 }