[dev] [commit] r909 - patches phplib/models templates/admin wwwbase/admin
automailer at dexonline.ro
automailer at dexonline.ro
Mon Jul 15 18:22:03 EEST 2013
Author: radu
Date: Mon Jul 15 18:22:03 2013
New Revision: 909
Log:
add OCR tables
Added:
patches/00088.sql
phplib/models/OCR.php
Modified:
templates/admin/definitionEdit.ihtml
wwwbase/admin/definitionEdit.php
Added: patches/00088.sql
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ patches/00088.sql Mon Jul 15 18:22:03 2013 (r909)
@@ -0,0 +1,13 @@
+CREATE TABLE `OCR` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `sourceId` int(11) NOT NULL,
+ `userId` int(11) NOT NULL,
+ `ocrText` text COLLATE utf8_romanian_ci,
+ `status` enum('raw','published') COLLATE utf8_romanian_ci DEFAULT 'raw',
+ `editorId` int(11) DEFAULT NULL,
+ `definitionId` int(11) DEFAULT NULL,
+ `dateModified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `dateAdded` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `definitionId` (`definitionId`)
+) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_romanian_ci;
Added: phplib/models/OCR.php
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ phplib/models/OCR.php Mon Jul 15 18:22:03 2013 (r909)
@@ -0,0 +1,7 @@
+<?php
+
+class OCR extends BaseObject {
+ public static $_table = 'OCR';
+}
+
+?>
Modified: templates/admin/definitionEdit.ihtml
==============================================================================
--- templates/admin/definitionEdit.ihtml Mon Jul 15 16:14:33 2013 (r908)
+++ templates/admin/definitionEdit.ihtml Mon Jul 15 18:22:03 2013 (r909)
@@ -1,5 +1,8 @@
<form action="definitionEdit.php" method="post">
<input type="hidden" name="definitionId" value="{$def->id}"/>
+ {if $isOCR}
+ <input type="hidden" name="type" value="ocr"/>
+ {/if}
<table class="editableFields">
{foreach from=$homonyms item=h key=i}
<tr>
@@ -95,6 +98,11 @@
</td>
</tr>
+ <tr>
+ <td colspan="3" class="buttonRow">
+ <input type="submit" name="but_next_ocr" value="Adaugă următoarea definiție"/>
+ </td>
+ </tr>
</table>
</form>
Modified: wwwbase/admin/definitionEdit.php
==============================================================================
--- wwwbase/admin/definitionEdit.php Mon Jul 15 16:14:33 2013 (r908)
+++ wwwbase/admin/definitionEdit.php Mon Jul 15 18:22:03 2013 (r909)
@@ -3,20 +3,63 @@
util_assertModerator(PRIV_EDIT);
util_assertNotMirror();
-$definitionId = util_getRequestIntParameter('definitionId');
-$lexemIds = util_getRequestCsv('lexemIds');
-$sourceId = util_getRequestIntParameter('source');
-$internalRep = util_getRequestParameter('internalRep');
-$status = util_getRequestIntParameterWithDefault('status', null);
-$commentContents = util_getRequestParameter('commentContents');
-$preserveCommentUser = util_getRequestParameter('preserveCommentUser');
+$addType = util_getRequestIntParameter('type');
+$next_ocr_but = util_getRequestParameter('but_next_ocr');
+if(!$next_ocr_but) {
+ $definitionId = util_getRequestIntParameter('definitionId');
+ $lexemIds = util_getRequestCsv('lexemIds');
+ $sourceId = util_getRequestIntParameter('source');
+ $internalRep = util_getRequestParameter('internalRep');
+ $status = util_getRequestIntParameterWithDefault('status', null);
+ $commentContents = util_getRequestParameter('commentContents');
+ $preserveCommentUser = util_getRequestParameter('preserveCommentUser');
+}
+else {
+ $definitionId = null;
+ $lexemIds = null;
+ $sourceId = null;
+ $internalRep = null;
+ $status = null;
+ $commentContents = null;
+ $preserveCommentUser = null;
+}
$refreshButton = util_getRequestParameter('but_refresh');
$acceptButton = util_getRequestParameter('but_accept');
$moveButton = util_getRequestParameter('but_move');
$hasErrors = false;
+$isOCR = ($addType == 'ocr');
+
if (!$definitionId) {
- return;
+ if ($isOCR) {
+ $ocr = Model::factory('OCR')->where('status', 'raw')->order_by_asc('dateModified')->find_one();
+ if (!$ocr || !$ocr->id) {
+ echo("Lista cu definiții OCR este goală.");
+ return;
+ }
+ $ambiguousMatches = array();
+ $sourceId = $ocr->sourceId;
+ $def = AdminStringUtil::internalizeDefinition($ocr->ocrText, $sourceId, $ambiguousMatches);
+
+ $definition = Model::factory('Definition')->create();
+ $definition->displayed = 0;
+ $definition->status = ST_PENDING;
+ $definition->userId = session_getUserId();
+ $definition->sourceId = $sourceId;
+ $definition->internalRep = $def;
+ $definition->htmlRep = AdminStringUtil::htmlize($def, $sourceId);
+ $definition->lexicon = AdminStringUtil::extractLexicon($definition);
+ $definition->abbrevReview = count($ambiguousMatches) ? ABBREV_AMBIGUOUS : ABBREV_REVIEW_COMPLETE;
+ $definition->save();
+ $definitionId = $definition->id;
+ $ocr->definitionId = $definitionId;
+ $ocr->editorId = session_getUserId();
+ $ocr->status = 'published';
+ $ocr->save();
+ }
+ else {
+ return;
+ }
}
if (!($definition = Definition::get_by_id($definitionId))) {
@@ -125,6 +168,7 @@
RecentLink::createOrUpdate(sprintf("Definiție: %s (%s)", $definition->lexicon, $source->shortName));
}
+SmartyWrap::assign('isOCR', $isOCR);
SmartyWrap::assign('def', $definition);
SmartyWrap::assign('source', $source);
SmartyWrap::assign('user', User::get_by_id($definition->userId));
@@ -136,7 +180,7 @@
SmartyWrap::assign("allStatuses", util_getAllStatuses());
SmartyWrap::assign("allModeratorSources", Model::factory('Source')->where('canModerate', true)->order_by_asc('displayOrder')->find_many());
SmartyWrap::assign('recentLinks', RecentLink::loadForUser());
-SmartyWrap::assign('sectionTitle', "Editare definiție: {$definition->id}");
+SmartyWrap::assign('sectionTitle', $isOCR ? "Adăugare definiție (OCR)" : "Editare definiție: {$definition->id}");
SmartyWrap::addCss('jqueryui', 'select2');
SmartyWrap::addJs('jquery', 'jqueryui', 'struct', 'select2');
SmartyWrap::displayAdminPage('admin/definitionEdit.ihtml');
More information about the Dev
mailing list