Aimee (girlboheme) wrote in s2layers,
Aimee
girlboheme
s2layers

[theme - quitelickable - mood icon to left of metadata]

This code is kunzite1's code for Boxer, just tweaked a teensy bit by me to work with Quite Lickable. So just credit him with it. I was just saving him the trouble. Thanks.

function Entry::lay_print_metadata() {
var string tags_header         = "Tags"; # text for tags header,    "Current Tags"
var string tags_joiner         = "";            # text for tags joiner,    ":"
var string tags_sep            = ", ";           # text for tags separator, ", "
var bool   show_edit_tags_link = false;          # set to true if you want edit tags link as tags header
var string currents_open       = """<div class="metadata">"""; # html for opening of currents container
var string currents_close      = """</div>"""; # html for closing of currents container
var bool   loc_after_mood      = false;               # set to true to print location after mood
var bool   vanilla_loc         = false;               # set to true to delinkify location
# if you need data specific to the meta to be in these strings you'll have to set those individually down further
# one example is provided with meta_label_open
var string meta_label_open     = """<strong>""";   # html for opening of metadata label
var string meta_label_close    = """</strong>: """; # html for closing of metadata label
var string meta_val_open       = "";               # html for opening of metadata value
var string meta_val_close      = """<br />""";     # html for closing of metadata value
var Link   edit_tags           = $this->get_link("edit_tags"); # helper var to see if remote user can edit tags
if ((size $.metadata > 0) or ((size $.tags > 0) and ($*tags_aware))){
if($.metadata{"mood"} == "" and $loc_after_mood) {
# if we're printing loc after mood but we have no mood, set loc_after_mood to false
$loc_after_mood = false;
}
var string currents = "";             # make var for printing
$currents           = $currents_open; # add opening of currents container
if(defined $.mood_icon) {
var Image i = $.mood_icon;
$currents = $currents + """<table border="0"><tr><td><img src="$i.url" _fcksavedurl="$i.url" width="$i.width" height="$i.height" alt="$.metadata{"mood"}" title="$.metadata{"mood"}" /></td><td>""";
}
foreach var string k ($.metadata){  # step thru metadata
var string text = $k;             # set text to key
var string val  = $.metadata{$k}; # get val
if ($k == "mood"){                # if mood, set text to mood property
$text = $*text_meta_mood;
}
elseif ($k == "music") {          # if music, set text to music property
$text = $*text_meta_music;
} elseif ($k == "location") {     # if location, set text to loc variable
$text = $*text_meta_location;
if($vanilla_loc) {              # if vanilla loc, striphtml() it
$val = striphtml($val);
}
}
if(not ($k == "location" and $loc_after_mood)) {
# if we're doing loc right now and printing loc after mood, skip it
# if we're doing loc right now and we're not printing loc after mood, print it now
# if we're not doing loc right now, print this piece of meta
# add the meta
$currents = $currents + """$meta_label_open$text$meta_label_close$meta_val_open$val$meta_val_close""";
}
if($k == "mood" and $loc_after_mood) {
# if we just now did the mood and we're printing loc after mood, print the loc
$k    = "location";           # set meta key to "location"
$text = $*text_meta_location; # set text to loc variable
$val  = $.metadata{$k};       # get val
# if we have a loc, do stuff
if($val != "") {
# if vanilla loc, striphtml() it
if($vanilla_loc) {
$val = striphtml($val);
}
# add the meta
$currents         = $currents + """$meta_label_open$text$meta_label_close$meta_val_open$val$meta_val_close""";
}
}
}
if ((size $.tags > 0) and $*tags_aware) {
var string k      = "tags"; # set key to "tags"
var int tcount = 0; # set counter for tags
if($edit_tags.url != "" and $show_edit_tags_link) { # if remote user can edit tags, let's give them a link
$tags_header = """<a href="$edit_tags.url" _fcksavedurl="$edit_tags.url">$tags_header</a>""";
}
# add text, open val container
$currents = $currents + """$meta_label_open$tags_header$tags_joiner$meta_label_close$meta_val_open""";
# build tag list
foreach var Tag t ($.tags) {
$currents = $currents + """<a rel="tag" href="$t.url" _fcksavedurl="$t.url">$t.name</a>""";
$tcount++;
# if we haven't hit the last tag, add a separator
if ($tcount != size $.tags) { $currents = $currents + $tags_sep; }
}
# close val container
$currents = $currents + $meta_val_close;
}
if(defined $.mood_icon) {
$currents = $currents + """</td></tr></table>""";
}
# close currents container
$currents = $currents + $currents_close;
# print currents
println "$currents";
}
}

TO CUSTOMIZE CSS:
.metadata{
list-style: none;
display: block;
}


note to kunzite1 :
I hope that this was okay :) and if it looks horrible, feel free to delete and repost it.  I just wanted to share it.  thanks.
Tags: class entry, function print_metadata
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 3 comments