[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