[dev] [commit] r946 - patches phplib templates/admin wwwbase/admin wwwbase/ajax wwwbase/img/icons wwwbase/js wwwbase/styles
automailer at dexonline.ro
automailer at dexonline.ro
Tue Aug 20 17:15:28 EEST 2013
Author: cata
Date: Tue Aug 20 17:15:28 2013
New Revision: 946
Log:
Add a "structured" bit on definitions, allowing moderators to mark
definitions as structured to get them out of the way.
Add ajax links on the lexemEdit page to toggle that bit.
Add filters to show only structured / unstructured definitions.
Added:
patches/00097.sql
wwwbase/ajax/setDefinitionStructured.php
wwwbase/img/icons/bullet_green.png (contents, props changed)
wwwbase/img/icons/bullet_red.png (contents, props changed)
Modified:
phplib/SmartyWrap.php
templates/admin/lexemEdit.ihtml
wwwbase/admin/lexemEdit.php
wwwbase/js/lexemEdit.js
wwwbase/styles/lexemEdit.css
Added: patches/00097.sql
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ patches/00097.sql Tue Aug 20 17:15:28 2013 (r946)
@@ -0,0 +1 @@
+alter table Definition add structured bool not null after abbrevReview;
Modified: phplib/SmartyWrap.php
==============================================================================
--- phplib/SmartyWrap.php Tue Aug 20 15:24:42 2013 (r945)
+++ phplib/SmartyWrap.php Tue Aug 20 17:15:28 2013 (r946)
@@ -160,7 +160,7 @@
case 'paradigm': self::$cssFiles[9] = 'paradigm.css?v=1'; break;
case 'hangman': self::$cssFiles[10] = 'hangman.css?v=3'; break;
case 'mill': self::$cssFiles[11] = 'mill.css?v=1'; break;
- case 'lexemEdit': self::$cssFiles[12] = 'lexemEdit.css?v=2'; break;
+ case 'lexemEdit': self::$cssFiles[12] = 'lexemEdit.css?v=3'; break;
case 'jcrop': self::$cssFiles[13] = 'jquery.Jcrop.min.css?v=2'; break;
case 'easyui':
self::$cssFiles[14] = 'easyui/default/easyui.css?v=1';
@@ -195,9 +195,8 @@
case 'hangman': self::$jsFiles[13] = 'hangman.js?v=5'; break;
case 'mill': self::$jsFiles[14] = 'mill.js?v=2'; break;
case 'wotd': self::$jsFiles[15] = 'wotd.js?v=1';
- case 'lexemEdit': self::$jsFiles[16] = 'lexemEdit.js?v=3'; break;
+ case 'lexemEdit': self::$jsFiles[16] = 'lexemEdit.js?v=4'; break;
case 'jcrop': self::$jsFiles[17] = 'jquery.Jcrop.min.js?v=2'; break;
-
case 'easyui': self::$jsFiles[18] = 'jquery.easyui.min.js?v=1'; break;
case 'select2': self::$jsFiles[19] = 'select2.min.js?v=2'; break;
case 'select2Dev': self::$jsFiles[20] = 'select2Dev.js?v=1'; break;
Modified: templates/admin/lexemEdit.ihtml
==============================================================================
--- templates/admin/lexemEdit.ihtml Tue Aug 20 15:24:42 2013 (r945)
+++ templates/admin/lexemEdit.ihtml Tue Aug 20 17:15:28 2013 (r946)
@@ -288,10 +288,15 @@
{/if}
<div class="box">
- <div class="boxTitle">Definiții asociate ({$searchResults|@count})</div>
+ <div class="boxTitle">
+ Definiții asociate ({$searchResults|@count})
+ <a href="#" class="defFilterLink">toate</a>
+ <a href="#" class="defFilterLink structured">structurate</a>
+ <a href="#" class="defFilterLink unstructured">nestructurate</a>
+ </div>
<div class="boxContents">
{foreach from=$searchResults item=row}
- <div>
+ <div class="defWrapper {if $row->definition->structured}structured{else}unstructured{/if}" id="def_{$row->definition->id}">
<div class="defInternalRep">{$row->definition->internalRep|escape}</div>
<div class="defHtmlRep">{$row->definition->htmlRep}</div>
<span class="defDetails">
@@ -306,6 +311,9 @@
onclick="return confirmDissociateDefinition({$row->definition->id})">disociază</a>
{/if}
| <a href="#" class="toggleInternalHtmlLink">arată html</a>
+ {if $canEdit.defStructured}
+ | <a href="#" class="toggleStructuredLink">{if $row->definition->structured}structurată{else}nestructurată{/if}</a>
+ {/if}
</span>
{if $row->comment}
<div class="commentInternalRep">
Modified: wwwbase/admin/lexemEdit.php
==============================================================================
--- wwwbase/admin/lexemEdit.php Tue Aug 20 15:24:42 2013 (r945)
+++ wwwbase/admin/lexemEdit.php Tue Aug 20 17:15:28 2013 (r946)
@@ -103,6 +103,7 @@
$canEdit = array(
'general' => util_isModerator(PRIV_EDIT),
+ 'defStructured' => util_isModerator(PRIV_EDIT),
'description' => !$lexem->isLoc || util_isModerator(PRIV_LOC),
'form' => !$lexem->isLoc || util_isModerator(PRIV_LOC),
'hyphenations' => !$lexem->structSealed || util_isModerator(PRIV_EDIT),
Added: wwwbase/ajax/setDefinitionStructured.php
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ wwwbase/ajax/setDefinitionStructured.php Tue Aug 20 17:15:28 2013 (r946)
@@ -0,0 +1,13 @@
+<?php
+
+require_once("../../phplib/util.php");
+util_assertModerator(PRIV_EDIT);
+
+$id = util_getRequestParameter('id');
+$value = util_getBoolean('value');
+
+$def = Definition::get_by_id($id);
+$def->structured = $value;
+$def->save();
+
+?>
Added: wwwbase/img/icons/bullet_green.png
==============================================================================
Binary file. No diff available.
Added: wwwbase/img/icons/bullet_red.png
==============================================================================
Binary file. No diff available.
Modified: wwwbase/js/lexemEdit.js
==============================================================================
--- wwwbase/js/lexemEdit.js Tue Aug 20 15:24:42 2013 (r945)
+++ wwwbase/js/lexemEdit.js Tue Aug 20 17:15:28 2013 (r946)
@@ -77,6 +77,8 @@
$('#editMeaningCancelButton').click(endMeaningEdit);
$('.lexemEditSaveButton').click(saveEverything);
$('.toggleInternalHtmlLink').click(toggleInternalHtmlClick);
+ $('.toggleStructuredLink').click(toggleStructuredClick);
+ $('.defFilterLink').click(defFilterClick);
$('.boxTitle').click(boxTitleClick);
$('#lexemSourceIds').select2({
@@ -288,6 +290,38 @@
return false;
}
+function toggleStructuredClick() {
+ var parent = $(this).closest('.defWrapper');
+ var id = parent.attr('id').split('_')[1];
+ if (parent.hasClass('structured')) {
+ $(this).text('nestructurată');
+ parent.removeClass('structured');
+ parent.addClass('unstructured');
+ var value = 0;
+ } else {
+ $(this).text('structurată');
+ parent.removeClass('unstructured');
+ parent.addClass('structured');
+ var value = 1;
+ }
+ $.get(wwwRoot + 'ajax/setDefinitionStructured.php?id=' + id + '&value=' + value);
+ return false;
+}
+
+function defFilterClick() {
+ if ($(this).hasClass('structured')) {
+ $('.defWrapper.unstructured').hide('slow');
+ } else {
+ $('.defWrapper.unstructured').show('slow');
+ }
+ if ($(this).hasClass('unstructured')) {
+ $('.defWrapper.structured').hide('slow');
+ } else {
+ $('.defWrapper.structured').show('slow');
+ }
+ return false;
+}
+
function boxTitleClick() {
$(this).next('.boxContents').slideToggle();
}
Modified: wwwbase/styles/lexemEdit.css
==============================================================================
--- wwwbase/styles/lexemEdit.css Tue Aug 20 15:24:42 2013 (r945)
+++ wwwbase/styles/lexemEdit.css Tue Aug 20 17:15:28 2013 (r946)
@@ -19,6 +19,12 @@
padding: 5px 5px 5px 25px;
}
+.boxTitle a {
+ color: white;
+ margin-left: 20px;
+ font-weight: normal;
+}
+
.boxContents {
padding: 5px;
}
@@ -139,6 +145,16 @@
color: #555555;
}
+div.structured a.toggleStructuredLink {
+ background: url("../img/icons/bullet_green.png") 0px 1px no-repeat;
+ padding-left: 14px;
+}
+
+div.unstructured a.toggleStructuredLink {
+ background: url("../img/icons/bullet_red.png") 0px 1px no-repeat;
+ padding-left: 14px;
+}
+
div.addDefinition {
margin-top: 10px;
}
More information about the Dev
mailing list