Index: /extensions/gvideo/admin.php
===================================================================
--- /extensions/gvideo/admin.php	(revision 26523)
+++ /extensions/gvideo/admin.php	(revision 26524)
@@ -3,4 +3,6 @@
 
 global $template, $page, $conf;
+
+load_language('plugin.lang', GVIDEO_PATH);
 
 $page['tab'] = (isset($_GET['tab'])) ? $_GET['tab'] : $page['tab'] = 'add';
Index: /extensions/gvideo/batch.php
===================================================================
--- /extensions/gvideo/batch.php	(revision 26524)
+++ /extensions/gvideo/batch.php	(revision 26524)
@@ -0,0 +1,121 @@
+<?php
+/*
+Plugin Name: EVideo Batch Import
+Version: 1.0
+Author: Mistic100
+*/
+
+global $gvideo_links, $gvideo_safe, $gvideo_film_frame, $gvideo_category;
+
+$gvideo_safe = false;
+$gvideo_film_frame = true;
+$gvideo_category = 0;
+$gvideo_links = '';
+
+
+add_event_handler('loc_begin_admin', 'gvideo_batch');
+
+function gvideo_batch()
+{
+  global $conf, $page, $gvideo_links, $gvideo_safe, $gvideo_film_frame, $gvideo_category;
+  
+  if (!defined('GVIDEO_PATH')) return;
+  if (@$_GET['page'] != 'plugin-gvideo') return;
+  if ($gvideo_category == 0 or empty($gvideo_links)) return;
+  
+  set_time_limit(600);
+  
+  $links = str_replace("\r\n", "\n", $gvideo_links);
+  $links = explode("\n", $links);
+  $links = array_map('trim', $links);
+  
+  include_once(GVIDEO_PATH.'include/functions.inc.php');
+  include_once(PHPWG_ROOT_PATH . 'admin/include/functions_upload.inc.php');
+
+  foreach ($links as $url)
+  {
+    if (empty($url)) continue;
+    $error = false;
+    
+    
+    // check url
+    if ( ($video = parse_video_url($url, $gvideo_safe)) === false )
+    {
+      if ($gvideo_safe)
+      {
+        array_push($page['errors'], $url.' : '.l10n('an error happened'));
+        $error = true;
+      }
+      else
+      {
+        array_push($page['errors'], $url.' : '.l10n('Unable to contact host server'));
+        array_push($page['errors'], $url.' : '.l10n('Try in safe-mode'));
+        $error = true;
+      }
+    }
+    
+    if ($error) continue;
+    
+    
+    // download thumbnail
+    $thumb_ext = empty($video['thumbnail']) ? 'jpg' : get_extension($video['thumbnail']);
+    $thumb_name = $video['type'].'-'.$video['video_id'].'-'.uniqid().'.'.$thumb_ext;
+    $thumb_source = $conf['data_location'].$thumb_name;
+    if ( empty($video['thumbnail']) or gvideo_download_remote_file($video['thumbnail'], $thumb_source) !== true )
+    {
+      $thumb_source = $conf['data_location'].get_filename_wo_extension($thumb_name).'.jpg';
+      copy(GVIDEO_PATH.'mimetypes/'.$video['type'].'.jpg', $thumb_source);
+    }
+    
+    if ($gvideo_film_frame)
+    {
+      add_film_frame($thumb_source);
+    }
+    
+    
+    // add image and update infos
+    $image_id = add_uploaded_file($thumb_source, $thumb_name, array($gvideo_category));
+    
+    $updates = array(
+      'name' => pwg_db_real_escape_string($video['title']),
+      'author' => pwg_db_real_escape_string($video['author']),
+      'is_gvideo' => 1,
+      );
+    
+    if ( !empty($video['description']) )
+    {
+      $updates['comment'] = pwg_db_real_escape_string($video['description']);
+    }
+    if ( !empty($video['tags']) )
+    {
+      set_tags(get_tag_ids(str_replace("'", "\'", implode(',', $video['tags']))), $image_id);
+    }
+    
+    single_update(
+      IMAGES_TABLE,
+      $updates,
+      array('id' => $image_id),
+      true
+      );
+    
+    // register video
+    $insert = array(
+      'picture_id' => $image_id,
+      'url' => $video['url'],
+      'type' => $video['type'],
+      'video_id' => $video['video_id'],
+      'width' => '',
+      'height' => '',
+      'autoplay' => '',
+      );
+      
+    single_insert(
+      GVIDEO_TABLE,
+      $insert
+      );
+    
+    array_push($page['infos'], $url.' : '.l10n('Video successfully added'));
+  }
+}
+  
+?>
Index: /extensions/gvideo/include/events.inc.php
===================================================================
--- /extensions/gvideo/include/events.inc.php	(revision 26523)
+++ /extensions/gvideo/include/events.inc.php	(revision 26524)
@@ -14,7 +14,34 @@
     // add custom parser
     add_event_handler('render_element_content', 'gvideo_element_content', EVENT_HANDLER_PRIORITY_NEUTRAL-10, 2);
