Пример #1
0
                $days = "-";
            }
            $score = $record['Score'];
            if ($score < 0) {
                $score = '<span class="scorered">0 <img src="icn/status-busy.png" title="Test today!" alt="Test today!" /></span>';
            } else {
                $score = '<span class="scoregreen">' . floor($score) . ($record['Score2'] < 0 ? ' <img src="icn/status-away.png" title="Test tomorrow!" alt="Test tomorrow!" />' : ' <img src="icn/status.png" title="-" alt="-" />') . '</span>';
            }
            echo '<tr>';
            echo '<td class="td1 center"><a name="rec' . $record['WoID'] . '"><input name="marked[]" type="checkbox" class="markcheck" value="' . $record['WoID'] . '" ' . checkTest($record['WoID'], 'marked') . ' /></a></td>';
            echo '<td class="td1 center" nowrap="nowrap">&nbsp;<a href="' . $_SERVER['PHP_SELF'] . '?chg=' . $record['WoID'] . '"><img src="icn/sticky-note--pencil.png" title="Edit" alt="Edit" /></a>&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?del=' . $record['WoID'] . '"><img src="icn/minus-button.png" title="Delete" alt="Delete" /></a>&nbsp;</td>';
            if ($currentlang == '') {
                echo '<td class="td1 center">' . tohtml($record['LgName']) . '</td>';
            }
            echo '<td class="td1 "><span' . ($record['LgRightToLeft'] ? ' dir="rtl" ' : '') . '>' . tohtml($record['WoText']) . '</span>' . ($record['WoRomanization'] != '' ? ' / <span id="roman' . $record['WoID'] . '" class="edit_area clickedit">' . tohtml(repl_tab_nl($record['WoRomanization'])) . '</span>' : ' / <span id="roman' . $record['WoID'] . '" class="edit_area clickedit">*</span>') . '</td>';
            echo '<td class="td1"><span id="trans' . $record['WoID'] . '" class="edit_area clickedit">' . tohtml(repl_tab_nl($record['WoTranslation'])) . '</span> <span class="smallgray2">' . tohtml($record['taglist']) . '</span></td>';
            echo '<td class="td1 center"><b>' . ($record['SentOK'] != 0 ? '<img src="icn/status.png" title="' . tohtml($record['WoSentence']) . '" alt="Yes" />' : '<img src="icn/status-busy.png" title="(No valid sentence)" alt="No" />') . '</b></td>';
            echo '<td class="td1 center" title="' . tohtml(get_status_name($record['WoStatus'])) . '">' . tohtml(get_status_abbr($record['WoStatus'])) . ($record['WoStatus'] < 98 ? '/' . $days : '') . '</td>';
            echo '<td class="td1 center" nowrap="nowrap">' . $score . '</td>';
            if ($currentsort == 6) {
                echo '<td class="td1 center" nowrap="nowrap">' . $record['textswordcount'] . '</td>';
            }
            echo "</tr>\n";
        }
        mysql_free_result($res);
        ?>
</table>
</form>

