[dev] [commit] r921 - phplib/models templates/admin wwwbase/admin wwwbase/elfinder-connector wwwbase/js wwwbase/styles
automailer at dexonline.ro
automailer at dexonline.ro
Wed Jul 31 21:22:33 EEST 2013
Author: grigoroiualex
Date: Wed Jul 31 21:22:33 2013
New Revision: 921
Log:
Made some minor changes and tweaks to Visual and elFinder. Added *Infant* VisualTag
Added:
phplib/models/VisualTag.php
templates/admin/visualTag.ihtml
wwwbase/admin/visualTag.php
wwwbase/js/visualTag.js
Modified:
phplib/models/Visual.php
wwwbase/elfinder-connector/elFinderModToDB.class.php
wwwbase/elfinder-connector/visual_connector.php
wwwbase/styles/flex.css
Modified: phplib/models/Visual.php
==============================================================================
--- phplib/models/Visual.php Wed Jul 31 14:30:58 2013 (r920)
+++ phplib/models/Visual.php Wed Jul 31 21:22:33 2013 (r921)
@@ -11,7 +11,11 @@
return $matches[0];
}
-
-}
+ function delete() {
+ VisualTag::deleteByImageId($this->id);
+
+ parent::delete();
+ }
+}
?>
Added: phplib/models/VisualTag.php
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ phplib/models/VisualTag.php Wed Jul 31 21:22:33 2013 (r921)
@@ -0,0 +1,13 @@
+<?php
+
+class VisualTag extends BaseObject implements DatedObject {
+ public static $_table = 'VisualTag';
+
+ public static function deleteByImageId($imageId) {
+ $tags = VisualTag::get_all_by_imageId($imageId);
+
+ foreach($tags as $tag) {
+ $tag->delete();
+ }
+ }
+}
Added: templates/admin/visualTag.ihtml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ templates/admin/visualTag.ihtml Wed Jul 31 21:22:33 2013 (r921)
@@ -0,0 +1,55 @@
+<br/>
+<div class="floatMe">
+ {if count($msg) == 0}
+ <img src="{$imagePath}" id="jcrop"/>
+ <label>Coordonatele centrului selecției:
+ <input id="x" type="text" size="4" name="x"/>
+ <input id="y" type="text" size="4" name="y"/>
+ </label>
+ <button type="button" id="clrSel">Șterge selecția</button>
+ <form action="visualTag.php" method="post">
+ <input type="hidden" value="{$imageId}" name="imageId"/>
+ <button type="submit" name="action" value="finishedTagging">
+ Etichetarea este completă
+ </button>
+ </form>
+</div>
+
+<div>
+ <form action="visualTag.php" method="post">
+ <label>Id imagine:
+ <input type="text" size="4" value="{$imageId}" name="imageId"/>
+ </label><br/>
+ <label>Cuvânt:
+ <input type="text" size="15" name="lexem"/>
+ </label><br/>
+ <label>Coordonatele centrului etichetei:
+ <input id="xTag" type="text" size="4" name="xTag"/>
+ <input id="yTag" type="text" size="4" name="yTag"/>
+ <button id="setCoordTag" type="button">Setează coordonatele</button>
+ </label><br/>
+ <label>Coordonatele centrului zonei indicate:
+ <input id="xImg" type="text" size="4" name="xImg"/>
+ <input id="yImg" type="text" size="4" name="yImg"/>
+ <button id="setCoordImg" type="button">Setează coordonatele</button>
+ </label><br/>
+ <label>Tag principal?
+ <input type="radio" name="isMain" value="1"/>Da
+ <input type="radio" name="isMain" value="0"/>Nu
+ </label><br/>
+ <button id="saveSel" type="submit" name="action" value="save">Salvează eticheta</button>
+ </form>
+
+ <h3>Etichete salvate</h3>
+ <form action="visualTag.php" method="post">
+ {foreach from=$savedTags item=tag}
+ <label>{$tag->label}
+ <input type="hidden" name="savedTagId" value="{$tag->id}"/>
+ <button type="submit" name="action" value="delete">Șterge eticheta</button>
+ </label><br/>
+ {/foreach}
+ </form>
+ {else}
+ <p>{$msg}</p>
+ {/if}
+</div>
Added: wwwbase/admin/visualTag.php
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ wwwbase/admin/visualTag.php Wed Jul 31 21:22:33 2013 (r921)
@@ -0,0 +1,66 @@
+<?php
+require_once '../../phplib/util.php' ;
+require_once '../../phplib/models/Visual.php' ;
+//util_assertModerator(PRIV_VISUAL);
+util_assertNotMirror();
+RecentLink::createOrUpdate('Tăguire Imagini Definiții');
+
+$rootPath = util_getImgRoot() . '/';
+$savedTags = '';
+
+if(util_getRequestParameter('action') == 'save') {
+ $imageId = util_getRequestParameter('imageId');
+ $lexem = util_getRequestParameter('lexem');
+ $xTag = util_getRequestParameter('xTag');
+ $yTag = util_getRequestParameter('yTag');
+ $xImg = util_getRequestParameter('xImg');
+ $yImg = util_getRequestParameter('yImg');
+ $isMain = util_getRequestParameter('isMain');
+
+ $line = Model::factory('VisualTag')->create();
+ $line->imageId = $imageId;
+ $line->isMain = $isMain;
+ $line->label = $lexem;
+ $line->textXCoord = $xTag;
+ $line->textYCoord = $yTag;
+ $line->imgXCoord = $xImg;
+ $line->imgYCoord = $yImg;
+ $line->save();
+
+} else if(util_getRequestParameter('action') == 'delete') {
+ $tagId = util_getRequestParameter('savedTagId');
+
+ $line = VisualTag::get_by_id($tagId);
+ if(!empty($line)) {
+ $line->delete();
+ }
+
+} else if(util_getRequestParameter('action') == 'finishedTagging') {
+ $imageId = util_getRequestParameter('imageId');
+
+ $line = Visual::get_by_id($imageId);
+ $line->revised = 1;
+ $line->save();
+}
+
+//$line = Model::factory('Visual')->where('revised', 0)->find_one();
+$line = Visual::get_by_revised(0);
+if(!empty($line)) {
+ $imagePath = $rootPath . $line->path;
+ $imageId = $line->id;
+
+ $tags = VisualTag::get_all_by_imageId($imageId);
+
+ SmartyWrap::assign('savedTags', $tags);
+ SmartyWrap::assign('imagePath', $imagePath);
+ SmartyWrap::assign('imageId', $imageId);
+
+} else {
+ $msg = 'Toate imaginile au fost revizuite. Mulțumim!';
+ SmartyWrap::assign('msg', $msg);
+}
+
+SmartyWrap::assign('sectionTitle', 'Tăguire imagini pentru definiții');
+SmartyWrap::addCss('jcrop');
+SmartyWrap::addJs('jquery', 'jcrop', 'visualTag');
+SmartyWrap::displayAdminPage('admin/visualTag.ihtml');
Modified: wwwbase/elfinder-connector/elFinderModToDB.class.php
==============================================================================
--- wwwbase/elfinder-connector/elFinderModToDB.class.php Wed Jul 31 14:30:58 2013 (r920)
+++ wwwbase/elfinder-connector/elFinderModToDB.class.php Wed Jul 31 21:22:33 2013 (r921)
@@ -13,7 +13,6 @@
public function action($cmd, $result, $args, $elfinder) {
switch($cmd){
- case 'duplicate':
case 'upload':
if(!empty($result['added'])) {
foreach($result['added'] as $file) {
@@ -96,14 +95,6 @@
}
}
break;
-
- /*case 'duplicate':
- if(!empty($result['added'])) {
- $txt = fopen('/tmp/duplicate.txt', 'w');
- fwrite($txt, $elfinder->realpath($result['added'][0]['hash']));
- fclose($txt);
- }
- break;*/
}
}
}
Modified: wwwbase/elfinder-connector/visual_connector.php
==============================================================================
--- wwwbase/elfinder-connector/visual_connector.php Wed Jul 31 14:30:58 2013 (r920)
+++ wwwbase/elfinder-connector/visual_connector.php Wed Jul 31 21:22:33 2013 (r921)
@@ -42,7 +42,7 @@
'debug' => true,
'bind' => array(
'mkdir mkfile rename duplicate upload rm paste' => array($myLogger, 'log'),
- 'upload rm rename paste duplicate' => array($myModder, 'action')
+ 'upload rm rename paste' => array($myModder, 'action')
),
'roots' => array(
array(
@@ -52,7 +52,7 @@
'accessControl' => 'access', // disable and hide dot starting files (OPTIONAL)
'alias' => 'Imagini cuvântul zilei', // display this instead of root directory name
'uploadAllow' => array('image'), // mimetypes allowed to upload
- 'disabled' => array('resize, mkfile'), // list of not allowed commands
+ 'disabled' => array('resize, mkfile, duplicate'), // list of not allowed commands
'imgLib' => 'gd', // image manipulation library (imagick, mogrify, gd)
'tmbPath' => '.tmb', // directory name for image thumbnails. Set to "" to avoid thumbnails generation
)
Added: wwwbase/js/visualTag.js
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ wwwbase/js/visualTag.js Wed Jul 31 21:22:33 2013 (r921)
@@ -0,0 +1,78 @@
+jQuery(document).ready(function() {
+
+ var jcrop_api;
+ var coords = new Object();
+
+ initJcrop();
+ resetCoords();
+
+ function initJcrop() {
+ $('#jcrop').Jcrop({
+ boxHeight: 500,
+ boxWidth: 500,
+ onSelect: showCoords,
+ onChange: showCoords,
+ onRelease: resetCoords
+ }, function() {
+ jcrop_api = this;
+ });
+ };
+
+ //Shows centre of the selection coordinates
+ function showCoords(c) {
+ setCoords(c);
+
+ $('#x').val(coords.cx);
+ $('#y').val(coords.cy);
+ };
+
+ function setCoords(c) {
+ var q = new Array();
+ q = calculateCentre(c);
+
+ coords.x = c.x;
+ coords.y = c.y;
+ coords.w = c.w;
+ coords.h = c.h;
+ coords.cx = q[0];
+ coords.cy = q[1];
+ };
+
+ function calculateCentre(c) {
+ var centre = new Array();
+
+ centre[0] = Math.round((2 * c.x + c.w) / 2);
+ centre[1] = Math.round((2 * c.y + c.h) / 2);
+
+ return centre;
+ };
+
+ //Clears the actual selection
+ $('#clrSel').click(function(e) {
+ jcrop_api.release();
+
+ resetCoords();
+ });
+
+ function resetCoords() {
+ coords.x = 0;
+ coords.y = 0;
+ coords.w = 0;
+ coords.h = 0;
+ coords.cx = 0;
+ coords.cy = 0;
+
+ $('#x').val('');
+ $('#y').val('');
+ };
+
+ $('#setCoordTag').click(function() {
+ $('#xTag').val(coords.cx);
+ $('#yTag').val(coords.cy);
+ });
+
+ $('#setCoordImg').click(function() {
+ $('#xImg').val(coords.cx);
+ $('#yImg').val(coords.cy);
+ });
+});
Modified: wwwbase/styles/flex.css
==============================================================================
--- wwwbase/styles/flex.css Wed Jul 31 14:30:58 2013 (r920)
+++ wwwbase/styles/flex.css Wed Jul 31 21:22:33 2013 (r921)
@@ -389,3 +389,8 @@
.ui-widget-header .ui-icon {
background-image: url("lightness-1.10.3/images/ui-icons_222222_256x240.png");
}
+
+/* VisualTag */
+.floatMe {
+ float: left;
+}
More information about the Dev
mailing list