[dev] [commit] r1052 - phplib/models templates/admin wwwbase/admin wwwbase/ajax wwwbase/js
automailer at dexonline.ro
automailer at dexonline.ro
Sat Jan 11 02:43:11 EET 2014
Author: radu
Date: Sat Jan 11 02:43:11 2014
New Revision: 1052
Log:
show similar definitions
Added:
wwwbase/ajax/getSimilarDefinition.php
Modified:
phplib/models/Definition.php
templates/admin/definitionEdit.ihtml
wwwbase/admin/definitionEdit.php
wwwbase/js/select2Dev.js
Modified: phplib/models/Definition.php
==============================================================================
--- phplib/models/Definition.php Mon Jan 6 18:47:23 2014 (r1051)
+++ phplib/models/Definition.php Sat Jan 11 02:43:11 2014 (r1052)
@@ -27,6 +27,18 @@
return $r->c;
}
+ public static function loadBySourceAndLexemId($sourceId, $lexemId) {
+ return Model::factory('Definition')
+ ->select('Definition.*')
+ ->join('LexemDefinitionMap', array('Definition.id', '=', 'definitionId'))
+ ->where('LexemDefinitionMap.lexemId', $lexemId)
+ ->where('Definition.sourceId', $sourceId)
+ ->where_not_equal('status', ST_DELETED)
+ ->order_by_asc('sourceId')
+ ->find_one();
+ //->find_many();
+ }
+
public static function getListOfWordsFromSources($wordStart, $wordEnd, $sources) {
return Model::factory('Definition')
->select('Definition.*')
Modified: templates/admin/definitionEdit.ihtml
==============================================================================
--- templates/admin/definitionEdit.ihtml Mon Jan 6 18:47:23 2014 (r1051)
+++ templates/admin/definitionEdit.ihtml Sat Jan 11 02:43:11 2014 (r1052)
@@ -95,7 +95,7 @@
<tr id='similarSourceRow' {if $similarSource->shortName}{else}style="display:none"{/if}>
<td>Similarități</td>
<td>
- <input type="checkbox" id="similarSource" name="similarSource" value="1" {if $def->similarSource}checked="checked"{/if}/> Definiție similară cu cea din {$similarSource->shortName}
+ <input type="checkbox" id="similarSource" name="similarSource" value="1" {if $def->similarSource}checked="checked"{/if}/> Definiție identică cu cea din {$similarSource->shortName}
</td>
</tr>
<tr>
@@ -145,6 +145,16 @@
Comentariu: {$comment->htmlContents}
{/if}
+{if $similarSource->shortName}
+<input type="hidden" id="similarSourceId" value="{$similarSource->id}"/>
+<div style="display:hidden">
+ <font color="red">Definiția din {$similarSource->shortName} corespunzătoare lexemului:</font>
+</div>
+<div id="similarPreview">
+{$similarDef->htmlRep|default:'<font color="#888">Nu există nicio definiție similară sau nu e niciun lexem definit</font>'}
+</div>
+{/if}
+
<script>
$(definitionEditInit);
$(similarSourceHideonChange);
Modified: wwwbase/admin/definitionEdit.php
==============================================================================
--- wwwbase/admin/definitionEdit.php Mon Jan 6 18:47:23 2014 (r1051)
+++ wwwbase/admin/definitionEdit.php Sat Jan 11 02:43:11 2014 (r1052)
@@ -197,15 +197,21 @@
}
$similarSourceName = null;
+$similarDefObj = null;
if ($definition->sourceId) {
$similarSourceId = SimilarSource::getSimilarSource($definition->sourceId);
$similarSourceObj = Source::get_by_id($similarSourceId);
+ if ($similarSourceObj && $lexemIds) {
+ //TODO add suport for multiple lexems
+ $similarDefObj = Definition::loadBySourceAndLexemId($similarSourceId, $lexemIds[0]);
+ }
}
SmartyWrap::assign('isOCR', $isOCR);
SmartyWrap::assign('def', $definition);
SmartyWrap::assign('source', $source);
SmartyWrap::assign('similarSource', $similarSourceObj);
+SmartyWrap::assign('similarDef', $similarDefObj);
SmartyWrap::assign('user', User::get_by_id($definition->userId));
SmartyWrap::assign('comment', $comment);
SmartyWrap::assign('commentUser', $commentUser);
Added: wwwbase/ajax/getSimilarDefinition.php
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ wwwbase/ajax/getSimilarDefinition.php Sat Jan 11 02:43:11 2014 (r1052)
@@ -0,0 +1,13 @@
+<?php
+require_once("../../phplib/util.php");
+util_assertModerator(PRIV_WOTD);
+util_assertNotMirror();
+
+$sourceId = util_getRequestParameter('s');
+$lexemId = util_getRequestParameter('l');
+
+$definition = Definition::loadBySourceAndLexemId($sourceId, $lexemId);
+
+print $definition ? $definition->htmlRep : '';
+
+?>
Modified: wwwbase/js/select2Dev.js
==============================================================================
--- wwwbase/js/select2Dev.js Mon Jan 6 18:47:23 2014 (r1051)
+++ wwwbase/js/select2Dev.js Sat Jan 11 02:43:11 2014 (r1052)
@@ -58,6 +58,16 @@
multiple: true,
width: '600px',
});
+
+
+ $('#lexemIds')
+ .on("change", function(e){
+ $.ajax(wwwRoot + 'ajax/getSimilarDefinition.php?s=' + $('#similarSourceId').val() + '&l=' + e.val)
+ .done(function(data) {
+ if (!data) data = '<font color="#888">Nu există nicio definiție similară sau nu e niciun lexem definit</font>';
+ $('#similarPreview').html(data);
+ })
+ })
}
function formatLexemWithEditLink(lexem) {
More information about the Dev
mailing list