<script type="text/javascript">
//<![CDATA[
Пример #2
0
include "utilities.inc.php";
// INSERT
if (isset($_REQUEST['op'])) {
    if ($_REQUEST['op'] == 'Save') {
        $text = trim(prepare_textdata($_REQUEST["WoText"]));
        $textlc = mb_strtolower($text, 'UTF-8');
        $translation_raw = repl_tab_nl(getreq("WoTranslation"));
        if ($translation_raw == '') {
            $translation = '*';
        } else {
            $translation = $translation_raw;
        }
        $titeltext = "New Term: " . tohtml($textlc);
        pagestart_nobody($titeltext);
        echo '<h4><span class="bigger">' . $titeltext . '</span></h4>';
        $message = runsql('insert into words (WoLgID, WoTextLC, WoText, ' . 'WoStatus, WoTranslation, WoSentence, WoRomanization, WoStatusChanged,' . make_score_random_insert_update('iv') . ') values( ' . $_REQUEST["WoLgID"] . ', ' . convert_string_to_sqlsyntax($textlc) . ', ' . convert_string_to_sqlsyntax($text) . ', ' . $_REQUEST["WoStatus"] . ', ' . convert_string_to_sqlsyntax($translation) . ', ' . convert_string_to_sqlsyntax(repl_tab_nl($_REQUEST["WoSentence"])) . ', ' . convert_string_to_sqlsyntax($_REQUEST["WoRomanization"]) . ', NOW(), ' . make_score_random_insert_update('id') . ')', "Term saved");
        if (substr($message, 0, 22) == 'Error: Duplicate entry') {
            $message = 'Error: Duplicate entry for ' . $textlc;
        }
        $wid = get_last_key();
        $hex = strToClassName(prepare_textdata($textlc));
        saveWordTags($wid);
        $showAll = getSetting('showallwords');
        $showAll = $showAll == '' ? 1 : ((int) $showAll != 0 ? 1 : 0);
        ?>

<p><?php 
        echo tohtml($message);
        ?>
</p>
Пример #3
0
        die("Error: Term ID missing");
    }
    $sql = 'select WoText, WoLgID, WoTranslation, WoSentence, WoRomanization, WoStatus from words where WoID = ' . $wid;
    $res = mysql_query($sql);
    if ($res == FALSE) {
        die("Invalid Query: {$sql}");
    }
    $record = mysql_fetch_assoc($res);
    if ($record) {
        $term = $record['WoText'];
        $lang = $record['WoLgID'];
        $transl = repl_tab_nl($record['WoTranslation']);
        if ($transl == '*') {
            $transl = '';
        }
        $sentence = repl_tab_nl($record['WoSentence']);
        $rom = $record['WoRomanization'];
        $status = $record['WoStatus'];
    } else {
        die("Error: No results");
    }
    mysql_free_result($res);
    $termlc = mb_strtolower($term, 'UTF-8');
    $titeltext = "Edit Term: " . tohtml($term);
    pagestart_nobody($titeltext);
    $scrdir = getScriptDirectionTag($lang);
    ?>
	
<form name="editword" class="validate" action="<?php 
    echo $_SERVER['PHP_SELF'];
    ?>
Пример #4
0
        $sql = 'select WoTranslation, WoSentence, WoRomanization, WoStatus from ' . $tbpref . 'words where WoID = ' . $wid;
        $res = do_mysql_query($sql);
        if ($record = mysql_fetch_assoc($res)) {
            $status = $record['WoStatus'];
            if ($fromAnn == '') {
                if ($status >= 98) {
                    $status = 1;
                }
            }
            $sentence = repl_tab_nl($record['WoSentence']);
            if ($sentence == '' && isset($_REQUEST['tid']) && isset($_REQUEST['ord'])) {
                $seid = get_first_value("select TiSeID as value from " . $tbpref . "textitems where TiTxID = " . $_REQUEST['tid'] . " and TiWordCount = 1 and TiOrder = " . $_REQUEST['ord']);
                $sent = getSentence($seid, $termlc, (int) getSettingWithDefault('set-term-sentence-count'));
                $sentence = repl_tab_nl($sent[1]);
            }
            $transl = repl_tab_nl($record['WoTranslation']);
            if ($transl == '*') {
                $transl = '';
            }
            ?>
		
			<form name="editword" class="validate" action="<?php 
            echo $_SERVER['PHP_SELF'];
            ?>
" method="post">
			<input type="hidden" name="WoLgID" id="langfield" value="<?php 
            echo $lang;
            ?>
" />
			<input type="hidden" name="fromAnn" value="<?php 
            echo $fromAnn;
Пример #5
0
     adjust_autoincr('texts', 'TxID');
     adjust_autoincr('sentences', 'SeID');
     adjust_autoincr('textitems', 'TiID');
 } elseif ($markaction == 'addtag') {
     $message = addtexttaglist($actiondata, $list);
 } elseif ($markaction == 'deltag') {
     $message = removetexttaglist($actiondata, $list);
     header("Location: edit_texts.php");
     exit;
 } elseif ($markaction == 'setsent') {
     $count = 0;
     $sql = "select WoID, WoTextLC, min(TiSeID) as SeID from " . $tbpref . "words, " . $tbpref . "textitems where TiLgID = WoLgID and TiTextLC = WoTextLC and TiTxID in " . $list . " and ifnull(WoSentence,'') not like concat('%{',WoText,'}%') group by WoID order by WoID, min(TiSeID)";
     $res = do_mysql_query($sql);
     while ($record = mysql_fetch_assoc($res)) {
         $sent = getSentence($record['SeID'], $record['WoTextLC'], (int) getSettingWithDefault('set-term-sentence-count'));
         $count += runsql('update ' . $tbpref . 'words set WoSentence = ' . convert_string_to_sqlsyntax(repl_tab_nl($sent[1])) . ' where WoID = ' . $record['WoID'], '');
     }
     mysql_free_result($res);
     $message = 'Term Sentences set from Text(s): ' . $count;
 } elseif ($markaction == 'rebuild') {
     $count = 0;
     $sql = "select TxID, TxLgID from " . $tbpref . "texts where TxID in " . $list;
     $res = do_mysql_query($sql);
     while ($record = mysql_fetch_assoc($res)) {
         $id = $record['TxID'];
         $message2 = runsql('delete from ' . $tbpref . 'sentences where SeTxID = ' . $id, "Sentences deleted");
         $message3 = runsql('delete from ' . $tbpref . 'textitems where TiTxID = ' . $id, "Text items deleted");
         adjust_autoincr('sentences', 'SeID');
         adjust_autoincr('textitems', 'TiID');
         splitCheckText(get_first_value('select TxText as value from ' . $tbpref . 'texts where TxID = ' . $id), $record['TxLgID'], $id);
         $count++;
Пример #6
0
                echo 'status' . $record['WoStatus'];
                ?>
 TERM<?php 
                echo strToClassName($record['TiTextLC']);
                ?>
" data_pos="<?php 
                echo $currcharcount;
                ?>
" data_order="<?php 
                echo $record['TiOrder'];
                ?>
" data_wid="<?php 
                echo $record['WoID'];
                ?>
" data_trans="<?php 
                echo tohtml(repl_tab_nl($record['WoTranslation']) . getWordTagList($record['WoID'], ' ', 1, 0));
                ?>
" data_rom="<?php 
                echo tohtml($record['WoRomanization']);
                ?>
" data_status="<?php 
                echo $record['WoStatus'];
                ?>
" data_mw2="<?php 
                echo tohtml($titext[2]);
                ?>
" data_mw3="<?php 
                echo tohtml($titext[3]);
                ?>
" data_mw4="<?php 
                echo tohtml($titext[4]);
Пример #7
0
function splitCheckText($text, $lid, $id)
{
    // $id = -1     => Check, return protocol
    // $id = -2     => Only return sentence array
    // $id = TextID => Split: insert sentences/textitems entries in DB
    global $tbpref;
    $r = '';
    $sql = "select * from " . $tbpref . "languages where LgID=" . $lid;
    $res = do_mysql_query($sql);
    $record = mysql_fetch_assoc($res);
    if ($record == FALSE) {
        my_die("Language data not found: {$sql}");
    }
    $removeSpaces = $record['LgRemoveSpaces'];
    $splitEachChar = $record['LgSplitEachChar'];
    $splitSentence = $record['LgRegexpSplitSentences'];
    $noSentenceEnd = $record['LgExceptionsSplitSentences'];
    $termchar = $record['LgRegexpWordCharacters'];
    $replace = explode("|", $record['LgCharacterSubstitutions']);
    $rtlScript = $record['LgRightToLeft'];
    mysql_free_result($res);
    $s = prepare_textdata($text);
    $s = str_replace("\n", " ¶ ", $s);
    $s = str_replace("\t", " ", $s);
    $s = trim($s);
    if ($splitEachChar) {
        $s = preg_replace('/([^\\s])/u', "\$1 ", $s);
    }
    $s = preg_replace('/\\s{2,}/u', ' ', $s);
    if ($id == -1) {
        $r .= "<div style=\"margin-right:50px;\"><h4>Text</h4><p " . ($rtlScript ? 'dir="rtl"' : '') . ">" . str_replace("¶", "<br /><br />", tohtml($s)) . "</p>";
    }
    $s = str_replace('{', '[', $s);
    // because of sent. spc. char
    $s = str_replace('}', ']', $s);
    foreach ($replace as $value) {
        $fromto = explode("=", trim($value));
        if (count($fromto) >= 2) {
            $s = str_replace(trim($fromto[0]), trim($fromto[1]), $s);
        }
    }
    $s = trim($s);
    if ($noSentenceEnd != '') {
        $s = preg_replace('/(' . $noSentenceEnd . ')\\s/u', '$1‧', $s);
    }
    $s = preg_replace('/([' . $splitSentence . '¶])\\s/u', "\$1\n", $s);
    $s = str_replace(" ¶\n", "\n¶\n", $s);
    $s = str_replace('‧', ' ', $s);
    if ($s == '') {
        $textLines = array($s);
    } else {
        $s = explode("\n", $s);
        $l = count($s);
        for ($i = 0; $i < $l; $i++) {
            $s[$i] = trim($s[$i]);
            if ($s[$i] != '') {
                $pos = strpos($splitSentence, $s[$i]);
                while ($pos !== false && $i > 0) {
                    $s[$i - 1] .= " " . $s[$i];
                    for ($j = $i + 1; $j < $l; $j++) {
                        $s[$j - 1] = $s[$j];
                    }
                    array_pop($s);
                    $l = count($s);
                    $pos = strpos($splitSentence, $s[$i]);
                }
            }
        }
        $l = count($s);
        $textLines = array();
        for ($i = 0; $i < $l; $i++) {
            $zz = trim($s[$i]);
            if ($zz != '') {
                $textLines[] = $zz;
            }
        }
    }
    if ($id == -2) {
        ////////////////////////////////////
        // Only return sentence array
        return $textLines;
    }
    $lineWords = array();
    if ($id == -1) {
        ////////////////////////////////////
        // Check, return protocol
        $wordList = array();
        $wordSeps = array();
        $r .= "<h4>Sentences</h4><ol>";
        $sentNumber = 0;
        foreach ($textLines as $value) {
            $r .= "<li " . ($rtlScript ? 'dir="rtl"' : '') . ">" . tohtml(remove_spaces($value, $removeSpaces)) . "</li>";
            $lineWords[$sentNumber] = preg_split('/([^' . $termchar . ']{1,})/u', $value, -1, PREG_SPLIT_DELIM_CAPTURE);
            $l = count($lineWords[$sentNumber]);
            for ($i = 0; $i < $l; $i++) {
                $term = mb_strtolower($lineWords[$sentNumber][$i], 'UTF-8');
                if ($term != '') {
                    if ($i % 2 == 0) {
                        if (array_key_exists($term, $wordList)) {
                            $wordList[$term][0]++;
                            $wordList[$term][1][] = $sentNumber;
                        } else {
                            $wordList[$term] = array(1, array($sentNumber));
                        }
                    } else {
                        $ww = remove_spaces($term, $removeSpaces);
                        if (array_key_exists($ww, $wordSeps)) {
                            $wordSeps[$ww]++;
                        } else {
                            $wordSeps[$ww] = 1;
                        }
                    }
                }
            }
            $sentNumber += 1;
        }
        $r .= "</ol><h4>Word List <span class=\"red2\">(red = already saved)</span></h4><ul>";
        ksort($wordList);
        $anz = 0;
        foreach ($wordList as $key => $value) {
            $trans = get_first_value("select WoTranslation as value from " . $tbpref . "words where WoLgID = " . $lid . " and WoTextLC = " . convert_string_to_sqlsyntax($key));
            if (!isset($trans)) {
                $trans = "";
            }
            if ($trans == "*") {
                $trans = "";
            }
            if ($trans != "") {
                $r .= "<li " . ($rtlScript ? 'dir="rtl"' : '') . "><span class=\"red2\">[" . tohtml($key) . "] — " . $value[0] . " - " . tohtml(repl_tab_nl($trans)) . "</span></li>";
            } else {
                $r .= "<li " . ($rtlScript ? 'dir="rtl"' : '') . ">[" . tohtml($key) . "] — " . $value[0] . "</li>";
            }
            $anz++;
        }
        $r .= "</ul><p>TOTAL: " . $anz . "</p><h4>Non-Word List</h4><ul>";
        if (array_key_exists('', $wordSeps)) {
            unset($wordSeps['']);
        }
        ksort($wordSeps);
        $anz = 0;
        foreach ($wordSeps as $key => $value) {
            $r .= "<li>[" . str_replace(" ", "<span class=\"backgray\">&nbsp;</span>", tohtml($key)) . "] — " . $value . "</li>";
            $anz++;
        }
        $r .= "</ul><p>TOTAL: " . $anz . "</p></div>";
        return $r;
    }
    ////////////////////////////////////
    // Split: insert sentences/textitems entries in DB
    $sentNumber = 0;
    $lfdnr = 0;
    foreach ($textLines as $value) {
        $dummy = runsql('INSERT INTO ' . $tbpref . 'sentences (SeLgID, SeTxID, SeOrder, SeText) VALUES (' . $lid . ',' . $id . ',' . ($sentNumber + 1) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($value . ' ', $removeSpaces)) . ')', ' ');
        $sentid = get_last_key();
        $lineWords[$sentNumber] = preg_split('/([^' . $termchar . ']+)/u', $value . ' ', null, PREG_SPLIT_DELIM_CAPTURE);
        $l = count($lineWords[$sentNumber]);
        $sqltext = 'INSERT INTO ' . $tbpref . 'textitems (TiLgID, TiTxID, TiSeID, TiOrder, TiWordCount, TiText, TiTextLC, TiIsNotWord) VALUES ';
        $lfdnr1 = 0;
        for ($i = 0; $i < $l; $i++) {
            $term = mb_strtolower($lineWords[$sentNumber][$i], 'UTF-8');
            $rest2 = '';
            $rest3 = '';
            $rest4 = '';
            $rest5 = '';
            $rest6 = '';
            $rest7 = '';
            $rest8 = '';
            $rest9 = '';
            $restlc2 = '';
            $restlc3 = '';
            $restlc4 = '';
            $restlc5 = '';
            $restlc6 = '';
            $restlc7 = '';
            $restlc8 = '';
            $restlc9 = '';
            if ($term != '') {
                if ($i % 2 == 0) {
                    $isnotwort = 0;
                    $rest = $lineWords[$sentNumber][$i];
                    $cnt = 0;
                    for ($j = $i + 1; $j < $l; $j++) {
                        if ($lineWords[$sentNumber][$j] != '') {
                            $rest .= $lineWords[$sentNumber][$j];
                            $cnt++;
                            if ($cnt == 2) {
                                $rest2 = $rest;
                                $restlc2 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 4) {
                                $rest3 = $rest;
                                $restlc3 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 6) {
                                $rest4 = $rest;
                                $restlc4 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 8) {
                                $rest5 = $rest;
                                $restlc5 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 10) {
                                $rest6 = $rest;
                                $restlc6 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 12) {
                                $rest7 = $rest;
                                $restlc7 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 14) {
                                $rest8 = $rest;
                                $restlc8 = mb_strtolower($rest, 'UTF-8');
                            }
                            if ($cnt == 16) {
                                $rest9 = $rest;
                                $restlc9 = mb_strtolower($rest, 'UTF-8');
                                break;
                            }
                        }
                    }
                } else {
                    $isnotwort = 1;
                }
                $lfdnr++;
                $lfdnr1++;
                if ($lfdnr1 > 1) {
                    $sqltext .= ',';
                }
                $sqltext .= '(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 1, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($lineWords[$sentNumber][$i], $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($term, $removeSpaces)) . ',' . $isnotwort . ')';
                if ($isnotwort == 0) {
                    if ($rest2 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 2, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest2, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc2, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest3 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 3, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest3, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc3, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest4 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 4, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest4, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc4, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest5 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 5, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest5, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc5, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest6 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 6, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest6, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc6, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest7 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 7, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest7, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc7, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest8 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 8, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest8, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc8, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                    if ($rest9 != '') {
                        $sqltext .= ',(' . $lid . ',' . $id . ',' . $sentid . ',' . $lfdnr . ', 9, ' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($rest9, $removeSpaces)) . ',' . convert_string_to_sqlsyntax_notrim_nonull(remove_spaces($restlc9, $removeSpaces)) . ',' . $isnotwort . ')';
                    }
                }
            }
        }
        if ($lfdnr > 0) {
            $dummy = runsql($sqltext, '');
        }
        $sentNumber += 1;
    }
}
Пример #8
0
***************************************************************/
include "connect.inc.php";
include "settings.inc.php";
include "utilities.inc.php";
$tid = $_REQUEST['tid'];
$wid = $_REQUEST['wid'];
$status = $_REQUEST['status'];
$sql = 'SELECT WoText, WoTranslation, WoRomanization FROM words where WoID = ' . $wid;
$res = mysql_query($sql);
if ($res == FALSE) {
    die("Invalid Query: {$sql}");
}
$record = mysql_fetch_assoc($res);
if ($record) {
    $word = $record['WoText'];
    $trans = repl_tab_nl($record['WoTranslation']) . getWordTagList($wid, ' ', 1, 0);
    $roman = $record['WoRomanization'];
} else {
    die("Error: No results");
}
mysql_free_result($res);
pagestart("Term: " . $word, false);
$m1 = runsql('update words set WoStatus = ' . $_REQUEST['status'] . ', WoStatusChanged = NOW(),' . make_score_random_insert_update('u') . ' where WoID = ' . $wid, 'Status changed');
echo '<p>OK, this term has status ' . get_colored_status_msg($status) . ' from now!</p>';
?>
<script type="text/javascript">
//<![CDATA[
var context = window.parent.frames['l'].document;
var contexth = window.parent.frames['h'].document;
var status = '<?php 
echo $status;
Пример #9
0
require_once 'settings.inc.php';
require_once 'connect.inc.php';
require_once 'dbutils.inc.php';
require_once 'utilities.inc.php';
$value = isset($_POST['value']) ? $_POST['value'] : "";
$value = trim($value);
$id = isset($_POST['id']) ? $_POST['id'] : "";
if (substr($id, 0, 5) == "trans") {
    $id = substr($id, 5);
    if ($value == '') {
        $value = '*';
    }
    $message = runsql('update ' . $tbpref . 'words set WoTranslation = ' . convert_string_to_sqlsyntax(repl_tab_nl($value)) . ' where WoID = ' . $id, "");
    echo get_first_value("select WoTranslation as value from " . $tbpref . "words where WoID = " . $id);
    exit;
}
if (substr($id, 0, 5) == "roman") {
    if ($value == '*') {
        $value = '';
    }
    $id = substr($id, 5);
    $message = runsql('update ' . $tbpref . 'words set WoRomanization = ' . convert_string_to_sqlsyntax(repl_tab_nl($value)) . ' where WoID = ' . $id, "");
    $value = get_first_value("select WoRomanization as value from " . $tbpref . "words where WoID = " . $id);
    if ($value == '') {
        echo '*';
    } else {
        echo $value;
    }
    exit;
}
echo "ERROR - please refresh page!";
Пример #10
0
function checkText($text, $lid)
{
    $r = '';
    $sql = "select * from languages where LgID=" . $lid;
    $res = mysql_query($sql);
    if ($res == FALSE) {
        die("Invalid Query: {$sql}");
    }
    $record = mysql_fetch_assoc($res);
    if ($record == FALSE) {
        die("No results: {$sql}");
    }
    $removeSpaces = $record['LgRemoveSpaces'];
    // echodebug($removeSpaces,'$removeSpaces');
    $splitEachChar = $record['LgSplitEachChar'];
    // echodebug($splitEachChar,'$splitEachChar');
    $splitSentence = $record['LgRegexpSplitSentences'];
    // echodebug($splitSentence,'$splitSentence');
    $noSentenceEnd = $record['LgExceptionsSplitSentences'];
    // echodebug($noSentenceEnd,'$noSentenceEnd');
    $termchar = $record['LgRegexpWordCharacters'];
    // echodebug($termchar,'$termchar');
    $replace = explode("|", $record['LgCharacterSubstitutions']);
    // echodebug($replace,'$replace');
    $rtlScript = $record['LgRightToLeft'];
    mysql_free_result($res);
    // echodebug($text,'$text');
    $s = prepare_textdata($text);
    // echodebug($s,'$s/1');
    $s = str_replace("\n", " ¶ ", $s);
    // echodebug($s,'$s/2');
    $s = str_replace("\t", " ", $s);
    $s = trim($s);
    // echodebug($s,'$s/3');
    if ($splitEachChar) {
        $s = preg_replace('/([^\\s])/u', "\$1 ", $s);
    }
    // echodebug($s,'$s/4');
    $s = preg_replace('/\\s{2,}/u', ' ', $s);
    // echodebug($s,'$s/5');
    $r .= "<div style=\"margin-right:50px;\"><h4>Text</h4><p " . ($rtlScript ? 'dir="rtl"' : '') . ">" . str_replace("¶", "<br /><br />", tohtml($s)) . "</p>";
    $s = str_replace('{', '[', $s);
    // because of sent. spc. char
    // echodebug($s,'$s/6');
    $s = str_replace('}', ']', $s);
    // echodebug($s,'$s/7');
    foreach ($replace as $value) {
        $fromto = explode("=", trim($value));
        if (count($fromto) >= 2) {
            $s = str_replace(trim($fromto[0]), trim($fromto[1]), $s);
        }
    }
    $s = trim($s);
    // echodebug($s,'$s/8');
    if ($noSentenceEnd != '') {
        $s = preg_replace('/(' . $noSentenceEnd . ')\\s/u', '$1‧', $s);
    }
    // echodebug($s,'$s/9');
    $s = preg_replace('/([' . $splitSentence . '¶])\\s/u', "\$1\n", $s);
    // echodebug($s,'$s/10');
    $s = str_replace(" ¶\n", "\n¶\n", $s);
    // echodebug($s,'$s/11');
    $s = str_replace('‧', ' ', $s);
    // echodebug($s,'$s/12');
    if ($s == '') {
        $textLines = array($s);
    } else {
        $s = explode("\n", $s);
        $l = count($s);
        for ($i = 0; $i < $l; $i++) {
            $s[$i] = trim($s[$i]);
            if ($s[$i] != '') {
                $pos = strpos($splitSentence, $s[$i]);
                while ($pos !== false && $i > 0) {
                    $s[$i - 1] .= " " . $s[$i];
                    for ($j = $i + 1; $j < $l; $j++) {
                        $s[$j - 1] = $s[$j];
                    }
                    array_pop($s);
                    $l = count($s);
                    $pos = strpos($splitSentence, $s[$i]);
                }
            }
        }
        $l = count($s);
        $textLines = array();
        for ($i = 0; $i < $l; $i++) {
            $zz = trim($s[$i]);
            if ($zz != '') {
                $textLines[] = $zz;
            }
        }
    }
    // echodebug($textLines,'$textLines');
    $lineWords = array();
    $wordList = array();
    $wordIndex = array();
    $wordSeps = array();
    $r .= "<h4>Sentences</h4><ol>";
    $sentNumber = 0;
    foreach ($textLines as $value) {
        $r .= "<li " . ($rtlScript ? 'dir="rtl"' : '') . ">" . tohtml(remove_spaces($value, $removeSpaces)) . "</li>";
        $lineWords[$sentNumber] = preg_split('/([^' . $termchar . ']{1,})/u', $value, -1, PREG_SPLIT_DELIM_CAPTURE);
        $l = count($lineWords[$sentNumber]);
        for ($i = 0; $i < $l; $i++) {
            $term = mb_strtolower($lineWords[$sentNumber][$i], 'UTF-8');
            if ($term != '') {
                if ($i % 2 == 0) {
                    if (array_key_exists($term, $wordList)) {
                        $wordList[$term][0]++;
                        $wordList[$term][1][] = $sentNumber;
                    } else {
                        $wordList[$term] = array(1, array($sentNumber));
                        $wordIndex[] = $term;
                    }
                } else {
                    $ww = remove_spaces($term, $removeSpaces);
                    if (array_key_exists($ww, $wordSeps)) {
                        $wordSeps[$ww]++;
                    } else {
                        $wordSeps[$ww] = 1;
                    }
                }
            }
        }
        $sentNumber += 1;
    }
    $r .= "</ol><h4>Word List <span class=\"red2\">(red = already saved)</span></h4><ul>";
    ksort($wordList);
    $anz = 0;
    foreach ($wordList as $key => $value) {
        $trans = get_first_value("select WoTranslation as value from words where WoLgID = " . $lid . " and WoTextLC = " . convert_string_to_sqlsyntax($key));
        if (!isset($trans)) {
            $trans = "";
        }
        if ($trans == "*") {
            $trans = "";
        }
        if ($trans != "") {
            $r .= "<li " . ($rtlScript ? 'dir="rtl"' : '') . "><span class=\"red2\">[" . tohtml($key) . "] — " . $value[0] . " - " . tohtml(repl_tab_nl($trans)) . "</span></li>";
        } else {
            $r .= "<li " . ($rtlScript ? 'dir="rtl"' : '') . ">[" . tohtml($key) . "] — " . $value[0] . "</li>";
        }
        $anz++;
    }
    $r .= "</ul><p>TOTAL: " . $anz . "</p><h4>Non-Word List</h4><ul>";
    if (array_key_exists('', $wordSeps)) {
        unset($wordSeps['']);
    }
    ksort($wordSeps);
    $anz = 0;
    foreach ($wordSeps as $key => $value) {
        $r .= "<li>[" . str_replace(" ", "<span class=\"backgray\">&nbsp;</span>", tohtml($key)) . "] — " . $value . "</li>";
        $anz++;
    }
    $r .= "</ul><p>TOTAL: " . $anz . "</p></div>";
    return $r;
}
Пример #11
0
                $days = "-";
            }
            $score = $record['Score'];
            if ($score < 0) {
                $score = '<span class="scorered">0 <img src="icn/status-busy.png" title="Test today!" alt="Test today!" /></span>';
            } else {
                $score = '<span class="scoregreen">' . floor($score) . ($record['Score2'] < 0 ? ' <img src="icn/status-away.png" title="Test tomorrow!" alt="Test tomorrow!" />' : ' <img src="icn/status.png" title="-" alt="-" />') . '</span>';
            }
            echo '<tr>';
            echo '<td class="td1 center"><a name="rec' . $record['WoID'] . '"><input name="marked[]" type="checkbox" class="markcheck" value="' . $record['WoID'] . '" ' . checkTest($record['WoID'], 'marked') . ' /></a></td>';
            echo '<td class="td1 center" nowrap="nowrap">&nbsp;<a href="' . $_SERVER['PHP_SELF'] . '?chg=' . $record['WoID'] . '"><img src="icn/sticky-note--pencil.png" title="Edit" alt="Edit" /></a>&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?del=' . $record['WoID'] . '"><img src="icn/minus-button.png" title="Delete" alt="Delete" /></a>&nbsp;</td>';
            if ($currentlang == '') {
                echo '<td class="td1 center">' . tohtml($record['LgName']) . '</td>';
            }
            echo '<td class="td1 "><span' . ($record['LgRightToLeft'] ? ' dir="rtl" ' : '') . '>' . tohtml($record['WoText']) . '</span>' . tohtml($record['WoRomanization'] != '' ? ' / ' . $record['WoRomanization'] : '') . '</td>';
            echo '<td class="td1 ">' . tohtml(repl_tab_nl($record['WoTranslation'])) . ' <span class="smallgray2">' . tohtml($record['taglist']) . '</span></td>';
            echo '<td class="td1 center"><b>' . ($record['SentOK'] != 0 ? '<img src="icn/status.png" title="' . tohtml($record['WoSentence']) . '" alt="Yes" />' : '<img src="icn/status-busy.png" title="(No valid sentence)" alt="No" />') . '</b></td>';
            echo '<td class="td1 center" title="' . tohtml(get_status_name($record['WoStatus'])) . '">' . tohtml(get_status_abbr($record['WoStatus'])) . ($record['WoStatus'] < 98 ? '/' . $days : '') . '</td>';
            echo '<td class="td1 center" nowrap="nowrap">' . $score . '</td>';
            echo '</tr>';
        }
        mysql_free_result($res);
        ?>
