[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