diff --git a/boot.php b/boot.php
index 8e79d6d9be..f69f6fe820 100644
--- a/boot.php
+++ b/boot.php
@@ -1847,3 +1847,54 @@ function random_digits($digits) {
}
return $rn;
}
+
+function get_cachefile($file, $writemode = true) {
+ $cache = get_config("system","itemcache");
+
+ if ($cache == "")
+ return("");
+
+ if (!is_dir($cache))
+ return("");
+
+ $subfolder = $cache."/".substr($file, 0, 2);
+
+ $cachepath = $subfolder."/".$file;
+
+ if ($writemode) {
+ if (!is_dir($subfolder)) {
+ mkdir($subfolder);
+ chmod($subfolder, 0777);
+ }
+ }
+
+ return($cachepath);
+}
+
+function clear_cache($basepath = "", $path = "") {
+ if ($path == "") {
+ $basepath = get_config('system','itemcache');
+ $path = $basepath;
+ }
+
+ if (($path == "") OR (!is_dir($path)))
+ return;
+
+ if (substr(realpath($path), 0, strlen($basepath)) != $basepath)
+ return;
+
+ $cachetime = (int)get_config('system','itemcache_duration');
+ if ($cachetime == 0)
+ $cachetime = 86400;
+
+ if ($dh = opendir($path)) {
+ while (($file = readdir($dh)) !== false) {
+ $fullpath = $path."/".$file;
+ if ((filetype($fullpath) == "dir") and ($file != ".") and ($file != ".."))
+ clear_cache($basepath, $fullpath);
+ if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - $cachetime))
+ unlink($fullpath);
+ }
+ closedir($dh);
+ }
+}
diff --git a/htconfig.php b/htconfig.php
index ab9a7ca506..bb0f47727a 100644
--- a/htconfig.php
+++ b/htconfig.php
@@ -91,3 +91,6 @@ $a->config['system']['lockpath'] = "";
// If enabled, the MyBB fulltext engine is used
// $a->config['system']['use_fulltext_engine'] = true;
+
+// Let reshared messages look like wall-to-wall posts
+// $a->config['system']['diaspora_newreshare'] = true;
diff --git a/include/api.php b/include/api.php
index 7517abb70c..8a93093c70 100644
--- a/include/api.php
+++ b/include/api.php
@@ -559,6 +559,8 @@
$_REQUEST['body'] = requestdata('status');
//$_REQUEST['body'] = urldecode(requestdata('status'));
+ $_REQUEST['title'] = requestdata('title');
+
$parent = requestdata('in_reply_to_status_id');
if(ctype_digit($parent))
$_REQUEST['parent'] = $parent;
diff --git a/include/bbcode.php b/include/bbcode.php
index ef4a9aa9ba..d83fe6c12f 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -3,7 +3,24 @@
require_once("include/oembed.php");
require_once('include/event.php');
+function cleancss($input) {
+ $cleaned = "";
+
+ $input = strtolower($input);
+
+ for ($i = 0; $i < strlen($input); $i++) {
+ $char = substr($input, $i, 1);
+
+ if (($char >= "a") and ($char <= "z"))
+ $cleaned .= $char;
+
+ if (!(strpos(" #;:0123456789", $char) === false))
+ $cleaned .= $char;
+ }
+
+ return($cleaned);
+}
function stripcode_br_cb($s) {
return '[code]' . str_replace('
', '', $s[1]) . '[/code]';
diff --git a/include/dba.php b/include/dba.php
index 9f2dab5191..ad33705bf1 100644
--- a/include/dba.php
+++ b/include/dba.php
@@ -231,7 +231,7 @@ function q($sql) {
unset($args[0]);
if($db && $db->connected) {
- $stmt = vsprintf($sql,$args);
+ $stmt = @vsprintf($sql,$args); // Disabled warnings
//logger("dba: q: $stmt", LOGGER_ALL);
if($stmt === false)
logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG);
diff --git a/include/diaspora.php b/include/diaspora.php
index f645aeb39b..c2b2fbcf4e 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -859,7 +859,8 @@ function diaspora_post($importer,$xml,$msg) {
$datarray['parent'] = 0;
$datarray['owner-name'] = $contact['name'];
$datarray['owner-link'] = $contact['url'];
- $datarray['owner-avatar'] = $contact['thumb'];
+ //$datarray['owner-avatar'] = $contact['thumb'];
+ $datarray['owner-avatar'] = ((x($contact,'thumb')) ? $contact['thumb'] : $contact['photo']);
$datarray['author-name'] = $contact['name'];
$datarray['author-link'] = $contact['url'];
$datarray['author-avatar'] = $contact['thumb'];
@@ -962,8 +963,8 @@ function diaspora_reshare($importer,$xml,$msg) {
$details = '[url=' . $person['url'] . ']' . $person['name'] . '[/url]';
else
$details = $orig_author;
-
- $prefix = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8') . $details . "\n";
+
+ $prefix = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8') . $details . "\n";
// allocate a guid on our system - we aren't fixing any collisions.
@@ -1021,11 +1022,22 @@ function diaspora_reshare($importer,$xml,$msg) {
$datarray['parent'] = 0;
$datarray['owner-name'] = $contact['name'];
$datarray['owner-link'] = $contact['url'];
- $datarray['owner-avatar'] = $contact['thumb'];
- $datarray['author-name'] = $contact['name'];
- $datarray['author-link'] = $contact['url'];
- $datarray['author-avatar'] = $contact['thumb'];
- $datarray['body'] = $prefix . $body;
+ $datarray['owner-avatar'] = ((x($contact,'thumb')) ? $contact['thumb'] : $contact['photo']);
+ if (intval(get_config('system','diaspora_newreshare'))) {
+ // Let reshared messages look like wall-to-wall posts
+ // we have to set an additional value in the item in the future
+ // to distinct the wall-to-wall-posts from reshared/repeated messages
+ $datarray['author-name'] = $person['name'];
+ $datarray['author-link'] = $person['url'];
+ $datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']);
+ $datarray['body'] = $body;
+ } else {
+ $datarray['author-name'] = $contact['name'];
+ $datarray['author-link'] = $contact['url'];
+ $datarray['author-avatar'] = $contact['thumb'];
+ $datarray['body'] = $prefix . $body;
+ }
+
$datarray['tag'] = $str_tags;
$datarray['app'] = 'Diaspora';
@@ -1116,7 +1128,8 @@ function diaspora_asphoto($importer,$xml,$msg) {
$datarray['parent'] = 0;
$datarray['owner-name'] = $contact['name'];
$datarray['owner-link'] = $contact['url'];
- $datarray['owner-avatar'] = $contact['thumb'];
+ //$datarray['owner-avatar'] = $contact['thumb'];
+ $datarray['owner-avatar'] = ((x($contact,'thumb')) ? $contact['thumb'] : $contact['photo']);
$datarray['author-name'] = $contact['name'];
$datarray['author-link'] = $contact['url'];
$datarray['author-avatar'] = $contact['thumb'];
@@ -1864,7 +1877,8 @@ EOT;
$arr['owner-name'] = $parent_item['name'];
$arr['owner-link'] = $parent_item['url'];
- $arr['owner-avatar'] = $parent_item['thumb'];
+ //$arr['owner-avatar'] = $parent_item['thumb'];
+ $arr['owner-avatar'] = ((x($parent_item,'thumb')) ? $parent_item['thumb'] : $parent_item['photo']);
$arr['author-name'] = $person['name'];
$arr['author-link'] = $person['url'];
diff --git a/include/html2plain.php b/include/html2plain.php
index 839dd70a74..4afac41d83 100644
--- a/include/html2plain.php
+++ b/include/html2plain.php
@@ -92,6 +92,9 @@ function collecturls($message) {
if ((strpos($treffer[1], "//plus.google.com/") !== false) and (strpos($treffer[1], "/posts") !== false))
$ignore = false;
+ if ((strpos($treffer[1], "//plus.google.com/") !== false) and (strpos($treffer[1], "/photos") !== false))
+ $ignore = false;
+
if (!$ignore)
$urls[$treffer[1]] = $treffer[1];
}
diff --git a/include/items.php b/include/items.php
index aea5a4de5e..4ef26fbda8 100755
--- a/include/items.php
+++ b/include/items.php
@@ -379,10 +379,12 @@ function title_is_body($title, $body) {
$title = strip_tags($title);
$title = trim($title);
+ $title = html_entity_decode($title, ENT_QUOTES, 'UTF-8');
$title = str_replace(array("\n", "\r", "\t", " "), array("","","",""), $title);
$body = strip_tags($body);
$body = trim($body);
+ $body = html_entity_decode($body, ENT_QUOTES, 'UTF-8');
$body = str_replace(array("\n", "\r", "\t", " "), array("","","",""), $body);
if (strlen($title) < strlen($body))
@@ -793,6 +795,8 @@ function get_atom_elements($feed,$item) {
// There is some better way to parse this array - but it didn't worked for me.
$child = $item->feed->data["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["feed"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["entry"][0]["child"]["http://activitystrea.ms/spec/1.0/"][object][0]["child"];
if (is_array($child)) {
+ logger('get_atom_elements: Looking for status.net repeated message');
+
$message = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["content"][0]["data"];
$author = $child[SIMPLEPIE_NAMESPACE_ATOM_10]["author"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10];
$uri = $author["uri"][0]["data"];
@@ -801,6 +805,8 @@ function get_atom_elements($feed,$item) {
$avatar = $avatar["href"];
if (($name != "") and ($uri != "") and ($avatar != "") and ($message != "")) {
+ logger('get_atom_elements: fixing sender of repeated message');
+
$res["owner-name"] = $res["author-name"];
$res["owner-link"] = $res["author-link"];
$res["owner-avatar"] = $res["author-avatar"];
diff --git a/include/network.php b/include/network.php
index 0e1a63792f..edd03d557a 100644
--- a/include/network.php
+++ b/include/network.php
@@ -823,15 +823,13 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
$scaled = $mtch[1];
$i = fetch_url($scaled);
- $cache = get_config('system','itemcache');
- if (($cache != '') and is_dir($cache)) {
- $cachefile = $cache."/".hash("md5", $scaled);
+ $cachefile = get_cachefile(hash("md5", $scaled));
+ if ($cachefile != '')
file_put_contents($cachefile, $i);
- }
// guess mimetype from headers or filename
$type = guess_image_type($mtch[1],true);
-
+
if($i) {
$ph = new Photo($i, $type);
if($ph->is_valid()) {
diff --git a/include/poller.php b/include/poller.php
index d5efa36a83..6f2eeed822 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -102,18 +102,8 @@ function poller_run(&$argv, &$argc){
// clear old cache
Cache::clear();
- // clear item cache files if they are older than one day
- $cache = get_config('system','itemcache');
- if (($cache != '') and is_dir($cache)) {
- if ($dh = opendir($cache)) {
- while (($file = readdir($dh)) !== false) {
- $fullpath = $cache."/".$file;
- if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - 86400))
- unlink($fullpath);
- }
- closedir($dh);
- }
- }
+ // clear old item cache files
+ clear_cache();
$manual_id = 0;
$generation = 0;
@@ -128,7 +118,7 @@ function poller_run(&$argv, &$argc){
$restart = true;
$generation = intval($argv[2]);
if(! $generation)
- killme();
+ killme();
}
if(($argc > 1) && intval($argv[1])) {
diff --git a/include/text.php b/include/text.php
index 044a1f8926..a326412411 100644
--- a/include/text.php
+++ b/include/text.php
@@ -962,13 +962,11 @@ if(! function_exists('prepare_body')) {
function prepare_body($item,$attach = false) {
$a = get_app();
- call_hooks('prepare_body_init', $item);
+ call_hooks('prepare_body_init', $item);
- $cache = get_config('system','itemcache');
-
- if (($cache != '')) {
- $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".hash("crc32", $item['body']);
+ $cachefile = get_cachefile($item["guid"]."-".strtotime($item["edited"])."-".hash("crc32", $item['body']));
+ if (($cachefile != '')) {
if (file_exists($cachefile))
$s = file_get_contents($cachefile);
else {
diff --git a/mod/photo.php b/mod/photo.php
index dee483d835..e37b927385 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -4,30 +4,7 @@ require_once('include/security.php');
require_once('include/Photo.php');
function photo_init(&$a) {
-
- // To-Do:
- // - checking with realpath
- // - checking permissions
- /*
- $cache = get_config('system','itemcache');
- if (($cache != '') and is_dir($cache)) {
- $cachefile = $cache."/".$a->argc."-".$a->argv[1]."-".$a->argv[2]."-".$a->argv[3];
- if (file_exists($cachefile)) {
- $data = file_get_contents($cachefile);
-
- if(function_exists('header_remove')) {
- header_remove('Pragma');
- header_remove('pragma');
- }
-
- header("Content-type: image/jpeg");
- header("Expires: " . gmdate("D, d M Y H:i:s", time() + (3600*24)) . " GMT");
- header("Cache-Control: max-age=" . (3600*24));
- echo $data;
- killme();
- // NOTREACHED
- }
- }*/
+ global $_SERVER;
$prvcachecontrol = false;
@@ -50,6 +27,22 @@ function photo_init(&$a) {
// NOTREACHED
}
+ // strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= filemtime($localFileName)) {
+ if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
+ header('HTTP/1.1 304 Not Modified');
+ header("Last-Modified: " . gmdate("D, d M Y H:i:s", time()) . " GMT");
+ header('Etag: '.$_SERVER['HTTP_IF_NONE_MATCH']);
+ header("Expires: " . gmdate("D, d M Y H:i:s", time() + (31536000)) . " GMT");
+ header("Cache-Control: max-age=31536000");
+ if(function_exists('header_remove')) {
+ header_remove('Last-Modified');
+ header_remove('Expires');
+ header_remove('Cache-Control');
+ }
+ exit;
+ }
+
+
$default = 'images/person-175.jpg';
if(isset($type)) {
@@ -182,10 +175,6 @@ function photo_init(&$a) {
}
}
- // Writing in cachefile
- if (isset($cachefile) && $cachefile != '')
- file_put_contents($cachefile, $data);
-
if(function_exists('header_remove')) {
header_remove('Pragma');
header_remove('pragma');
@@ -203,10 +192,10 @@ function photo_init(&$a) {
}
else {
-
- header("Expires: " . gmdate("D, d M Y H:i:s", time() + (3600*24)) . " GMT");
- header("Cache-Control: max-age=" . (3600*24));
-
+ header("Last-Modified: " . gmdate("D, d M Y H:i:s", time()) . " GMT");
+ header('Etag: "'.md5($data).'"');
+ header("Expires: " . gmdate("D, d M Y H:i:s", time() + (31536000)) . " GMT");
+ header("Cache-Control: max-age=31536000");
}
echo $data;
killme();
diff --git a/object/Item.php b/object/Item.php
index b8afe2213a..2799291111 100644
--- a/object/Item.php
+++ b/object/Item.php
@@ -229,6 +229,7 @@ class Item extends BaseObject {
'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'olinktitle' => sprintf( t('View %s\'s profile @ %s'), $this->get_owner_name(), ((strlen($item['owner-link'])) ? $item['owner-link'] : $item['url'])),
'to' => t('to'),
+ 'via' => t('via'),
'wall' => t('Wall-to-Wall'),
'vwall' => t('via Wall-To-Wall:'),
'profile_url' => $profile_link,
@@ -256,6 +257,7 @@ class Item extends BaseObject {
'vote' => $buttons,
'like' => $like,
'dislike' => $dislike,
+ 'switchcomment' => t('Comment'),
'comment' => $this->get_comment_box($indent),
'previewing' => ($conv->is_preview() ? ' preview ' : ''),
'wait' => t('Please wait'),
diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php
index c0ca82b41c..b4d7de1796 100644
--- a/view/theme/diabook/theme.php
+++ b/view/theme/diabook/theme.php
@@ -37,6 +37,7 @@ load_config("diabook");
load_pconfig(local_user(), "diabook");
//get statuses of boxes at right-hand-column
+$close_pages = get_diabook_config( "close_pages", 0 );
$close_profiles = get_diabook_config( "close_profiles", 0 );
$close_helpers = get_diabook_config( "close_helpers", 0 );
$close_services = get_diabook_config( "close_services", 0 );
@@ -301,6 +302,11 @@ if ($color=="dark") $color_path = "/diabook-dark/";
document.getElementById( "close_mapquery" ).style.display = "none";
};
+ if('.$close_pages.')
+ {
+ document.getElementById( "close_pages" ).style.display = "none";
+ };
+
if('.$close_profiles.')
{
document.getElementById( "close_profiles" ).style.display = "none";
@@ -362,6 +368,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
function diabook_community_info() {
$a = get_app();
+ $close_pages = get_diabook_config( "close_pages", 0 );
$close_profiles = get_diabook_config( "close_profiles", 0 );
$close_helpers = get_diabook_config( "close_helpers", 0 );
$close_services = get_diabook_config( "close_services", 0 );
@@ -372,6 +379,43 @@ if ($color=="dark") $color_path = "/diabook-dark/";
$close_twitter = get_diabook_config( "close_twitter", 1 );
$close_mapquery = get_diabook_config( "close_mapquery", 1 );
+ //Community_Pages at right_aside
+ if($close_pages != "1") {
+ if(local_user()) {
+ $page = '
+
'.t("Community Pages").'
+ ';
+
+ $pagelist = array();
+
+ $contacts = q("SELECT `id`, `url`, `name`, `micro`FROM `contact`
+ WHERE `network`= 'dfrn' AND `forum` = 1 AND `uid` = %d
+ ORDER BY `name` ASC",
+ intval($a->user['uid'])
+ );
+
+ $pageD = array();
+
+ // Look if the profile is a community page
+ foreach($contacts as $contact) {
+ $pageD[] = array("url"=>$contact["url"], "name"=>$contact["name"], "id"=>$contact["id"], "micro"=>$contact['micro']);
+ };
+
+
+ $contacts = $pageD;
+
+ foreach($contacts as $contact) {
+ $page .= '- '.
+ $contact["name"]."
";
+ }
+ $page .= '
';
+ //if (sizeof($contacts) > 0)
+ $aside['$page'] = $page;
+ }
+ }
+ //END Community Page
+
// comunity_profiles
if($close_profiles != "1") {
$aside['$comunity_profiles_title'] = t('Community Profiles');
@@ -575,6 +619,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
}
//end twitter
if($ccCookie != "10") {
+ $close_pages = get_diabook_config( "close_pages", 0 );
$close_profiles = get_diabook_config( "close_profiles", 0 );
$close_helpers = get_diabook_config( "close_helpers", 0 );
$close_services = get_diabook_config( "close_services", 0 );
@@ -587,6 +632,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
$close_or_not = array('1'=>t("don't show"), '0'=>t("show"),);
$boxsettings['title'] = Array("", t('Show/hide boxes at right-hand column:'), "", "");
$aside['$boxsettings'] = $boxsettings;
+ $aside['$close_pages'] = array('diabook_close_pages', t('Community Pages'), $close_pages, '', $close_or_not);
$aside['$close_mapquery'] = array('diabook_close_mapquery', t('Earth Layers'), $close_mapquery, '', $close_or_not);
$aside['$close_profiles'] = array('diabook_close_profiles', t('Community Profiles'), $close_profiles, '', $close_or_not);
$aside['$close_helpers'] = array('diabook_close_helpers', t('Help or @NewHere ?'), $close_helpers, '', $close_or_not);
@@ -600,6 +646,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
$baseurl = $a->get_baseurl($ssl_state);
$aside['$baseurl'] = $baseurl;
if (isset($_POST['diabook-settings-box-sub']) && $_POST['diabook-settings-box-sub']!=''){
+ set_pconfig(local_user(), 'diabook', 'close_pages', $_POST['diabook_close_pages']);
set_pconfig(local_user(), 'diabook', 'close_mapquery', $_POST['diabook_close_mapquery']);
set_pconfig(local_user(), 'diabook', 'close_profiles', $_POST['diabook_close_profiles']);
set_pconfig(local_user(), 'diabook', 'close_helpers', $_POST['diabook_close_helpers']);
diff --git a/view/theme/vier/css/font-awesome-ie7.css b/view/theme/vier/css/font-awesome-ie7.css
new file mode 100644
index 0000000000..c1dc3ac6b3
--- /dev/null
+++ b/view/theme/vier/css/font-awesome-ie7.css
@@ -0,0 +1,645 @@
+[class^="icon-"],
+[class*=" icon-"] {
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+}
+.btn.dropdown-toggle [class^="icon-"],
+.btn.dropdown-toggle [class*=" icon-"] {
+ /* keeps button heights with and without icons the same */
+
+ line-height: 1.4em;
+}
+.icon-large {
+ font-size: 1.3333em;
+}
+.icon-glass {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-music {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-search {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-envelope {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-heart {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-star {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-star-empty {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-user {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-film {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-th-large {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-th {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-th-list {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-ok {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-remove {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-zoom-in {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-zoom-out {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-off {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-signal {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-cog {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-trash {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-home {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-file {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-time {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-road {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-download-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-download {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-upload {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-inbox {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-play-circle {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-repeat {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-refresh {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-list-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-lock {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-flag {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-headphones {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-volume-off {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-volume-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-volume-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-qrcode {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-barcode {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-tag {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-tags {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-book {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bookmark {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-print {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-camera {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-font {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bold {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-italic {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-text-height {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-text-width {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-align-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-align-center {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-align-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-align-justify {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-list {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-indent-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-indent-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-facetime-video {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-picture {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-pencil {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-map-marker {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-adjust {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-tint {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-edit {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-share {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-check {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-move {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-step-backward {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-fast-backward {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-backward {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-play {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-pause {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-stop {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-forward {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-fast-forward {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-step-forward {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-eject {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-chevron-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-chevron-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-plus-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-minus-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-remove-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-ok-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-question-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-info-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-screenshot {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-remove-circle {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-ok-circle {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-ban-circle {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-arrow-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-arrow-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-arrow-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-arrow-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-share-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-resize-full {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-resize-small {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-plus {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-minus {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-asterisk {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-exclamation-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-gift {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-leaf {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-fire {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-eye-open {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-eye-close {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-warning-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-plane {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-calendar {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-random {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-comment {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-magnet {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-chevron-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-chevron-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-retweet {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-shopping-cart {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-folder-close {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-folder-open {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-resize-vertical {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-resize-horizontal {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bar-chart {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-twitter-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-facebook-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-camera-retro {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-key {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-cogs {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-comments {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-thumbs-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-thumbs-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-star-half {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-heart-empty {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-signout {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-linkedin-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-pushpin {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-external-link {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-signin {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-trophy {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-github-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-upload-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-lemon {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-phone {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-check-empty {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bookmark-empty {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-phone-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-twitter {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-facebook {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-github {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-unlock {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-credit-card {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-rss {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-hdd {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bullhorn {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bell {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-certificate {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-hand-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-hand-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-hand-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-hand-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-circle-arrow-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-circle-arrow-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-circle-arrow-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-circle-arrow-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-globe {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-wrench {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-tasks {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-filter {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-briefcase {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-fullscreen {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-group {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-link {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-cloud {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-beaker {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-cut {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-copy {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-paper-clip {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-save {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-sign-blank {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-reorder {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-list-ul {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-list-ol {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-strikethrough {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-underline {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-table {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-magic {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-truck {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-pinterest {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-pinterest-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-google-plus-sign {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-google-plus {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-money {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-caret-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-caret-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-caret-left {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-caret-right {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-columns {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-sort {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-sort-down {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-sort-up {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-envelope-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-linkedin {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-undo {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-legal {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-dashboard {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-comment-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-comments-alt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-bolt {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-sitemap {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-umbrella {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-paste {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
+.icon-user-md {
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' ');
+}
diff --git a/view/theme/vier/css/font-awesome.css b/view/theme/vier/css/font-awesome.css
new file mode 100644
index 0000000000..4697599c73
--- /dev/null
+++ b/view/theme/vier/css/font-awesome.css
@@ -0,0 +1,303 @@
+/* Font Awesome
+ the iconic font designed for use with Twitter Bootstrap
+ -------------------------------------------------------
+ The full suite of pictographic icons, examples, and documentation
+ can be found at: http://fortawesome.github.com/Font-Awesome/
+
+ License
+ -------------------------------------------------------
+ The Font Awesome webfont, CSS, and LESS files are licensed under CC BY 3.0:
+ http://creativecommons.org/licenses/by/3.0/ A mention of
+ 'Font Awesome - http://fortawesome.github.com/Font-Awesome' in human-readable
+ source code is considered acceptable attribution (most common on the web).
+ If human readable source code is not available to the end user, a mention in
+ an 'About' or 'Credits' screen is considered acceptable (most common in desktop
+ or mobile software).
+
+ Contact
+ -------------------------------------------------------
+ Email: dave@davegandy.com
+ Twitter: http://twitter.com/fortaweso_me
+ Work: http://lemonwi.se co-founder
+
+ */
+@font-face {
+ font-family: "FontAwesome";
+ src: url('../font/fontawesome-webfont.eot');
+ src: url('../font/fontawesome-webfont.eot?#iefix') format('eot'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svg#FontAwesome') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+/* Font Awesome styles
+ ------------------------------------------------------- */
+[class^="icon-"]:before, [class*=" icon-"]:before {
+ font-family: FontAwesome;
+ font-weight: normal;
+ font-style: normal;
+ display: inline-block;
+ text-decoration: inherit;
+}
+a [class^="icon-"], a [class*=" icon-"] {
+ display: inline-block;
+ text-decoration: inherit;
+}
+/* makes the font 33% larger relative to the icon container */
+.icon-large:before {
+ vertical-align: top;
+ font-size: 1.3333333333333333em;
+}
+.btn [class^="icon-"], .btn [class*=" icon-"] {
+ /* keeps button heights with and without icons the same */
+
+ line-height: .9em;
+}
+li [class^="icon-"], li [class*=" icon-"] {
+ display: inline-block;
+ width: 1.25em;
+ text-align: center;
+}
+li .icon-large[class^="icon-"], li .icon-large[class*=" icon-"] {
+ /* 1.5 increased font size for icon-large * 1.25 width */
+
+ width: 1.875em;
+}
+li[class^="icon-"], li[class*=" icon-"] {
+ margin-left: 0;
+ list-style-type: none;
+}
+li[class^="icon-"]:before, li[class*=" icon-"]:before {
+ text-indent: -2em;
+ text-align: center;
+}
+li[class^="icon-"].icon-large:before, li[class*=" icon-"].icon-large:before {
+ text-indent: -1.3333333333333333em;
+}
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+ readers do not read off random characters that represent icons */
+.icon-glass:before { content: "\f000"; }
+.icon-music:before { content: "\f001"; }
+.icon-search:before { content: "\f002"; }
+.icon-envelope:before { content: "\f003"; }
+.icon-heart:before { content: "\f004"; }
+.icon-star:before { content: "\f005"; }
+.icon-star-empty:before { content: "\f006"; }
+.icon-user:before { content: "\f007"; }
+.icon-film:before { content: "\f008"; }
+.icon-th-large:before { content: "\f009"; }
+.icon-th:before { content: "\f00a"; }
+.icon-th-list:before { content: "\f00b"; }
+.icon-ok:before { content: "\f00c"; }
+.icon-remove:before { content: "\f00d"; }
+.icon-zoom-in:before { content: "\f00e"; }
+
+.icon-zoom-out:before { content: "\f010"; }
+.icon-off:before { content: "\f011"; }
+.icon-signal:before { content: "\f012"; }
+.icon-cog:before { content: "\f013"; }
+.icon-trash:before { content: "\f014"; }
+.icon-home:before { content: "\f015"; }
+.icon-file:before { content: "\f016"; }
+.icon-time:before { content: "\f017"; }
+.icon-road:before { content: "\f018"; }
+.icon-download-alt:before { content: "\f019"; }
+.icon-download:before { content: "\f01a"; }
+.icon-upload:before { content: "\f01b"; }
+.icon-inbox:before { content: "\f01c"; }
+.icon-play-circle:before { content: "\f01d"; }
+.icon-repeat:before { content: "\f01e"; }
+
+/* \f020 doesn't work in Safari. all shifted one down */
+.icon-refresh:before { content: "\f021"; }
+.icon-list-alt:before { content: "\f022"; }
+.icon-lock:before { content: "\f023"; }
+.icon-flag:before { content: "\f024"; }
+.icon-headphones:before { content: "\f025"; }
+.icon-volume-off:before { content: "\f026"; }
+.icon-volume-down:before { content: "\f027"; }
+.icon-volume-up:before { content: "\f028"; }
+.icon-qrcode:before { content: "\f029"; }
+.icon-barcode:before { content: "\f02a"; }
+.icon-tag:before { content: "\f02b"; }
+.icon-tags:before { content: "\f02c"; }
+.icon-book:before { content: "\f02d"; }
+.icon-bookmark:before { content: "\f02e"; }
+.icon-print:before { content: "\f02f"; }
+
+.icon-camera:before { content: "\f030"; }
+.icon-font:before { content: "\f031"; }
+.icon-bold:before { content: "\f032"; }
+.icon-italic:before { content: "\f033"; }
+.icon-text-height:before { content: "\f034"; }
+.icon-text-width:before { content: "\f035"; }
+.icon-align-left:before { content: "\f036"; }
+.icon-align-center:before { content: "\f037"; }
+.icon-align-right:before { content: "\f038"; }
+.icon-align-justify:before { content: "\f039"; }
+.icon-list:before { content: "\f03a"; }
+.icon-indent-left:before { content: "\f03b"; }
+.icon-indent-right:before { content: "\f03c"; }
+.icon-facetime-video:before { content: "\f03d"; }
+.icon-picture:before { content: "\f03e"; }
+
+.icon-pencil:before { content: "\f040"; }
+.icon-map-marker:before { content: "\f041"; }
+.icon-adjust:before { content: "\f042"; }
+.icon-tint:before { content: "\f043"; }
+.icon-edit:before { content: "\f044"; }
+.icon-share:before { content: "\f045"; }
+.icon-check:before { content: "\f046"; }
+.icon-move:before { content: "\f047"; }
+.icon-step-backward:before { content: "\f048"; }
+.icon-fast-backward:before { content: "\f049"; }
+.icon-backward:before { content: "\f04a"; }
+.icon-play:before { content: "\f04b"; }
+.icon-pause:before { content: "\f04c"; }
+.icon-stop:before { content: "\f04d"; }
+.icon-forward:before { content: "\f04e"; }
+
+.icon-fast-forward:before { content: "\f050"; }
+.icon-step-forward:before { content: "\f051"; }
+.icon-eject:before { content: "\f052"; }
+.icon-chevron-left:before { content: "\f053"; }
+.icon-chevron-right:before { content: "\f054"; }
+.icon-plus-sign:before { content: "\f055"; }
+.icon-minus-sign:before { content: "\f056"; }
+.icon-remove-sign:before { content: "\f057"; }
+.icon-ok-sign:before { content: "\f058"; }
+.icon-question-sign:before { content: "\f059"; }
+.icon-info-sign:before { content: "\f05a"; }
+.icon-screenshot:before { content: "\f05b"; }
+.icon-remove-circle:before { content: "\f05c"; }
+.icon-ok-circle:before { content: "\f05d"; }
+.icon-ban-circle:before { content: "\f05e"; }
+
+.icon-arrow-left:before { content: "\f060"; }
+.icon-arrow-right:before { content: "\f061"; }
+.icon-arrow-up:before { content: "\f062"; }
+.icon-arrow-down:before { content: "\f063"; }
+.icon-share-alt:before { content: "\f064"; }
+.icon-resize-full:before { content: "\f065"; }
+.icon-resize-small:before { content: "\f066"; }
+.icon-plus:before { content: "\f067"; }
+.icon-minus:before { content: "\f068"; }
+.icon-asterisk:before { content: "\f069"; }
+.icon-exclamation-sign:before { content: "\f06a"; }
+.icon-gift:before { content: "\f06b"; }
+.icon-leaf:before { content: "\f06c"; }
+.icon-fire:before { content: "\f06d"; }
+.icon-eye-open:before { content: "\f06e"; }
+
+.icon-eye-close:before { content: "\f070"; }
+.icon-warning-sign:before { content: "\f071"; }
+.icon-plane:before { content: "\f072"; }
+.icon-calendar:before { content: "\f073"; }
+.icon-random:before { content: "\f074"; }
+.icon-comment:before { content: "\f075"; }
+.icon-magnet:before { content: "\f076"; }
+.icon-chevron-up:before { content: "\f077"; }
+.icon-chevron-down:before { content: "\f078"; }
+.icon-retweet:before { content: "\f079"; }
+.icon-shopping-cart:before { content: "\f07a"; }
+.icon-folder-close:before { content: "\f07b"; }
+.icon-folder-open:before { content: "\f07c"; }
+.icon-resize-vertical:before { content: "\f07d"; }
+.icon-resize-horizontal:before { content: "\f07e"; }
+
+.icon-bar-chart:before { content: "\f080"; }
+.icon-twitter-sign:before { content: "\f081"; }
+.icon-facebook-sign:before { content: "\f082"; }
+.icon-camera-retro:before { content: "\f083"; }
+.icon-key:before { content: "\f084"; }
+.icon-cogs:before { content: "\f085"; }
+.icon-comments:before { content: "\f086"; }
+.icon-thumbs-up:before { content: "\f087"; }
+.icon-thumbs-down:before { content: "\f088"; }
+.icon-star-half:before { content: "\f089"; }
+.icon-heart-empty:before { content: "\f08a"; }
+.icon-signout:before { content: "\f08b"; }
+.icon-linkedin-sign:before { content: "\f08c"; }
+.icon-pushpin:before { content: "\f08d"; }
+.icon-external-link:before { content: "\f08e"; }
+
+.icon-signin:before { content: "\f090"; }
+.icon-trophy:before { content: "\f091"; }
+.icon-github-sign:before { content: "\f092"; }
+.icon-upload-alt:before { content: "\f093"; }
+.icon-lemon:before { content: "\f094"; }
+.icon-phone:before { content: "\f095"; }
+.icon-check-empty:before { content: "\f096"; }
+.icon-bookmark-empty:before { content: "\f097"; }
+.icon-phone-sign:before { content: "\f098"; }
+.icon-twitter:before { content: "\f099"; }
+.icon-facebook:before { content: "\f09a"; }
+.icon-github:before { content: "\f09b"; }
+.icon-unlock:before { content: "\f09c"; }
+.icon-credit-card:before { content: "\f09d"; }
+.icon-rss:before { content: "\f09e"; }
+
+.icon-hdd:before { content: "\f0a0"; }
+.icon-bullhorn:before { content: "\f0a1"; }
+.icon-bell:before { content: "\f0a2"; }
+.icon-certificate:before { content: "\f0a3"; }
+.icon-hand-right:before { content: "\f0a4"; }
+.icon-hand-left:before { content: "\f0a5"; }
+.icon-hand-up:before { content: "\f0a6"; }
+.icon-hand-down:before { content: "\f0a7"; }
+.icon-circle-arrow-left:before { content: "\f0a8"; }
+.icon-circle-arrow-right:before { content: "\f0a9"; }
+.icon-circle-arrow-up:before { content: "\f0aa"; }
+.icon-circle-arrow-down:before { content: "\f0ab"; }
+.icon-globe:before { content: "\f0ac"; }
+.icon-wrench:before { content: "\f0ad"; }
+.icon-tasks:before { content: "\f0ae"; }
+
+.icon-filter:before { content: "\f0b0"; }
+.icon-briefcase:before { content: "\f0b1"; }
+.icon-fullscreen:before { content: "\f0b2"; }
+
+.icon-group:before { content: "\f0c0"; }
+.icon-link:before { content: "\f0c1"; }
+.icon-cloud:before { content: "\f0c2"; }
+.icon-beaker:before { content: "\f0c3"; }
+.icon-cut:before { content: "\f0c4"; }
+.icon-copy:before { content: "\f0c5"; }
+.icon-paper-clip:before { content: "\f0c6"; }
+.icon-save:before { content: "\f0c7"; }
+.icon-sign-blank:before { content: "\f0c8"; }
+.icon-reorder:before { content: "\f0c9"; }
+.icon-list-ul:before { content: "\f0ca"; }
+.icon-list-ol:before { content: "\f0cb"; }
+.icon-strikethrough:before { content: "\f0cc"; }
+.icon-underline:before { content: "\f0cd"; }
+.icon-table:before { content: "\f0ce"; }
+
+.icon-magic:before { content: "\f0d0"; }
+.icon-truck:before { content: "\f0d1"; }
+.icon-pinterest:before { content: "\f0d2"; }
+.icon-pinterest-sign:before { content: "\f0d3"; }
+.icon-google-plus-sign:before { content: "\f0d4"; }
+.icon-google-plus:before { content: "\f0d5"; }
+.icon-money:before { content: "\f0d6"; }
+.icon-caret-down:before { content: "\f0d7"; }
+.icon-caret-up:before { content: "\f0d8"; }
+.icon-caret-left:before { content: "\f0d9"; }
+.icon-caret-right:before { content: "\f0da"; }
+.icon-columns:before { content: "\f0db"; }
+.icon-sort:before { content: "\f0dc"; }
+.icon-sort-down:before { content: "\f0dd"; }
+.icon-sort-up:before { content: "\f0de"; }
+
+.icon-envelope-alt:before { content: "\f0e0"; }
+.icon-linkedin:before { content: "\f0e1"; }
+.icon-undo:before { content: "\f0e2"; }
+.icon-legal:before { content: "\f0e3"; }
+.icon-dashboard:before { content: "\f0e4"; }
+.icon-comment-alt:before { content: "\f0e5"; }
+.icon-comments-alt:before { content: "\f0e6"; }
+.icon-bolt:before { content: "\f0e7"; }
+.icon-sitemap:before { content: "\f0e8"; }
+.icon-umbrella:before { content: "\f0e9"; }
+.icon-paste:before { content: "\f0ea"; }
+
+.icon-user-md:before { content: "\f200"; }
diff --git a/view/theme/vier/font/fontawesome-webfont.eot b/view/theme/vier/font/fontawesome-webfont.eot
new file mode 100755
index 0000000000..89070c1e63
Binary files /dev/null and b/view/theme/vier/font/fontawesome-webfont.eot differ
diff --git a/view/theme/vier/font/fontawesome-webfont.svg b/view/theme/vier/font/fontawesome-webfont.svg
new file mode 100755
index 0000000000..1245f92c2e
--- /dev/null
+++ b/view/theme/vier/font/fontawesome-webfont.svg
@@ -0,0 +1,255 @@
+
+
+
\ No newline at end of file
diff --git a/view/theme/vier/font/fontawesome-webfont.ttf b/view/theme/vier/font/fontawesome-webfont.ttf
new file mode 100755
index 0000000000..c17e9f8d10
Binary files /dev/null and b/view/theme/vier/font/fontawesome-webfont.ttf differ
diff --git a/view/theme/vier/font/fontawesome-webfont.woff b/view/theme/vier/font/fontawesome-webfont.woff
new file mode 100755
index 0000000000..09f2469a1f
Binary files /dev/null and b/view/theme/vier/font/fontawesome-webfont.woff differ
diff --git a/view/theme/vier/mail_list.tpl b/view/theme/vier/mail_list.tpl
new file mode 100644
index 0000000000..1d78db2fc5
--- /dev/null
+++ b/view/theme/vier/mail_list.tpl
@@ -0,0 +1,8 @@
+
+
$subject
+
$from_name
+
$date
+
$count
+
+
+
diff --git a/view/theme/vier/nav.tpl b/view/theme/vier/nav.tpl
index bb3ce2016c..b2b6cc7855 100644
--- a/view/theme/vier/nav.tpl
+++ b/view/theme/vier/nav.tpl
@@ -6,20 +6,6 @@