</table>
</form>

<script type="text/javascript">
//<![CDATA[
$('#waitinfo').addClass('hide');
//]]>
</script>
Пример #12
0
<tr>
<th class="th1">Ed</th>
<th class="th1 clickable">Status</th>
<th class="th1 clickable">Term</th>
<th class="th1 clickable">Translation</th>
<th class="th1 clickable">Romanization</th>
<th class="th1 clickable">Sentence</th>
</tr>
<?php 
$sql = 'SELECT DISTINCT WoID, WoText, WoTranslation, WoRomanization, WoSentence, WoStatus, WoTodayScore As Score FROM ' . $testsql . ' AND WoStatus BETWEEN 1 AND 5 AND WoTranslation != \'\' AND WoTranslation != \'*\' order by WoTodayScore, WoRandom*RAND()';
if ($debug) {
    echo $sql;
}
$res = do_mysql_query($sql);
while ($record = mysql_fetch_assoc($res)) {
    $sent = tohtml(repl_tab_nl($record["WoSentence"]));
    $sent1 = str_replace("{", ' <b>[', str_replace("}", ']</b> ', mask_term_in_sentence($sent, $regexword)));
    ?>
<tr>
<td class="td1 center" nowrap="nowrap"><a href="edit_tword.php?wid=<?php 
    echo $record['WoID'];
    ?>
" target="ro"><img src="icn/sticky-note--pencil.png" title="Edit Term" alt="Edit Term" /></a></td>
<td class="td1 center" nowrap="nowrap"><span id="STAT<?php 
    echo $record['WoID'];
    ?>
"><?php 
    echo make_status_controls_test_table($record['Score'], $record['WoStatus'], $record['WoID']);
    ?>
</span></td>
<td class="td1 center" style="font-size:<?php