+
+    if (defined('ADMINTOOLS_ID'))
+    {
+      global $template;
+
+      load_language('plugin.lang', GVIDEO_PATH);
+
+      $template->assign(array(
+        'GVIDEO_PATH' => GVIDEO_PATH,
+        'U_GVIDEO_EDIT' => GVIDEO_ADMIN.'-photo&amp;image_id='.$picture['current']['id'],
+        ));
+
+      $template->set_prefilter('ato_public_controller', 'gvideo_admintools');
+    }
   }
   
   return $picture;
+}
+
+function gvideo_admintools($content)
+{
+  $search = '{if isset($ato.U_DELETE)}';
+  $replace = '
+{if isset($U_GVIDEO_EDIT)}
+  {combine_css path=$GVIDEO_PATH|cat:\'template/fontello/css/gvideo.css\'}
+  <li><a class="icon-gvideo-movie" href="{$U_GVIDEO_EDIT}">{\'Video properties\'|translate}</a></li>
+{/if}
+{if isset($ato.U_DELETE)}';
+
+  return str_replace($search, $replace, $content);
 }
 
Index: /extensions/gvideo/main.inc.php
===================================================================
--- /extensions/gvideo/main.inc.php	(revision 26523)
+++ /extensions/gvideo/main.inc.php	(revision 26524)
@@ -45,6 +45,4 @@
   $maintain->autoUpdate(GVIDEO_VERSION, 'install');
   
-  load_language('plugin.lang', GVIDEO_PATH);
-  
   $conf['gvideo'] = unserialize($conf['gvideo']);
 }
Index: /extensions/gvideo/template/fontello/LICENSE.txt
===================================================================
--- /extensions/gvideo/template/fontello/LICENSE.txt	(revision 26524)
+++ /extensions/gvideo/template/fontello/LICENSE.txt	(revision 26524)
@@ -0,0 +1,12 @@
+Font license info
+
+
+## MFG Labs
+
+   Copyright (C) 2012 by Daniel Bruce
+
+   Author:    MFG Labs
+   License:   SIL (http://scripts.sil.org/OFL)
+   Homepage:  http://www.mfglabs.com/
+
+
Index: /extensions/gvideo/template/fontello/README.txt
===================================================================
--- /extensions/gvideo/template/fontello/README.txt	(revision 26524)
+++ /extensions/gvideo/template/fontello/README.txt	(revision 26524)
@@ -0,0 +1,75 @@
+This webfont is generated by http://fontello.com open source project.
+
+
+================================================================================
+Please, note, that you should obey original font licences, used to make this
+webfont pack. Details available in LICENSE.txt file.
+
+- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
+  site in "About" section.
+
+- If your project is open-source, usually, it will be ok to make LICENSE.txt
+  file publically available in your repository.
+
+- Fonts, used in Fontello, don't require to make clickable links on your site.
+  But any kind of additional authors crediting is welcome.
+================================================================================
+
+
+Comments on archive content
+---------------------------
+
+- /font/* - fonts in different formats
+
+- /css/*  - different kinds of css, for all situations. Should be ok with 
+  twitter bootstrap. Also, you can skip <i> style and assign icon classes
+  directly to text elements, if you don't mind about IE7.
+
+- demo.html - demo file, to show your webfont content
+
+- LICENSE.txt - license info about source fonts, used to build your one.
+
+- config.json - keeps your settings. You can import it back to fontello anytime,
+  to continue your work
+
+
+Why so many CSS files ?
+-----------------------
+
+Because we like to fit all your needs :)
+
+- basic file, <your_font_name>.css - is usually enougth, in contains @font-face
+  and character codes definition
+
+- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
+  directly into html
+
+- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
+  rules, but still wish to benefit of css generation. That can be very
+  convenient for automated assets build systems. When you need to update font -
+  no needs to manually edit files, just override old version with archive
+  content. See fontello source codes for example.
+
+- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
+  CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
+  We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
+  server headers. But if you ok with dirty hack - this file is for you. Note,
+  that data url moved to separate @font-face to avoid problems with <IE9, when
+  string is too long.
+
+- animate.css - use it to get ideas about spinner rotation animation.
+
+
+Attention for server setup
+--------------------------
+
+You MUST setup server to reply with proper `mime-types` for font files. In other
+case, some browsers will fail to show fonts.
+
+Usually, `apache` already has necessary settings, but `nginx` and other
+webservers should be tuned. Here is list of mime types for our file extentions:
+
+- `application/vnd.ms-fontobject` - eot
+- `application/x-font-woff` - woff
+- `application/x-font-ttf` - ttf
+- `image/svg+xml` - svg
Index: /extensions/gvideo/template/fontello/config.json
===================================================================
--- /extensions/gvideo/template/fontello/config.json	(revision 26524)
+++ /extensions/gvideo/template/fontello/config.json	(revision 26524)
@@ -0,0 +1,16 @@
+{
+  "name": "gvideo",
+  "css_prefix_text": "icon-gvideo-",
+  "css_use_suffix": false,
+  "hinting": true,
+  "units_per_em": 1000,
+  "ascent": 850,
+  "glyphs": [
+    {
+      "uid": "eea613bc40c77b7eab137b29dba0c62f",
+      "css": "movie",
+      "code": 59392,
+      "src": "mfglabs"
+    }
+  ]
+}
Index: /extensions/gvideo/template/fontello/css/animation.css
===================================================================
--- /extensions/gvideo/template/fontello/css/animation.css	(revision 26524)
+++ /extensions/gvideo/template/fontello/css/animation.css	(revision 26524)
@@ -0,0 +1,85 @@
+/*
+   Animation example, for spinners
+*/
+.animate-spin {
+  -moz-animation: spin 2s infinite linear;
+  -o-animation: spin 2s infinite linear;
+  -webkit-animation: spin 2s infinite linear;
+  animation: spin 2s infinite linear;
+  display: inline-block;
+}
+@-moz-keyframes spin {
+  0% {
+    -moz-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -moz-transform: rotate(359deg);
+    -o-transform: rotate(359deg);
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
+@-webkit-keyframes spin {
+  0% {
+    -moz-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -moz-transform: rotate(359deg);
+    -o-transform: rotate(359deg);
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
+@-o-keyframes spin {
+  0% {
+    -moz-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -moz-transform: rotate(359deg);
+    -o-transform: rotate(359deg);
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
+@-ms-keyframes spin {
+  0% {
+    -moz-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -moz-transform: rotate(359deg);
+    -o-transform: rotate(359deg);
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
+@keyframes spin {
+  0% {
+    -moz-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -moz-transform: rotate(359deg);
+    -o-transform: rotate(359deg);
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
Index: /extensions/gvideo/template/fontello/css/gvideo-codes.css
===================================================================
--- /extensions/gvideo/template/fontello/css/gvideo-codes.css	(revision 26524)
+++ /extensions/gvideo/template/fontello/css/gvideo-codes.css	(revision 26524)
@@ -0,0 +1,2 @@
+
+.icon-gvideo-movie:before { content: '\e800'; } /* '' */
Index: /extensions/gvideo/template/fontello/css/gvideo-embedded.css
===================================================================
--- /extensions/gvideo/template/fontello/css/gvideo-embedded.css	(revision 26524)
+++ /extensions/gvideo/template/fontello/css/gvideo-embedded.css	(revision 26524)
@@ -0,0 +1,55 @@
+@font-face {
+  font-family: 'gvideo';
+  src: url('../font/gvideo.eot?4074080');
+  src: url('../font/gvideo.eot?4074080#iefix') format('embedded-opentype'),
+       url('../font/gvideo.svg?4074080#gvideo') format('svg');
+  font-weight: normal;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'gvideo';
+  src: url('data:application/octet-stream;base64,d09GRgABAAAAAAqAAA4AAAAAEYwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPglJOGNtYXAAAAGIAAAAOAAAAUrQERm3Y3Z0IAAAAcAAAAAUAAAAHAaX/0RmcGdtAAAB1AAABPkAAAmRigp4O2dhc3AAAAbQAAAACAAAAAgAAAAQZ2x5ZgAABtgAAAEuAAABeH3DZXJoZWFkAAAICAAAADQAAAA2AK7UfGhoZWEAAAg8AAAAHgAAACQHVwNVaG10eAAACFwAAAAIAAAACAeRAABsb2NhAAAIZAAAAAYAAAAGALwAAG1heHAAAAhsAAAAIAAAACABdwowbmFtZQAACIwAAAGAAAACtRzqaTZwb3N0AAAKDAAAABwAAAAucIZu0nByZXAAAAooAAAAVgAAAFaSoZr/eJxjYGQ+yTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHAHPQ/iyGK2YihHCjMCJIDAABRC794nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/P8PUgChJRih6oGAkY1hxAMAY8cGrnicY2BAA0YMRsxG/ztBGAARSgPfeJydVdl201YUlTxkcBI6ZKCgDtfcOFDryoQpGDBpKsV2IR0cCK0EHaQMdOSdxz7ra45Cu1Yf+bTufT0ktHSttiyWz75HW2fYOudGHCMqfRqIa9ShkpcDqaw9lkr3SVzXdS+PlQwGcV22Ek9Jm6idJEpq3exQLvFY6ypZJ1gn4+UgVk9VnmegDOIUHmVJRBtEG6mXJkniieMniRZnEB8lSSAloxCn0shQQjUaxFLVoUzp0KvXE3HTQMpGox51WFT3Q8UnxzWn1KwDRipXOcIV69VGvhunAy97kMQ6wbOthzEeeKx+lCqQipHpyD92Sk6UhoFUcdShVuLoMJNf95FMKs1ApoxiRaXugbjd/XTbFjE9dDq+LkqVRqq6uc4omu3R8aiDKA/Zxumk3NDZ9vDlGVNUq11xs+1AZg1cSslsdJ9EAB0mUuPpAU41nAKpGfVHxdnnzwESyVyUqjxVMod6A5kzO3txMe1uJ6uycKSfBzJvdnbjnYdDp1eHf9H6F0zhzEeP4mJ+PkL6UGp+Ik4kpUZYzPKnhh9xVyBCuTGICxfK4FOEOXRF2tlmXeO1MfaGz/lKqWE9Cdroo/h+Cv1OJCscZ1Gj9UiczWPXda3cZ1BLtbsXOzKvQ5Ui7u8LC64z54RhnhYLVV+e+d4FNP8GiGf8QN40hUv7lilKtG+boky7aIoK7RJUpV02xRTtiimmac+aYob2HVPM0p4zMuP/y9znkfsc3vGQm/Zd5KZ9D7lp30du2g+Qm1YhN20duWkvIDetRm7aVaM6dgQaBmkXUhVB0DSy+mHcVpv1QNaMNHxpYPIuYsj66kRHnbW1yh/Ff3XiCwdyaaKnuyIXm+Iur9sWPjzd7quPmkbdsNX4xpHyMB5Gehya0Fn5zeG/7U3dLpruMqoy6AEVTArAAGXtQALTOtsJpPWap/jyB2BchnjOSkO1VJ87hqbv5Xlf97E58b7H7cYut1x3eQlZ1g1yY/bw31Jkqusf5S2tVCdHrCsnj1VrGEMqvCi6vpKUe7S1G78oqbLyXpTWyueTkJs9gxtCW7buYbAjTGnKJR5eU6UoPdRSjrJDLG8pyjzglIsLWobEuA51D2prxOmhehgbCyGGobS9EHBIKV0V37TKd/Eeq2vY6PjFFeHpenISEZ/iKvtR8FTXRv3oDtq8Zt0ygylVqqf7jE+xr9v2UVlppI6zF7dUB9c06xo5FdNP5GvgdG84aN0DPVR8NEEjVTXH6MYoYzSWNeXfBHQxVn7DaNVi+z3cT52kVay5S5jsmxP34LS7/Sr7tZxbRtb91wa9beSKnyMxvy0K/DsHYrdkDdQ7k4EYC8hZ0BjGFiZ3GK6DbcRt9j8mp//fhoVFclc7Grt56sPVk1Eld9nyuMtNdlnXozZH1U4a+wiNLQ835tjhciy2xGBBtv7B/zHuAXdpUQLg0MhlmIjadKGe6uHqHquxbThXEgF2zbHjdAB6AC5B3xy71vMJgPXcI+cuwH1yCHbIIfiUHILPyLkF8Dk5BF+QQzAgh2CXnDsAD8gheEgOwR45BI/I2QT4khyCr8ghiMkhSMi5DfCYHIIn5BB8TQ7BN0auTmT+lgfZAPrOoptAqZ0aHNo4ZEauTdj7PFj2gUVkH1pE6pGR6xPqUx4s9XuLSP3BIlJ/NHJjQv2JB0v92SJSf7GI1GfGl5kjKa8OnvOODv4El+qtXgAAAAABAAH//wAPeJx1i8FSglAYhf+fa6CoCCpKoSECWlFZcJGSSkvL0k0zLvI+CE/QqrdoplUrfaXewG0LKhctnGY6M9/mO+eABPD9Qt6JB1XQwQAL2uBCB3wIIYI+DGEMU3gbvO6iXMeCJBcYIJTyWGI1lHTM56Q828HcNmbFXJZpKFYxkxYzDIqQEoopVsG0qTaIwKcFZqCiwIxDAHFYRp4nsy0kJEtGlGradPJwP767HQ1vrgf9q8uLqHd+RkMadgPfOz3pHB8dugf7e+2WY1tNs2Hs1muaruklU3FMxWpWXFWh3dBXzfW8UlXKvIuBqVrNVqj6QdsPrOAP66eJ/3TUjjk5tj2kVpysYptOeht55uRkxc03lcF9Oh4uFtROBJsul/QxiubR0y/JBzpf9U3zAwi2Q+UAAHicY2BkYGAA4nQF9ZR4fpuvDNzML4AiDOc+p/RBaB0/Bob/ncwrmY2AXA4GJpAoADJsCwt4nGNgZGBgDvqfxRDF/IIBCJhXMjAyoAImAGHHA7QAAAPoAAADqQAAAAAAAAC8AAAAAQAAAAIATAAOAAAAAAACAEQAUQBuAAAAtAmRAAAAAHicdZDNTsJAFIXPAEIU40IS1+PGQIzlJ7gQN0QScKWJCxLjwlSY/pDSIdOBhFfwHXwIX8hn8dBODJrYSW+/e+bcO3cK4BRfECiea74FC1SZFVxCDbeOy9TvHFfI944PUMeD4yrXs+MjXOLVcR0NvLODqBwyW+DDscCxqDku4UQ0HJepnzuukK8cH+BM3DiuUn90fISpeHFcx4X4HOnV1sRhZGVz1JK9Trcv37ZSU4pTP5H+2kbaZHIoA51alSTam+lluInnSj+pcJ34pkiKOFUmi3Uqu16nECYqVca3ar7rmm3CnrWBDIxeyrHrJ1dGL9TMepG1q0G7vX8ORtBYYQuDGCEiWEg0qbb47aGDLvqkNzoknYUrRgofCRUfa1ZE+U7GfMg3YJZSVXQkZA8zxiXrNqycU9d4YgxZm7CD+bWzz1PGXd847yg5i8eJ9h0TxjR3+fmJ859ZM7pC3sByBflUJp9CYvxnPsn77/YWVGbUvfwvWKoDtLn+uc837FZ8V3icY2BigAAuBuwAKM/IxJqbX5aZysAAAA0OAjdLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA') format('woff'),
+       url('data:application/octet-stream;base64,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LrEmARQrLbA5LLAwKyMgLkawAiVGUlggPFkusSYBFCstsDossDEriiAgPLAEI0KKOCMgLkawAiVGUlggPFkusSYBFCuwBEMusCYrLbA7LLAAFrAEJbAEJiAuRyNHI2GwBkUrIyA8IC4jOLEmARQrLbA8LLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAZFKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7CAYmAgsAArIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbCAYmGwAiVGYTgjIDwjOBshICBGI0ewACsjYTghWbEmARQrLbA9LLAwKy6xJgEUKy2wPiywMSshIyAgPLAEI0IjOLEmARQrsARDLrAmKy2wPyywABUgR7AAI0KyAAEBFRQTLrAsKi2wQCywABUgR7AAI0KyAAEBFRQTLrAsKi2wQSyxAAEUE7AtKi2wQiywLyotsEMssAAWRSMgLiBGiiNhOLEmARQrLbBELLAII0KwQystsEUssgAAPCstsEYssgABPCstsEcssgEAPCstsEgssgEBPCstsEkssgAAPSstsEossgABPSstsEsssgEAPSstsEwssgEBPSstsE0ssgAAOSstsE4ssgABOSstsE8ssgEAOSstsFAssgEBOSstsFEssgAAOystsFIssgABOystsFMssgEAOystsFQssgEBOystsFUssgAAPistsFYssgABPistsFcssgEAPistsFgssgEBPistsFkssgAAOistsFossgABOistsFsssgEAOistsFwssgEBOistsF0ssDIrLrEmARQrLbBeLLAyK7A2Ky2wXyywMiuwNystsGAssAAWsDIrsDgrLbBhLLAzKy6xJgEUKy2wYiywMyuwNistsGMssDMrsDcrLbBkLLAzK7A4Ky2wZSywNCsusSYBFCstsGYssDQrsDYrLbBnLLA0K7A3Ky2waCywNCuwOCstsGkssDUrLrEmARQrLbBqLLA1K7A2Ky2wayywNSuwNystsGwssDUrsDgrLbBtLCuwCGWwAyRQeLABFTAtAAAAS7gAyFJYsQEBjlm5CAAIAGMgsAEjRLADI3CyBCgJRVJEsgoCByqxBgFEsSQBiFFYsECIWLEGA0SxJgGIUVi4BACIWLEGAURZWVlZuAH/hbAEjbEFAEQAAA==') format('truetype');
+}
+/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
+/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+  @font-face {
+    font-family: 'gvideo';
+    src: url('../font/gvideo.svg?4074080#gvideo') format('svg');
+  }
+}
+*/
+ 
+ [class^="icon-gvideo-"]:before, [class*=" icon-gvideo-"]:before {
+  font-family: "gvideo";
+  font-style: normal;
+  font-weight: normal;
+  speak: none;
+ 
+  display: inline-block;
+  text-decoration: inherit;
+  width: 1em;
+  margin-right: .2em;
+  text-align: center;
+  /* opacity: .8; */
+ 
+  /* For safety - reset parent styles, that can break glyph codes*/
+  font-variant: normal;
+  text-transform: none;
+     
+  /* fix buttons height, for twitter bootstrap */
+  line-height: 1em;
+ 
+  /* Animation center compensation - margins should be symmetric */
+  /* remove if not needed */
+  margin-left: .2em;
+ 
+  /* you can be more comfortable with increased icons size */
+  /* font-size: 120%; */
+ 
+  /* Uncomment for 3D effect */
+  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
+}
+.icon-gvideo-movie:before { content: '\e800'; } /* '' */
Index: /extensions/gvideo/template/fontello/css/gvideo-ie7-codes.css
===================================================================
--- /extensions/gvideo/template/fontello/css/gvideo-ie7-codes.css	(revision 26524)
+++ /extensions/gvideo/template/fontello/css/gvideo-ie7-codes.css	(revision 26524)
@@ -0,0 +1,2 @@
+
+.icon-gvideo-movie { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe800;&nbsp;'); }
Index: /extensions/gvideo/template/fontello/css/gvideo-ie7.css
===================================================================
--- /extensions/gvideo/template/fontello/css/gvideo-ie7.css	(revision 26524)
+++ /extensions/gvideo/template/fontello/css/gvideo-ie7.css	(revision 26524)
@@ -0,0 +1,13 @@
+[class^="icon-gvideo-"], [class*=" icon-gvideo-"] {
+  font-family: 'gvideo';
+  font-style: normal;
+  font-weight: normal;
+ 
+  /* fix buttons height */
+  line-height: 1em;
+ 
+  /* you can be more comfortable with increased icons size */
+  /* font-size: 120%; */
+}
+ 
+.icon-gvideo-movie { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe800;&nbsp;'); }
Index: /extensions/gvideo/template/fontello/css/gvideo.css
===================================================================
--- /extensions/gvideo/template/fontello/css/gvideo.css	(revision 26524)
+++ /extensions/gvideo/template/fontello/css/gvideo.css	(revision 26524)
@@ -0,0 +1,53 @@
+@font-face {
+  font-family: 'gvideo';
+  src: url('../font/gvideo.eot?92080722');
+  src: url('../font/gvideo.eot?92080722#iefix') format('embedded-opentype'),
+       url('../font/gvideo.woff?92080722') format('woff'),
+       url('../font/gvideo.ttf?92080722') format('truetype'),
+       url('../font/gvideo.svg?92080722#gvideo') format('svg');
+  font-weight: normal;
+  font-style: normal;
+}
+/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
+/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+  @font-face {
+    font-family: 'gvideo';
+    src: url('../font/gvideo.svg?92080722#gvideo') format('svg');
+  }
+}
+*/
+ 
+ [class^="icon-gvideo-"]:before, [class*=" icon-gvideo-"]:before {
+  font-family: "gvideo";
+  font-style: normal;
+  font-weight: normal;
+  speak: none;
+ 
+  display: inline-block;
+  text-decoration: inherit;
+  width: 1em;
+  margin-right: .2em;
+  text-align: center;
+  /* opacity: .8; */
+ 
+  /* For safety - reset parent styles, that can break glyph codes*/
+  font-variant: normal;
+  text-transform: none;
+     
+  /* fix buttons height, for twitter bootstrap */
+  line-height: 1em;
+ 
+  /* Animation center compensation - margins should be symmetric */
+  /* remove if not needed */
+  margin-left: .2em;
+ 
+  /* you can be more comfortable with increased icons size */
+  /* font-size: 120%; */
+ 
+  /* Uncomment for 3D effect */
+  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
+}
+ 
+.icon-gvideo-movie:before { content: '\e800'; } /* '' */
Index: /extensions/gvideo/template/fontello/demo.html
===================================================================
--- /extensions/gvideo/template/fontello/demo.html	(revision 26524)
+++ /extensions/gvideo/template/fontello/demo.html	(revision 26524)
@@ -0,0 +1,269 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+    <meta charset="UTF-8"><style type="text/css">/*
+ * Bootstrap v2.2.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+.clearfix {
+  *zoom: 1;
+}
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  content: "";
+  line-height: 0;
+}
+.clearfix:after {
+  clear: both;
+}
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+a:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+a:hover,
+a:active {
+  outline: 0;
+}
+button,
+input,
+select,
+textarea {
+  margin: 0;
+  font-size: 100%;
+  vertical-align: middle;
+}
+button,
+input {
+  *overflow: visible;
+  line-height: normal;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+body {
+  margin: 0;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 20px;
+  color: #333;
+  background-color: #fff;
+}
+a {
+  color: #08c;
+  text-decoration: none;
+}
+a:hover {
+  color: #005580;
+  text-decoration: underline;
+}
+.row {
+  margin-left: -20px;
+  *zoom: 1;
+}
+.row:before,
+.row:after {
+  display: table;
+  content: "";
+  line-height: 0;
+}
+.row:after {
+  clear: both;
+}
+[class*="span"] {
+  float: left;
+  min-height: 1px;
+  margin-left: 20px;
+}
+.container,
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+  width: 940px;
+}
+.span12 {
+  width: 940px;
+}
+.span11 {
+  width: 860px;
+}
+.span10 {
+  width: 780px;
+}
+.span9 {
+  width: 700px;
+}
+.span8 {
+  width: 620px;
+}
+.span7 {
+  width: 540px;
+}
+.span6 {
+  width: 460px;
+}
+.span5 {
+  width: 380px;
+}
+.span4 {
+  width: 300px;
+}
+.span3 {
+  width: 220px;
+}
+.span2 {
+  width: 140px;
+}
+.span1 {
+  width: 60px;
+}
+[class*="span"].pull-right,
+.row-fluid [class*="span"].pull-right {
+  float: right;
+}
+.container {
+  margin-right: auto;
+  margin-left: auto;
+  *zoom: 1;
+}
+.container:before,
+.container:after {
+  display: table;
+  content: "";
+  line-height: 0;
+}
+.container:after {
+  clear: both;
+}
+p {
+  margin: 0 0 10px;
+}
+.lead {
+  margin-bottom: 20px;
+  font-size: 21px;
+  font-weight: 200;
+  line-height: 30px;
+}
+small {
+  font-size: 85%;
+}
+h1 {
+  margin: 10px 0;
+  font-family: inherit;
+  font-weight: bold;
+  line-height: 20px;
+  color: inherit;
+  text-rendering: optimizelegibility;
+}
+h1 small {
+  font-weight: normal;
+  line-height: 1;
+  color: #999;
+}
+h1 {
+  line-height: 40px;
+}
+h1 {
+  font-size: 38.5px;
+}
+h1 small {
+  font-size: 24.5px;
+}
+body {
+  margin-top: 90px;
+}
+.header {
+  position: fixed;
+  top: 0;
+  left: 50%;
+  margin-left: -480px;
+  background-color: #fff;
+  border-bottom: 1px solid #ddd;
+  padding-top: 10px;
+  z-index: 10;
+}
+.footer {
+  color: #ddd;
+  font-size: 12px;
+  text-align: center;
+  margin-top: 20px;
+}
+.footer a {
+  color: #ccc;
+  text-decoration: underline;
+}
+.the-icons {
+  font-size: 14px;
+  line-height: 24px;
+}
+.switch {
+  position: absolute;
+  right: 0;
+  bottom: 10px;
+  color: #666;
+}
+.switch input {
+  margin-right: 0.3em;
+}
+.codesOn .i-name {
+  display: none;
+}
+.codesOn .i-code {
+  display: inline;
+}
+.i-code {
+  display: none;
+}
+</style>
+    <link rel="stylesheet" href="css/gvideo.css">
+    <link rel="stylesheet" href="css/animation.css">
+    <!--[if IE 7]>
+    <link rel="stylesheet" href="css/gvideo-ie7.css">
+    <![endif]-->
+    <script>
+      function toggleCodes(on) {
+        var obj = document.getElementById('icons');
+        
+        if (on) {
+          obj.className += ' codesOn';
+        } else {
+          obj.className = obj.className.replace(' codesOn', '');
+        }
+      }
+      
+    </script>
+  </head>
+  <body>
+    <div class="container header">
+      <h1>
+        gvideo
+         <small>font demo</small>
+      </h1>
+      <label class="switch">
+        <input type="checkbox" onclick="toggleCodes(this.checked)">show codes
+      </label>
+    </div>
+    <div id="icons" class="container">
+      <div class="row">
+        <div title="Code: 0xe800" class="the-icons span3"><i class="icon-gvideo-movie"></i> <span class="i-name">icon-gvideo-movie</span><span class="i-code">0xe800</span></div>
+      </div>
+    </div>
+    <div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
+  </body>
+</html>
Index: /extensions/gvideo/template/fontello/font/gvideo.svg
===================================================================
--- /extensions/gvideo/template/fontello/font/gvideo.svg	(revision 26524)
+++ /extensions/gvideo/template/fontello/font/gvideo.svg	(revision 26524)
@@ -0,0 +1,12 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Copyright (C) 2014 by original authors @ fontello.com</metadata>
+<defs>
+<font id="gvideo" horiz-adv-x="1000" >
+<font-face font-family="gvideo" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
+<missing-glyph horiz-adv-x="1000" />
+<glyph glyph-name="movie" unicode="&#xe800;" d="m0-31v761q0 37 26 62t62 26h117v-175h528v175h117q36 0 61-26t26-62v-761q0-36-26-62t-61-26h-117v176h-528v-176h-117q-36 0-62 26t-26 62z m74 44v-59h58v59h-58z m0 88h58v59h-58v-59z m0 146h58v59h-58v-59z m0 147h58v59h-58v-59z m0 146h58v59h-58v-59z m0 147h58v59h-58v-59z m131-484h528v293h-528v-293z m600-190v-59h58v59h-58z m0 88h58v59h-58v-59z m0 146h58v59h-58v-59z m0 147h58v59h-58v-59z m0 146h58v59h-58v-59z m0 147h58v59h-58v-59z" horiz-adv-x="937.5" />
+</font>
+</defs>
+</svg>
