- Cambios

git-svn-id: https://192.168.0.254/svn/Proyectos.Instaldeco_Web/trunk@8 d4ca0941-a869-4c45-9eab-2e1fd2dd58c0
This commit is contained in:
David Arranz 2011-09-23 20:27:09 +00:00
parent 898cc590b0
commit 5eb43a8c15
226 changed files with 8247 additions and 0 deletions

View File

@ -0,0 +1,5 @@
<?php get_header(); ?>
<div class="content-container">
<h1 id="error404"><?php echo of_get_option('404_error', '404 Page Not Found'); ?></h1>
</div><!-- close #content-container -->
<?php get_footer(); ?>

View File

@ -0,0 +1,220 @@
/*-------------------------------------------------------------------------------------------*/
/* OptionsFramework Admin Styles */
/*-------------------------------------------------------------------------------------------*/
.updated {
max-width:764px;
margin-bottom:0px !important;
}
#optionsframework {
position:relative;
z-index: 0;
max-width:780px;
background:#fff;
}
#optionsframework p {
margin-bottom:0;
padding-bottom:10px;
}
#optionsframework .section {
padding:10px 10px 0;
}
#optionsframework .group .section:last-of-type {
padding-bottom:40px;
}
#optionsframework .section .heading {
padding:10px 0px;
margin:0 0 15px;
border-bottom: 1px solid #dfdfdf;
}
#optionsframework .section .controls {
float: left;
min-width:350px;
width: 54%;
padding-right:2%;
}
#optionsframework .section .explain {
max-width:38%;
float: left;
font-size: 12px;
line-height:16px;
color: #777;
}
#optionsframework .section-checkbox .controls {
min-width:25px;
width:25px
}
#optionsframework .section-checkbox .explain {
max-width:93%;
}
#optionsframework .section-color .controls {
min-width:125px;
width:125px
}
#optionsframework .controls input, #optionsframework .controls select, #optionsframework .controls textarea {
margin-bottom: 10px;
width:100%;
}
#optionsframework .section-radio label, #optionsframework .section-multicheck label {
float:left;
}
#optionsframework input.checkbox, #optionsframework input.of-radio {
width: 30px;
float:left;
clear:both;
}
#optionsframework .controls .of-color {
float:left;
width: 80px;
margin-left:5px;
margin-right:5px;
}
#optionsframework .controls .of-typography-size {
width:80px;
margin-left:5px;
float:left
}
#optionsframework .controls .of-typography-unit {
width:50px;
margin-left:5px;
float:left
}
#optionsframework .controls .of-typography-face {
width:100px;
margin-left:5px;
float:left
}
#optionsframework .controls .of-typography-style {
width:80px;
margin-left:5px;
margin-right:5px;
float:left
}
#optionsframework .of-background-properties {
clear:both;
margin-top: 18px;
}
#optionsframework .controls .of-background-repeat {
width:125px;
margin-right:5px;
float:left
}
#optionsframework .controls .of-background-position {
width:125px;
margin-right:5px;
float:left
}
#optionsframework .controls .of-background-attachment {
width:125px;
margin-right:5px;
float:left
}
#optionsframework div.section-background .controls input.upload {
width:47%;
}
#optionsframework .controls .of-radio-img-img {
border:3px solid #f9f9f9;
margin:0 5px 10px 0;
display:none;
cursor:pointer;
float:left;
}
#optionsframework .controls .of-radio-img-selected {
border:3px solid #ccc
}
#optionsframework .controls .of-radio-img-img:hover {
opacity:.8;
}
#optionsframework .controls .of-border-width {
width:80px;
float:left
}
#optionsframework .controls .of-border-style {
width:120px;
float:left
}
#optionsframework .hide {
display:none;
}
#optionsframework .of-option-image {
max-width:340px;
margin:3px 0 18px 0;
}
#optionsframework .mini .controls select, #optionsframework .section .mini .controls {
width: 140px;
}
#optionsframework .mini .controls input, #optionsframework .mini .controls {
min-width:140px;
width: 140px;
}
#optionsframework .mini .explain {
max-width:74%;
}
/* Image Uploader */
#optionsframework .controls input.upload {
width:80%;
}
#optionsframework .controls input.upload_button {
float:right;
width:45px;
border-color:#BBBBBB;
cursor:pointer;
height:16px;
}
#optionsframework .controls input.upload_button:hover {
border-color:#666666;
color:#000;
}
#optionsframework .screenshot {
float:left;
margin-left:1px;
position:relative;
width:344px;
margin-top:3px;
}
#optionsframework .screenshot img {
background:#FAFAFA;
border-color:#ccc #eee #eee #ccc;
border-style:solid;
border-width:1px;
float:left;
max-width:334px;
padding:4px;
margin-bottom:10px;
}
#optionsframework .screenshot .mlu_remove {
background:url("../images/ico-delete.png") no-repeat;
border:medium none;
bottom:4px;
display:block;
float:left;
height:16px;
padding:0;
position:absolute;
left:-4px;
text-indent:-9999px;
width:16px;
}
#optionsframework .screenshot .no_image .file_link {
margin-left: 20px;
}
#optionsframework .screenshot .no_image .mlu_remove {
bottom: 0px;
}
#optionsframework .reset-button {
float:left;
cursor:pointer;
}
/* Bottom Section */
#optionsframework-submit {
padding: 7px 10px;
border-top: 1px solid #ECECEC;
background-color: #F1F1F1;
background-image: -moz-linear-gradient(center top , #F9F9F9, #ECECEC);
}
#optionsframework .button-primary {
float:right;
}

View File

@ -0,0 +1,177 @@
.colorpicker {
width: 356px;
height: 176px;
overflow: hidden;
position: absolute;
background: url(../images/colorpicker/colorpicker_background.png);
font-family: Arial, Helvetica, sans-serif;
display: none;
}
.colorpicker_color {
width: 150px;
height: 150px;
left: 14px;
top: 13px;
position: absolute;
background: #f00;
overflow: hidden;
cursor: crosshair;
}
.colorpicker_color div {
position: absolute;
top: 0;
left: 0;
width: 150px;
height: 150px;
background: url(../images/colorpicker/colorpicker_overlay.png);
}
.colorpicker_color div div {
position: absolute;
top: 0;
left: 0;
width: 11px;
height: 11px;
overflow: hidden;
background: url(../images/colorpicker/colorpicker_select.gif);
margin: -5px 0 0 -5px;
}
.colorpicker_hue {
position: absolute;
top: 13px;
left: 171px;
width: 35px;
height: 150px;
cursor: n-resize;
}
.colorpicker_hue div {
position: absolute;
width: 35px;
height: 9px;
overflow: hidden;
background: url(../images/colorpicker/colorpicker_indic.gif) left top;
margin: -4px 0 0 0;
left: 0px;
}
.colorpicker_new_color {
position: absolute;
width: 60px;
height: 30px;
left: 213px;
top: 13px;
background: #f00;
}
.colorpicker_current_color {
position: absolute;
width: 60px;
height: 30px;
left: 283px;
top: 13px;
background: #f00;
}
.colorpicker input {
background-color: transparent;
border: 1px solid transparent;
position: absolute;
font-size: 10px;
font-family: Arial, Helvetica, sans-serif;
color: #898989;
top: 4px;
right: 11px;
text-align: right;
margin: 0;
padding: 0;
height: 12px;
}
.colorpicker_hex {
position: absolute;
width: 72px;
height: 22px;
background: url(../images/colorpicker/colorpicker_hex.png) top;
left: 212px;
top: 142px;
}
.colorpicker_hex input {
right: 6px;
}
.colorpicker_field {
height: 22px;
width: 62px;
background-position: top;
position: absolute;
}
.colorpicker_field span {
position: absolute;
width: 12px;
height: 22px;
overflow: hidden;
top: 0;
right: 0;
cursor: n-resize;
}
.colorpicker_rgb_r {
background-image: url(../images/colorpicker/colorpicker_rgb_r.png);
top: 52px;
left: 212px;
}
.colorpicker_rgb_g {
background-image: url(../images/colorpicker/colorpicker_rgb_g.png);
top: 82px;
left: 212px;
}
.colorpicker_rgb_b {
background-image: url(../images/colorpicker/colorpicker_rgb_b.png);
top: 112px;
left: 212px;
}
.colorpicker_hsb_h {
background-image: url(../images/colorpicker/colorpicker_hsb_h.png);
top: 52px;
left: 282px;
}
.colorpicker_hsb_s {
background-image: url(../images/colorpicker/colorpicker_hsb_s.png);
top: 82px;
left: 282px;
}
.colorpicker_hsb_b {
background-image: url(../images/colorpicker/colorpicker_hsb_b.png);
top: 112px;
left: 282px;
}
.colorpicker_submit {
position: absolute;
width: 22px;
height: 22px;
background: url(../images/colorpicker/colorpicker_submit.png) top;
left: 322px;
top: 142px;
overflow: hidden;
}
.colorpicker_focus {
background-position: center;
}
.colorpicker_hex.colorpicker_focus {
background-position: bottom;
}
.colorpicker_submit.colorpicker_focus {
background-position: bottom;
}
.colorpicker_slider {
background-position: bottom;
}
.colorSelector {
position: relative;
width: 27px;
height: 27px;
background: url(../images/colorpicker/select.png);
float:left;
}
.colorSelector div {
position: absolute;
top: 4px;
left: 3px;
width: 21px;
height: 19px;
background: url(../images/colorpicker/select.png) center;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

View File

@ -0,0 +1,455 @@
/**
*
* Color picker
* Author: Stefan Petre www.eyecon.ro
*
* Dependencies: jQuery
*
*/
(function ($) {
var ColorPicker = function () {
var
ids = {},
inAction,
charMin = 65,
visible,
tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
defaults = {
eventName: 'click',
onShow: function () {},
onBeforeShow: function(){},
onHide: function () {},
onChange: function () {},
onSubmit: function () {},
color: 'ff0000',
livePreview: true,
flat: false
},
fillRGBFields = function (hsb, cal) {
var rgb = HSBToRGB(hsb);
$(cal).data('colorpicker').fields
.eq(1).val(rgb.r).end()
.eq(2).val(rgb.g).end()
.eq(3).val(rgb.b).end();
},
fillHSBFields = function (hsb, cal) {
$(cal).data('colorpicker').fields
.eq(4).val(hsb.h).end()
.eq(5).val(hsb.s).end()
.eq(6).val(hsb.b).end();
},
fillHexFields = function (hsb, cal) {
$(cal).data('colorpicker').fields
.eq(0).val(HSBToHex(hsb)).end();
},
setSelector = function (hsb, cal) {
$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
$(cal).data('colorpicker').selectorIndic.css({
left: parseInt(150 * hsb.s/100, 10),
top: parseInt(150 * (100-hsb.b)/100, 10)
});
},
setHue = function (hsb, cal) {
$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
},
setCurrentColor = function (hsb, cal) {
$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
},
setNewColor = function (hsb, cal) {
$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
},
keyDown = function (ev) {
var pressedKey = ev.charCode || ev.keyCode || -1;
if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
return false;
}
var cal = $(this).parent().parent();
if (cal.data('colorpicker').livePreview === true) {
change.apply(this);
}
},
change = function (ev) {
var cal = $(this).parent().parent(), col;
if (this.parentNode.className.indexOf('_hex') > 0) {
cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
} else if (this.parentNode.className.indexOf('_hsb') > 0) {
cal.data('colorpicker').color = col = fixHSB({
h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
});
} else {
cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
}));
}
if (ev) {
fillRGBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
}
setSelector(col, cal.get(0));
setHue(col, cal.get(0));
setNewColor(col, cal.get(0));
cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
},
blur = function (ev) {
var cal = $(this).parent().parent();
cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus')
},
focus = function () {
charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
$(this).parent().addClass('colorpicker_focus');
},
downIncrement = function (ev) {
var field = $(this).parent().find('input').focus();
var current = {
el: $(this).parent().addClass('colorpicker_slider'),
max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
y: ev.pageY,
field: field,
val: parseInt(field.val(), 10),
preview: $(this).parent().parent().data('colorpicker').livePreview
};
$(document).bind('mouseup', current, upIncrement);
$(document).bind('mousemove', current, moveIncrement);
},
moveIncrement = function (ev) {
ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
if (ev.data.preview) {
change.apply(ev.data.field.get(0), [true]);
}
return false;
},
upIncrement = function (ev) {
change.apply(ev.data.field.get(0), [true]);
ev.data.el.removeClass('colorpicker_slider').find('input').focus();
$(document).unbind('mouseup', upIncrement);
$(document).unbind('mousemove', moveIncrement);
return false;
},
downHue = function (ev) {
var current = {
cal: $(this).parent(),
y: $(this).offset().top
};
current.preview = current.cal.data('colorpicker').livePreview;
$(document).bind('mouseup', current, upHue);
$(document).bind('mousemove', current, moveHue);
},
moveHue = function (ev) {
change.apply(
ev.data.cal.data('colorpicker')
.fields
.eq(4)
.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
.get(0),
[ev.data.preview]
);
return false;
},
upHue = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
$(document).unbind('mouseup', upHue);
$(document).unbind('mousemove', moveHue);
return false;
},
downSelector = function (ev) {
var current = {
cal: $(this).parent(),
pos: $(this).offset()
};
current.preview = current.cal.data('colorpicker').livePreview;
$(document).bind('mouseup', current, upSelector);
$(document).bind('mousemove', current, moveSelector);
},
moveSelector = function (ev) {
change.apply(
ev.data.cal.data('colorpicker')
.fields
.eq(6)
.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
.end()
.eq(5)
.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
.get(0),
[ev.data.preview]
);
return false;
},
upSelector = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
$(document).unbind('mouseup', upSelector);
$(document).unbind('mousemove', moveSelector);
return false;
},
enterSubmit = function (ev) {
$(this).addClass('colorpicker_focus');
},
leaveSubmit = function (ev) {
$(this).removeClass('colorpicker_focus');
},
clickSubmit = function (ev) {
var cal = $(this).parent();
var col = cal.data('colorpicker').color;
cal.data('colorpicker').origColor = col;
setCurrentColor(col, cal.get(0));
cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col));
cal.hide();
},
show = function (ev) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
var pos = $(this).offset();
var viewPort = getViewport();
var top = pos.top + this.offsetHeight;
var left = pos.left;
if (top + 176 > viewPort.t + viewPort.h) {
top -= this.offsetHeight + 176;
} else {
top += 5;
}
if (left + 356 > viewPort.l + viewPort.w) {
left -= 356;
}
cal.css({left: left + 'px', top: top + 'px'});
if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
cal.show();
}
$(document).bind('mousedown', {cal: cal}, hide);
return false;
},
hide = function (ev) {
if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
ev.data.cal.hide();
}
$(document).unbind('mousedown', hide);
}
},
isChildOf = function(parentEl, el, container) {
if (parentEl == el) {
return true;
}
if (parentEl.contains) {
return parentEl.contains(el);
}
if ( parentEl.compareDocumentPosition ) {
return !!(parentEl.compareDocumentPosition(el) & 16);
}
var prEl = el.parentNode;
while(prEl && prEl != container) {
if (prEl == parentEl)
return true;
prEl = prEl.parentNode;
}
return false;
},
getViewport = function () {
var m = document.compatMode == 'CSS1Compat';
return {
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
};
},
fixHSB = function (hsb) {
return {
h: Math.min(360, Math.max(0, hsb.h)),
s: Math.min(100, Math.max(0, hsb.s)),
b: Math.min(100, Math.max(0, hsb.b))
};
},
fixRGB = function (rgb) {
return {
r: Math.min(255, Math.max(0, rgb.r)),
g: Math.min(255, Math.max(0, rgb.g)),
b: Math.min(255, Math.max(0, rgb.b))
};
},
fixHex = function (hex) {
var len = 6 - hex.length;
if (len > 0) {
var o = [];
for (var i=0; i<len; i++) {
o.push('0');
}
o.push(hex);
hex = o.join('');
}
return hex;
},
HexToRGB = function (hex) {
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
},
HexToHSB = function (hex) {
return RGBToHSB(HexToRGB(hex));
},
RGBToHSB = function (rgb) {
var hsb = {};
hsb.b = Math.max(Math.max(rgb.r,rgb.g),rgb.b);
hsb.s = (hsb.b <= 0) ? 0 : Math.round(100*(hsb.b - Math.min(Math.min(rgb.r,rgb.g),rgb.b))/hsb.b);
hsb.b = Math.round((hsb.b /255)*100);
if((rgb.r==rgb.g) && (rgb.g==rgb.b)) hsb.h = 0;
else if(rgb.r>=rgb.g && rgb.g>=rgb.b) hsb.h = 60*(rgb.g-rgb.b)/(rgb.r-rgb.b);
else if(rgb.g>=rgb.r && rgb.r>=rgb.b) hsb.h = 60 + 60*(rgb.g-rgb.r)/(rgb.g-rgb.b);
else if(rgb.g>=rgb.b && rgb.b>=rgb.r) hsb.h = 120 + 60*(rgb.b-rgb.r)/(rgb.g-rgb.r);
else if(rgb.b>=rgb.g && rgb.g>=rgb.r) hsb.h = 180 + 60*(rgb.b-rgb.g)/(rgb.b-rgb.r);
else if(rgb.b>=rgb.r && rgb.r>=rgb.g) hsb.h = 240 + 60*(rgb.r-rgb.g)/(rgb.b-rgb.g);
else if(rgb.r>=rgb.b && rgb.b>=rgb.g) hsb.h = 300 + 60*(rgb.r-rgb.b)/(rgb.r-rgb.g);
else hsb.h = 0;
hsb.h = Math.round(hsb.h);
return hsb;
},
HSBToRGB = function (hsb) {
var rgb = {};
var h = Math.round(hsb.h);
var s = Math.round(hsb.s*255/100);
var v = Math.round(hsb.b*255/100);
if(s == 0) {
rgb.r = rgb.g = rgb.b = v;
} else {
var t1 = v;
var t2 = (255-s)*v/255;
var t3 = (t1-t2)*(h%60)/60;
if(h==360) h = 0;
if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
else {rgb.r=0; rgb.g=0; rgb.b=0}
}
return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
},
RGBToHex = function (rgb) {
var hex = [
rgb.r.toString(16),
rgb.g.toString(16),
rgb.b.toString(16)
];
$.each(hex, function (nr, val) {
if (val.length == 1) {
hex[nr] = '0' + val;
}
});
return hex.join('');
},
HSBToHex = function (hsb) {
return RGBToHex(HSBToRGB(hsb));
};
return {
init: function (options) {
options = $.extend({}, defaults, options||{});
if (typeof options.color == 'string') {
options.color = HexToHSB(options.color);
} else if (options.color.r != undefined && options.color.g != undefined && options.color.b != undefined) {
options.color = RGBToHSB(options.color);
} else if (options.color.h != undefined && options.color.s != undefined && options.color.b != undefined) {
options.color = fixHSB(options.color);
} else {
return this;
}
options.origColor = options.color;
return this.each(function () {
if (!$(this).data('colorpickerId')) {
var id = 'collorpicker_' + parseInt(Math.random() * 1000);
$(this).data('colorpickerId', id);
var cal = $(tpl).attr('id', id);
if (options.flat) {
cal.appendTo(this).show();
} else {
cal.appendTo(document.body);
}
options.fields = cal
.find('input')
.bind('keydown', keyDown)
.bind('change', change)
.bind('blur', blur)
.bind('focus', focus);
cal.find('span').bind('mousedown', downIncrement);
options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
options.selectorIndic = options.selector.find('div div');
options.hue = cal.find('div.colorpicker_hue div');
cal.find('div.colorpicker_hue').bind('mousedown', downHue);
options.newColor = cal.find('div.colorpicker_new_color');
options.currentColor = cal.find('div.colorpicker_current_color');
cal.data('colorpicker', options);
cal.find('div.colorpicker_submit')
.bind('mouseenter', enterSubmit)
.bind('mouseleave', leaveSubmit)
.bind('click', clickSubmit);
fillRGBFields(options.color, cal.get(0));
fillHSBFields(options.color, cal.get(0));
fillHexFields(options.color, cal.get(0));
setHue(options.color, cal.get(0));
setSelector(options.color, cal.get(0));
setCurrentColor(options.color, cal.get(0));
setNewColor(options.color, cal.get(0));
if (options.flat) {
cal.css({
position: 'relative',
display: 'block'
});
} else {
$(this).bind(options.eventName, show);
}
}
});
},
showPicker: function() {
return this.each( function () {
if ($(this).data('colorpickerId')) {
show.apply(this);
}
});
},
hidePicker: function() {
return this.each( function () {
if ($(this).data('colorpickerId')) {
$('#' + $(this).data('colorpickerId')).hide();
}
});
},
setColor: function(col) {
if (typeof col == 'string') {
col = HexToHSB(col);
} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
col = RGBToHSB(col);
} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
col = fixHSB(col);
} else {
return this;
}
return this.each(function(){
if ($(this).data('colorpickerId')) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').color = col;
cal.data('colorpicker').origColor = col;
fillRGBFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
setHue(col, cal.get(0));
setSelector(col, cal.get(0));
setCurrentColor(col, cal.get(0));
setNewColor(col, cal.get(0));
}
});
}
};
}();
$.fn.extend({
ColorPicker: ColorPicker.init,
ColorPickerHide: ColorPicker.hide,
ColorPickerShow: ColorPicker.show,
ColorPickerSetColor: ColorPicker.setColor
});
})(jQuery)

View File

@ -0,0 +1,163 @@
/*-----------------------------------------------------------------------------------*/
/* WooFramework Media Library-driven AJAX File Uploader Module
/* JavaScript Functions (2010-11-05)
/*
/* The code below is designed to work as a part of the WooFramework Media Library-driven
/* AJAX File Uploader Module. It is included only on screens where this module is used.
/*
/* Used with (very) slight modifications for Options Framework.
/*-----------------------------------------------------------------------------------*/
(function ($) {
optionsframeworkMLU = {
/*-----------------------------------------------------------------------------------*/
/* Remove file when the "remove" button is clicked.
/*-----------------------------------------------------------------------------------*/
removeFile: function () {
$('.mlu_remove').live('click', function(event) {
$(this).hide();
$(this).parents().parents().children('.upload').attr('value', '');
$(this).parents('.screenshot').slideUp();
$(this).parents('.screenshot').siblings('.of-background-properties').hide(); //remove background properties
return false;
});
// Hide the delete button on the first row
$('a.delete-inline', "#option-1").hide();
}, // End removeFile
/*-----------------------------------------------------------------------------------*/
/* Replace the default file upload field with a customised version.
/*-----------------------------------------------------------------------------------*/
recreateFileField: function () {
$('input.file').each(function(){
var uploadbutton = '<input class="upload_file_button" type="button" value="Upload" />';
$(this).wrap('<div class="file_wrap" />');
$(this).addClass('file').css('opacity', 0); //set to invisible
$(this).parent().append($('<div class="fake_file" />').append($('<input type="text" class="upload" />').attr('id',$(this).attr('id')+'_file')).val( $(this).val() ).append(uploadbutton));
$(this).bind('change', function() {
$('#'+$(this).attr('id')+'_file').val($(this).val());
});
$(this).bind('mouseout', function() {
$('#'+$(this).attr('id')+'_file').val($(this).val());
});
});
}, // End recreateFileField
/*-----------------------------------------------------------------------------------*/
/* Use a custom function when working with the Media Uploads popup.
/* Requires jQuery, Media Upload and Thickbox JavaScripts.
/*-----------------------------------------------------------------------------------*/
mediaUpload: function () {
jQuery.noConflict();
$( 'input.upload_button' ).removeAttr('style');
var formfield,
formID,
btnContent = true,
tbframe_interval;
// On Click
$('input.upload_button').live("click", function () {
formfield = $(this).prev('input').attr('id');
formID = $(this).attr('rel');
//Change "insert into post" to "Use this Button"
tbframe_interval = setInterval(function() {jQuery('#TB_iframeContent').contents().find('.savesend .button').val('Use This Image');}, 2000);
// Display a custom title for each Thickbox popup.
var woo_title = '';
if ( $(this).parents('.section').find('.heading') ) { woo_title = $(this).parents('.section').find('.heading').text(); } // End IF Statement
tb_show( woo_title, 'media-upload.php?post_id='+formID+'&TB_iframe=1' );
return false;
});
window.original_send_to_editor = window.send_to_editor;
window.send_to_editor = function(html) {
if (formfield) {
//clear interval for "Use this Button" so button text resets
clearInterval(tbframe_interval);
// itemurl = $(html).attr('href'); // Use the URL to the main image.
if ( $(html).html(html).find('img').length > 0 ) {
itemurl = $(html).html(html).find('img').attr('src'); // Use the URL to the size selected.
} else {
// It's not an image. Get the URL to the file instead.
var htmlBits = html.split("'"); // jQuery seems to strip out XHTML when assigning the string to an object. Use alternate method.
itemurl = htmlBits[1]; // Use the URL to the file.
var itemtitle = htmlBits[2];
itemtitle = itemtitle.replace( '>', '' );
itemtitle = itemtitle.replace( '</a>', '' );
} // End IF Statement
var image = /(^.*\.jpg|jpeg|png|gif|ico*)/gi;
var document = /(^.*\.pdf|doc|docx|ppt|pptx|odt*)/gi;
var audio = /(^.*\.mp3|m4a|ogg|wav*)/gi;
var video = /(^.*\.mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2*)/gi;
if (itemurl.match(image)) {
btnContent = '<img src="'+itemurl+'" alt="" /><a href="#" class="mlu_remove button">Remove Image</a>';
} else {
// No output preview if it's not an image.
// btnContent = '';
// Standard generic output if it's not an image.
html = '<a href="'+itemurl+'" target="_blank" rel="external">View File</a>';
btnContent = '<div class="no_image"><span class="file_link">'+html+'</span><a href="#" class="mlu_remove button">Remove</a></div>';
}
$('#' + formfield).val(itemurl);
// $('#' + formfield).next().next('div').slideDown().html(btnContent);
$('#' + formfield).siblings('.screenshot').slideDown().html(btnContent);
$('#' + formfield).siblings('.of-background-properties').show(); //show background properties
tb_remove();
} else {
window.original_send_to_editor(html);
}
// Clear the formfield value so the other media library popups can work as they are meant to. - 2010-11-11.
formfield = '';
}
} // End mediaUpload
}; // End optionsframeworkMLU Object // Don't remove this, or the sky will fall on your head.
/*-----------------------------------------------------------------------------------*/
/* Execute the above methods in the optionsframeworkMLU object.
/*-----------------------------------------------------------------------------------*/
$(document).ready(function () {
optionsframeworkMLU.removeFile();
optionsframeworkMLU.recreateFileField();
optionsframeworkMLU.mediaUpload();
});
})(jQuery);

View File

@ -0,0 +1,101 @@
/**
* Prints out the inline javascript needed for the colorpicker and choosing
* the tabs in the panel.
*/
jQuery(document).ready(function($) {
// Fade out the save message
$('.fade').delay(1000).fadeOut(1000);
// Color Picker
$('.colorSelector').each(function(){
var Othis = this; //cache a copy of the this variable for use inside nested function
var initialColor = $(Othis).next('input').attr('value');
$(this).ColorPicker({
color: initialColor,
onShow: function (colpkr) {
$(colpkr).fadeIn(500);
return false;
},
onHide: function (colpkr) {
$(colpkr).fadeOut(500);
return false;
},
onChange: function (hsb, hex, rgb) {
$(Othis).children('div').css('backgroundColor', '#' + hex);
$(Othis).next('input').attr('value','#' + hex);
}
});
}); //end color picker
// Switches option sections
$('.group').hide();
var activetab = '';
if (typeof(localStorage) != 'undefined' ) {
activetab = localStorage.getItem("activetab");
}
if (activetab != '' && $(activetab).length ) {
$(activetab).fadeIn();
} else {
$('.group:first').fadeIn();
}
$('.group .collapsed').each(function(){
$(this).find('input:checked').parent().parent().parent().nextAll().each(
function(){
if ($(this).hasClass('last')) {
$(this).removeClass('hidden');
return false;
}
$(this).filter('.hidden').removeClass('hidden');
});
});
if (activetab != '' && $(activetab + '-tab').length ) {
$(activetab + '-tab').addClass('nav-tab-active');
}
else {
$('.nav-tab-wrapper a:first').addClass('nav-tab-active');
}
$('.nav-tab-wrapper a').click(function(evt) {
$('.nav-tab-wrapper a').removeClass('nav-tab-active');
$(this).addClass('nav-tab-active').blur();
var clicked_group = $(this).attr('href');
if (typeof(localStorage) != 'undefined' ) {
localStorage.setItem("activetab", $(this).attr('href'));
}
$('.group').hide();
$(clicked_group).fadeIn();
evt.preventDefault();
});
$('.group .collapsed input:checkbox').click(unhideHidden);
function unhideHidden(){
if ($(this).attr('checked')) {
$(this).parent().parent().parent().nextAll().removeClass('hidden');
}
else {
$(this).parent().parent().parent().nextAll().each(
function(){
if ($(this).filter('.last').length) {
$(this).addClass('hidden');
return false;
}
$(this).addClass('hidden');
});
}
}
// Image Options
$('.of-radio-img-img').click(function(){
$(this).parent().parent().find('.of-radio-img-img').removeClass('of-radio-img-selected');
$(this).addClass('of-radio-img-selected');
});
$('.of-radio-img-label').hide();
$('.of-radio-img-img').show();
$('.of-radio-img-radio').hide();
});

View File

@ -0,0 +1,389 @@
<?php
/*
Plugin Name: Options Framework
Plugin URI: http://www.wptheming.com
Description: A framework for building theme options.
Version: 0.8
Author: Devin Price
Author URI: http://www.wptheming.com
License: GPLv2
*/
/*
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/* Basic plugin definitions */
define('OPTIONS_FRAMEWORK_VERSION', '0.8');
/* Make sure we don't expose any info if called directly */
if ( !function_exists( 'add_action' ) ) {
echo "Hi there! I'm just a little plugin, don't mind me.";
exit;
}
/* If the user can't edit theme options, no use running this plugin */
add_action('init', 'optionsframework_rolescheck' );
function optionsframework_rolescheck () {
if ( current_user_can( 'edit_theme_options' ) ) {
// If the user can edit theme options, let the fun begin!
add_action( 'admin_menu', 'optionsframework_add_page');
add_action( 'admin_init', 'optionsframework_init' );
add_action( 'admin_init', 'optionsframework_mlu_init' );
}
}
/* Loads the file for option sanitization */
add_action('init', 'optionsframework_load_sanitization' );
function optionsframework_load_sanitization() {
require_once dirname( __FILE__ ) . '/options-sanitize.php';
}
/*
* Creates the settings in the database by looping through the array
* we supplied in options.php. This is a neat way to do it since
* we won't have to save settings for headers, descriptions, or arguments.
*
* Read more about the Settings API in the WordPress codex:
* http://codex.wordpress.org/Settings_API
*
*/
function optionsframework_init() {
// Include the required files
require_once dirname( __FILE__ ) . '/options-interface.php';
require_once dirname( __FILE__ ) . '/options-medialibrary-uploader.php';
// Loads the options array from the theme
if ( $optionsfile = locate_template( array('options.php') ) ) {
require_once($optionsfile);
}
else if (file_exists( dirname( __FILE__ ) . '/options.php' ) ) {
require_once dirname( __FILE__ ) . '/options.php';
}
$optionsframework_settings = get_option('optionsframework' );
// Updates the unique option id in the database if it has changed
optionsframework_option_name();
// Gets the unique id, returning a default if it isn't defined
if ( isset($optionsframework_settings['id']) ) {
$option_name = $optionsframework_settings['id'];
}
else {
$option_name = 'optionsframework';
}
// If the option has no saved data, load the defaults
if ( ! get_option($option_name) ) {
optionsframework_setdefaults();
}
// Registers the settings fields and callback
register_setting( 'optionsframework', $option_name, 'optionsframework_validate' );
}
/*
* Adds default options to the database if they aren't already present.
* May update this later to load only on plugin activation, or theme
* activation since most people won't be editing the options.php
* on a regular basis.
*
* http://codex.wordpress.org/Function_Reference/add_option
*
*/
function optionsframework_setdefaults() {
$optionsframework_settings = get_option('optionsframework');
// Gets the unique option id
$option_name = $optionsframework_settings['id'];
/*
* Each theme will hopefully have a unique id, and all of its options saved
* as a separate option set. We need to track all of these option sets so
* it can be easily deleted if someone wishes to remove the plugin and
* its associated data. No need to clutter the database.
*
*/
if ( isset($optionsframework_settings['knownoptions']) ) {
$knownoptions = $optionsframework_settings['knownoptions'];
if ( !in_array($option_name, $knownoptions) ) {
array_push( $knownoptions, $option_name );
$optionsframework_settings['knownoptions'] = $knownoptions;
update_option('optionsframework', $optionsframework_settings);
}
} else {
$newoptionname = array($option_name);
$optionsframework_settings['knownoptions'] = $newoptionname;
update_option('optionsframework', $optionsframework_settings);
}
// Gets the default options data from the array in options.php
$options = optionsframework_options();
// If the options haven't been added to the database yet, they are added now
$values = of_get_default_values();
if ( isset($values) ) {
add_option( $option_name, $values ); // Add option with default settings
}
}
/* Add a subpage called "Theme Options" to the appearance menu. */
if ( !function_exists( 'optionsframework_add_page' ) ) {
function optionsframework_add_page() {
$of_page = add_theme_page('Theme Options', 'Theme Options', 'edit_theme_options', 'options-framework','optionsframework_page');
// Adds actions to hook in the required css and javascript
add_action("admin_print_styles-$of_page",'optionsframework_load_styles');
add_action("admin_print_scripts-$of_page", 'optionsframework_load_scripts');
}
}
/* Loads the CSS */
function optionsframework_load_styles() {
wp_enqueue_style('admin-style', OPTIONS_FRAMEWORK_DIRECTORY.'css/admin-style.css');
wp_enqueue_style('color-picker', OPTIONS_FRAMEWORK_DIRECTORY.'css/colorpicker.css');
}
/* Loads the javascript */
function optionsframework_load_scripts() {
// Inline scripts from options-interface.php
add_action('admin_head', 'of_admin_head');
// Enqueued scripts
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('color-picker', OPTIONS_FRAMEWORK_DIRECTORY.'js/colorpicker.js', array('jquery'));
wp_enqueue_script('options-custom', OPTIONS_FRAMEWORK_DIRECTORY.'js/options-custom.js', array('jquery'));
}
function of_admin_head() {
// Hook to add custom scripts
do_action( 'optionsframework_custom_scripts' );
}
/*
* Builds out the options panel.
*
* If we were using the Settings API as it was likely intended we would use
* do_settings_sections here. But as we don't want the settings wrapped in a table,
* we'll call our own custom optionsframework_fields. See options-interface.php
* for specifics on how each individual field is generated.
*
* Nonces are provided using the settings_fields()
*
*/
if ( !function_exists( 'optionsframework_page' ) ) {
function optionsframework_page() {
$return = optionsframework_fields();
settings_errors();
?>
<div class="wrap">
<?php screen_icon( 'themes' ); ?>
<h2 class="nav-tab-wrapper">
<?php echo $return[1]; ?>
</h2>
<div class="metabox-holder">
<div id="optionsframework" class="postbox">
<form action="options.php" method="post">
<?php settings_fields('optionsframework'); ?>
<?php echo $return[0]; /* Settings */ ?>
<div id="optionsframework-submit">
<input type="submit" class="button-primary" name="update" value="<?php esc_attr_e( 'Save Options' ); ?>" />
<input type="submit" class="reset-button button-secondary" name="reset" value="<?php esc_attr_e( 'Restore Defaults' ); ?>" onclick="return confirm( '<?php print esc_js( __( 'Click OK to reset. Any theme settings will be lost!' ) ); ?>' );" />
<div class="clear"></div>
</div>
</form>
</div> <!-- / #container -->
</div>
</div> <!-- / .wrap -->
<?php
}
}
/**
* Validate Options.
*
* This runs after the submit/reset button has been clicked and
* validates the inputs.
*
* @uses $_POST['reset']
* @uses $_POST['update']
*/
function optionsframework_validate( $input ) {
/*
* Restore Defaults.
*
* In the event that the user clicked the "Restore Defaults"
* button, the options defined in the theme's options.php
* file will be added to the option for the active theme.
*/
if ( isset( $_POST['reset'] ) ) {
add_settings_error( 'options-framework', 'restore_defaults', __( 'Default options restored.', 'optionsframework' ), 'updated fade' );
return of_get_default_values();
}
/*
* Udpdate Settings.
*/
if ( isset( $_POST['update'] ) ) {
$clean = array();
$options = optionsframework_options();
foreach ( $options as $option ) {
if ( ! isset( $option['id'] ) ) {
continue;
}
if ( ! isset( $option['type'] ) ) {
continue;
}
$id = preg_replace( '/\W/', '', strtolower( $option['id'] ) );
// Set checkbox to false if it wasn't sent in the $_POST
if ( 'checkbox' == $option['type'] && ! isset( $input[$id] ) ) {
$input[$id] = '0';
}
// Set each item in the multicheck to false if it wasn't sent in the $_POST
if ( 'multicheck' == $option['type'] && ! isset( $input[$id] ) ) {
foreach ( $option['options'] as $key => $value ) {
$input[$id][$key] = '0';
}
}
// For a value to be submitted to database it must pass through a sanitization filter
if ( has_filter( 'of_sanitize_' . $option['type'] ) ) {
$clean[$id] = apply_filters( 'of_sanitize_' . $option['type'], $input[$id], $option );
}
}
add_settings_error( 'options-framework', 'save_options', __( 'Options saved.', 'optionsframework' ), 'updated fade' );
return $clean;
}
/*
* Request Not Recognized.
*/
return of_get_default_values();
}
/**
* Format Configuration Array.
*
* Get an array of all default values as set in
* options.php. The 'id','std' and 'type' keys need
* to be defined in the configuration array. In the
* event that these keys are not present the option
* will not be included in this function's output.
*
* @return array Rey-keyed options configuration array.
*
* @access private
*/
function of_get_default_values() {
$output = array();
$config = optionsframework_options();
foreach ( (array) $config as $option ) {
if ( ! isset( $option['id'] ) ) {
continue;
}
if ( ! isset( $option['std'] ) ) {
continue;
}
if ( ! isset( $option['type'] ) ) {
continue;
}
if ( has_filter( 'of_sanitize_' . $option['type'] ) ) {
$output[$option['id']] = apply_filters( 'of_sanitize_' . $option['type'], $option['std'], $option );
}
}
return $output;
}
/**
* Add Theme Options menu item to Admin Bar.
*/
add_action( 'wp_before_admin_bar_render', 'optionsframework_adminbar' );
function optionsframework_adminbar() {
global $wp_admin_bar;
$wp_admin_bar->add_menu( array(
'parent' => 'appearance',
'id' => 'of_theme_options',
'title' => __( 'Theme Options' ),
'href' => admin_url( 'themes.php?page=options-framework' )
));
}
if ( ! function_exists( 'of_get_option' ) ) {
/**
* Get Option.
*
* Helper function to return the theme option value.
* If no value has been saved, it returns $default.
* Needed because options are saved as serialized strings.
*/
function of_get_option( $name, $default = false ) {
$config = get_option( 'optionsframework' );
if ( ! isset( $config['id'] ) ) {
return $default;
}
$options = get_option( $config['id'] );
if ( isset( $options[$name] ) ) {
return $options[$name];
}
return $default;
}
}

View File

@ -0,0 +1,312 @@
<?php
/**
* Generates the options fields that are used in the form.
*/
function optionsframework_fields() {
global $allowedtags;
$optionsframework_settings = get_option('optionsframework');
// Get the theme name so we can display it up top
$themename = get_theme_data(STYLESHEETPATH . '/style.css');
$themename = $themename['Name'];
// Gets the unique option id
if (isset($optionsframework_settings['id'])) {
$option_name = $optionsframework_settings['id'];
}
else {
$option_name = 'optionsframework';
};
$settings = get_option($option_name);
$options = optionsframework_options();
$counter = 0;
$menu = '';
$output = '';
foreach ($options as $value) {
$counter++;
$val = '';
$select_value = '';
$checked = '';
// Wrap all options
if ( ($value['type'] != "heading") && ($value['type'] != "info") ) {
// Keep all ids lowercase with no spaces
$value['id'] = preg_replace('/\W/', '', strtolower($value['id']) );
$id = 'section-' . $value['id'];
$class = 'section ';
if ( isset( $value['type'] ) ) {
$class .= ' section-' . $value['type'];
}
if ( isset( $value['class'] ) ) {
$class .= ' ' . $value['class'];
}
$output .= '<div id="' . esc_attr( $id ) .'" class="' . esc_attr( $class ) . '">'."\n";
$output .= '<h4 class="heading">' . esc_html( $value['name'] ) . '</h4>' . "\n";
$output .= '<div class="option">' . "\n" . '<div class="controls">' . "\n";
}
// Set default value to $val
if ( isset( $value['std']) ) {
$val = $value['std'];
}
// If the option is already saved, ovveride $val
if ( ($value['type'] != 'heading') && ($value['type'] != 'info')) {
if ( isset($settings[($value['id'])]) ) {
$val = $settings[($value['id'])];
// Striping slashes of non-array options
if (!is_array($val)) {
$val = stripslashes($val);
}
}
}
switch ( $value['type'] ) {
// Basic text input
case 'text':
$output .= '<input id="' . esc_attr( $value['id'] ) . '" class="of-input" name="' . esc_attr( $option_name . '[' . $value['id'] . ']' ) . '" type="text" value="' . esc_attr( $val ) . '" />';
break;
// Textarea
case 'textarea':
$cols = '8';
$ta_value = '';
if(isset($value['options'])){
$ta_options = $value['options'];
if(isset($ta_options['cols'])){
$cols = $ta_options['cols'];
} else { $cols = '8'; }
}
$val = stripslashes( $val );
$output .= '<textarea id="' . esc_attr( $value['id'] ) . '" class="of-input" name="' . esc_attr( $option_name . '[' . $value['id'] . ']' ) . '" cols="'. esc_attr( $cols ) . '" rows="8">' . esc_textarea( $val ) . '</textarea>';
break;
// Select Box
case ($value['type'] == 'select'):
$output .= '<select class="of-input" name="' . esc_attr( $option_name . '[' . $value['id'] . ']' ) . '" id="' . esc_attr( $value['id'] ) . '">';
foreach ($value['options'] as $key => $option ) {
$selected = '';
if( $val != '' ) {
if ( $val == $key) { $selected = ' selected="selected"';}
}
$output .= '<option'. $selected .' value="' . esc_attr( $key ) . '">' . esc_html( $option ) . '</option>';
}
$output .= '</select>';
break;
// Radio Box
case "radio":
$name = $option_name .'['. $value['id'] .']';
foreach ($value['options'] as $key => $option) {
$id = $option_name . '-' . $value['id'] .'-'. $key;
$output .= '<input class="of-input of-radio" type="radio" name="' . esc_attr( $name ) . '" id="' . esc_attr( $id ) . '" value="'. esc_attr( $key ) . '" '. checked( $val, $key, false) .' /><label for="' . esc_attr( $id ) . '">' . esc_html( $option ) . '</label>';
}
break;
// Image Selectors
case "images":
$name = $option_name .'['. $value['id'] .']';
foreach ( $value['options'] as $key => $option ) {
$selected = '';
$checked = '';
if ( $val != '' ) {
if ( $val == $key ) {
$selected = ' of-radio-img-selected';
$checked = ' checked="checked"';
}
}
$output .= '<input type="radio" id="' . esc_attr( $value['id'] .'_'. $key) . '" class="of-radio-img-radio" value="' . esc_attr( $key ) . '" name="' . esc_attr( $name ) . '" '. $checked .' />';
$output .= '<div class="of-radio-img-label">' . esc_html( $key ) . '</div>';
$output .= '<img src="' . esc_url( $option ) . '" alt="' . $option .'" class="of-radio-img-img' . $selected .'" onclick="document.getElementById(\''. esc_attr($value['id'] .'_'. $key) .'\').checked=true;" />';
}
break;
// Checkbox
case "checkbox":
$output .= '<input id="' . esc_attr( $value['id'] ) . '" class="checkbox of-input" type="checkbox" name="' . esc_attr( $option_name . '[' . $value['id'] . ']' ) . '" '. checked( $val, 1, false) .' />';
break;
// Multicheck
case "multicheck":
foreach ($value['options'] as $key => $option) {
$checked = '';
$label = $option;
$option = preg_replace('/\W/', '', strtolower($key));
$id = $option_name . '-' . $value['id'] . '-'. $option;
$name = $option_name . '[' . $value['id'] . '][' . $option .']';
if ( isset($val[$option]) ) {
$checked = checked($val[$option], 1, false);
}
$output .= '<input id="' . esc_attr( $id ) . '" class="checkbox of-input" type="checkbox" name="' . esc_attr( $name ) . '" ' . $checked . ' /><label for="' . esc_attr( $id ) . '">' . esc_html( $label ) . '</label>';
}
break;
// Color picker
case "color":
$output .= '<div id="' . esc_attr( $value['id'] . '_picker' ) . '" class="colorSelector"><div style="' . esc_attr( 'background-color:' . $val ) . '"></div></div>';
$output .= '<input class="of-color" name="' . esc_attr( $option_name . '[' . $value['id'] . ']' ) . '" id="' . esc_attr( $value['id'] ) . '" type="text" value="' . esc_attr( $val ) . '" />';
break;
// Uploader
case "upload":
$output .= optionsframework_medialibrary_uploader( $value['id'], $val, null ); // New AJAX Uploader using Media Library
break;
// Typography
case 'typography':
$typography_stored = $val;
// Font Size
$output .= '<select class="of-typography of-typography-size" name="' . esc_attr( $option_name . '[' . $value['id'] . '][size]' ) . '" id="' . esc_attr( $value['id'] . '_size' ) . '">';
for ($i = 9; $i < 71; $i++) {
$size = $i . 'px';
$output .= '<option value="' . esc_attr( $size ) . '" ' . selected( $typography_stored['size'], $size, false ) . '>' . esc_html( $size ) . '</option>';
}
$output .= '</select>';
// Font Face
$output .= '<select class="of-typography of-typography-face" name="' . esc_attr( $option_name . '[' . $value['id'] . '][face]' ) . '" id="' . esc_attr( $value['id'] . '_face' ) . '">';
$faces = of_recognized_font_faces();
foreach ( $faces as $key => $face ) {
$output .= '<option value="' . esc_attr( $key ) . '" ' . selected( $typography_stored['face'], $key, false ) . '>' . esc_html( $face ) . '</option>';
}
$output .= '</select>';
// Font Weight
$output .= '<select class="of-typography of-typography-style" name="'.$option_name.'['.$value['id'].'][style]" id="'. $value['id'].'_style">';
/* Font Style */
$styles = of_recognized_font_styles();
foreach ( $styles as $key => $style ) {
$output .= '<option value="' . esc_attr( $key ) . '" ' . selected( $typography_stored['style'], $key, false ) . '>'. $style .'</option>';
}
$output .= '</select>';
// Font Color
$output .= '<div id="' . esc_attr( $value['id'] ) . '_color_picker" class="colorSelector"><div style="' . esc_attr( 'background-color:' . $typography_stored['color'] ) . '"></div></div>';
$output .= '<input class="of-color of-typography of-typography-color" name="' . esc_attr( $option_name . '[' . $value['id'] . '][color]' ) . '" id="' . esc_attr( $value['id'] . '_color' ) . '" type="text" value="' . esc_attr( $typography_stored['color'] ) . '" />';
break;
// Background
case 'background':
$background = $val;
// Background Color
$output .= '<div id="' . esc_attr( $value['id'] ) . '_color_picker" class="colorSelector"><div style="' . esc_attr( 'background-color:' . $background['color'] ) . '"></div></div>';
$output .= '<input class="of-color of-background of-background-color" name="' . esc_attr( $option_name . '[' . $value['id'] . '][color]' ) . '" id="' . esc_attr( $value['id'] . '_color' ) . '" type="text" value="' . esc_attr( $background['color'] ) . '" />';
// Background Image - New AJAX Uploader using Media Library
if (!isset($background['image'])) {
$background['image'] = '';
}
$output .= optionsframework_medialibrary_uploader( $value['id'], $background['image'], null, '',0,'image');
$class = 'of-background-properties';
if ( '' == $background['image'] ) {
$class .= ' hide';
}
$output .= '<div class="' . esc_attr( $class ) . '">';
// Background Repeat
$output .= '<select class="of-background of-background-repeat" name="' . esc_attr( $option_name . '[' . $value['id'] . '][repeat]' ) . '" id="' . esc_attr( $value['id'] . '_repeat' ) . '">';
$repeats = of_recognized_background_repeat();
foreach ($repeats as $key => $repeat) {
$output .= '<option value="' . esc_attr( $key ) . '" ' . selected( $background['repeat'], $key, false ) . '>'. esc_html( $repeat ) . '</option>';
}
$output .= '</select>';
// Background Position
$output .= '<select class="of-background of-background-position" name="' . esc_attr( $option_name . '[' . $value['id'] . '][position]' ) . '" id="' . esc_attr( $value['id'] . '_position' ) . '">';
$positions = of_recognized_background_position();
foreach ($positions as $key=>$position) {
$output .= '<option value="' . esc_attr( $key ) . '" ' . selected( $background['position'], $key, false ) . '>'. esc_html( $position ) . '</option>';
}
$output .= '</select>';
// Background Attachment
$output .= '<select class="of-background of-background-attachment" name="' . esc_attr( $option_name . '[' . $value['id'] . '][attachment]' ) . '" id="' . esc_attr( $value['id'] . '_attachment' ) . '">';
$attachments = of_recognized_background_attachment();
foreach ($attachments as $key => $attachment) {
$output .= '<option value="' . esc_attr( $key ) . '" ' . selected( $background['attachment'], $key, false ) . '>' . esc_html( $attachment ) . '</option>';
}
$output .= '</select>';
$output .= '</div>';
break;
// Info
case "info":
$class = 'section';
if ( isset( $value['type'] ) ) {
$class .= ' section-' . $value['type'];
}
if ( isset( $value['class'] ) ) {
$class .= ' ' . $value['class'];
}
$output .= '<div class="' . esc_attr( $class ) . '">' . "\n";
if ( isset($value['name']) ) {
$output .= '<h4 class="heading">' . esc_html( $value['name'] ) . '</h4>' . "\n";
}
if ( $value['desc'] ) {
$output .= apply_filters('of_sanitize_info', $value['desc'] ) . "\n";
}
$output .= '<div class="clear"></div></div>' . "\n";
break;
// Heading for Navigation
case "heading":
if($counter >= 2){
$output .= '</div>'."\n";
}
$jquery_click_hook = preg_replace('/\W/', '', strtolower($value['name']) );
$jquery_click_hook = "of-option-" . $jquery_click_hook;
$menu .= '<a id="'. esc_attr( $jquery_click_hook ) . '-tab" class="nav-tab" title="' . esc_attr( $value['name'] ) . '" href="' . esc_attr( '#'. $jquery_click_hook ) . '">' . esc_html( $value['name'] ) . '</a>';
$output .= '<div class="group" id="' . esc_attr( $jquery_click_hook ) . '">';
$output .= '<h3>' . esc_html( $value['name'] ) . '</h3>' . "\n";
break;
}
if ( ( $value['type'] != "heading" ) && ( $value['type'] != "info" ) ) {
if ( $value['type'] != "checkbox" ) {
$output .= '<br/>';
}
$explain_value = '';
if ( isset( $value['desc'] ) ) {
$explain_value = $value['desc'];
}
$output .= '</div><div class="explain">' . wp_kses( $explain_value, $allowedtags) . '</div>'."\n";
$output .= '<div class="clear"></div></div></div>'."\n";
}
}
$output .= '</div>';
return array($output,$menu);
}

View File

@ -0,0 +1,291 @@
<?php
/**
* WooThemes Media Library-driven AJAX File Uploader Module (2010-11-05)
*
* Slightly modified for use in the Options Framework.
*/
if ( is_admin() ) {
// Load additional css and js for image uploads on the Options Framework page
$of_page= 'appearance_page_options-framework';
add_action( "admin_print_styles-$of_page", 'optionsframework_mlu_css', 0 );
add_action( "admin_print_scripts-$of_page", 'optionsframework_mlu_js', 0 );
}
/**
* Sets up a custom post type to attach image to. This allows us to have
* individual galleries for different uploaders.
*/
if ( ! function_exists( 'optionsframework_mlu_init' ) ) {
function optionsframework_mlu_init () {
register_post_type( 'optionsframework', array(
'labels' => array(
'name' => __( 'Options Framework Internal Container' ),
),
'public' => true,
'show_ui' => false,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => false,
'supports' => array( 'title', 'editor' ),
'query_var' => false,
'can_export' => true,
'show_in_nav_menus' => false
) );
}
}
/**
* Adds the Thickbox CSS file and specific loading and button images to the header
* on the pages where this function is called.
*/
if ( ! function_exists( 'optionsframework_mlu_css' ) ) {
function optionsframework_mlu_css () {
$_html = '';
$_html .= '<link rel="stylesheet" href="' . get_option('siteurl') . '/' . WPINC . '/js/thickbox/thickbox.css" type="text/css" media="screen" />' . "\n";
$_html .= '<script type="text/javascript">
var tb_pathToImage = "' . get_option('siteurl') . '/' . WPINC . '/js/thickbox/loadingAnimation.gif";
var tb_closeImage = "' . get_option('siteurl') . '/' . WPINC . '/js/thickbox/tb-close.png";
</script>' . "\n";
echo $_html;
}
}
/**
* Registers and enqueues (loads) the necessary JavaScript file for working with the
* Media Library-driven AJAX File Uploader Module.
*/
if ( ! function_exists( 'optionsframework_mlu_js' ) ) {
function optionsframework_mlu_js () {
// Registers custom scripts for the Media Library AJAX uploader.
wp_register_script( 'of-medialibrary-uploader', OPTIONS_FRAMEWORK_DIRECTORY .'js/of-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) );
wp_enqueue_script( 'of-medialibrary-uploader' );
wp_enqueue_script( 'media-upload' );
}
}
/**
* Media Uploader Using the WordPress Media Library.
*
* Parameters:
* - string $_id - A token to identify this field (the name).
* - string $_value - The value of the field, if present.
* - string $_mode - The display mode of the field.
* - string $_desc - An optional description of the field.
* - int $_postid - An optional post id (used in the meta boxes).
*
* Dependencies:
* - optionsframework_mlu_get_silentpost()
*/
if ( ! function_exists( 'optionsframework_medialibrary_uploader' ) ) {
function optionsframework_medialibrary_uploader( $_id, $_value, $_mode = 'full', $_desc = '', $_postid = 0, $_name = '') {
$optionsframework_settings = get_option('optionsframework');
// Gets the unique option id
$option_name = $optionsframework_settings['id'];
$output = '';
$id = '';
$class = '';
$int = '';
$value = '';
$name = '';
$id = strip_tags( strtolower( $_id ) );
// Change for each field, using a "silent" post. If no post is present, one will be created.
$int = optionsframework_mlu_get_silentpost( $id );
// If a value is passed and we don't have a stored value, use the value that's passed through.
if ( $_value != '' && $value == '' ) {
$value = $_value;
}
if ($_name != '') {
$name = $option_name.'['.$id.']['.$_name.']';
}
else {
$name = $option_name.'['.$id.']';
}
if ( $value ) { $class = ' has-file'; }
$output .= '<input id="' . $id . '" class="upload' . $class . '" type="text" name="'.$name.'" value="' . $value . '" />' . "\n";
$output .= '<input id="upload_' . $id . '" class="upload_button button" type="button" value="' . __( 'Upload' ) . '" rel="' . $int . '" />' . "\n";
if ( $_desc != '' ) {
$output .= '<span class="of_metabox_desc">' . $_desc . '</span>' . "\n";
}
$output .= '<div class="screenshot" id="' . $id . '_image">' . "\n";
if ( $value != '' ) {
$remove = '<a href="javascript:(void);" class="mlu_remove button">Remove</a>';
$image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value );
if ( $image ) {
$output .= '<img src="' . $value . '" alt="" />'.$remove.'';
} else {
$parts = explode( "/", $value );
for( $i = 0; $i < sizeof( $parts ); ++$i ) {
$title = $parts[$i];
}
// No output preview if it's not an image.
$output .= '';
// Standard generic output if it's not an image.
$title = __( 'View File', 'optionsframework' );
$output .= '<div class="no_image"><span class="file_link"><a href="' . $value . '" target="_blank" rel="external">'.$title.'</a></span>' . $remove . '</div>';
}
}
$output .= '</div>' . "\n";
return $output;
}
}
/**
* Uses "silent" posts in the database to store relationships for images.
* This also creates the facility to collect galleries of, for example, logo images.
*
* Return: $_postid.
*
* If no "silent" post is present, one will be created with the type "optionsframework"
* and the post_name of "of-$_token".
*
* Example Usage:
* optionsframework_mlu_get_silentpost ( 'of_logo' );
*/
if ( ! function_exists( 'optionsframework_mlu_get_silentpost' ) ) {
function optionsframework_mlu_get_silentpost ( $_token ) {
global $wpdb;
$_id = 0;
// Check if the token is valid against a whitelist.
// $_whitelist = array( 'of_logo', 'of_custom_favicon', 'of_ad_top_image' );
// Sanitise the token.
$_token = strtolower( str_replace( ' ', '_', $_token ) );
// if ( in_array( $_token, $_whitelist ) ) {
if ( $_token ) {
// Tell the function what to look for in a post.
$_args = array( 'post_type' => 'optionsframework', 'post_name' => 'of-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' );
// Look in the database for a "silent" post that meets our criteria.
$query = 'SELECT ID FROM ' . $wpdb->posts . ' WHERE post_parent = 0';
foreach ( $_args as $k => $v ) {
$query .= ' AND ' . $k . ' = "' . $v . '"';
} // End FOREACH Loop
$query .= ' LIMIT 1';
$_posts = $wpdb->get_row( $query );
// If we've got a post, loop through and get it's ID.
if ( count( $_posts ) ) {
$_id = $_posts->ID;
} else {
// If no post is present, insert one.
// Prepare some additional data to go with the post insertion.
$_words = explode( '_', $_token );
$_title = join( ' ', $_words );
$_title = ucwords( $_title );
$_post_data = array( 'post_title' => $_title );
$_post_data = array_merge( $_post_data, $_args );
$_id = wp_insert_post( $_post_data );
}
}
return $_id;
}
}
/**
* Trigger code inside the Media Library popup.
*/
if ( ! function_exists( 'optionsframework_mlu_insidepopup' ) ) {
function optionsframework_mlu_insidepopup () {
if ( isset( $_REQUEST['is_optionsframework'] ) && $_REQUEST['is_optionsframework'] == 'yes' ) {
add_action( 'admin_head', 'optionsframework_mlu_js_popup' );
add_filter( 'media_upload_tabs', 'optionsframework_mlu_modify_tabs' );
}
}
}
if ( ! function_exists( 'optionsframework_mlu_js_popup' ) ) {
function optionsframework_mlu_js_popup () {
$_of_title = $_REQUEST['of_title'];
if ( ! $_of_title ) { $_of_title = 'file'; } // End IF Statement
?>
<script type="text/javascript">
<!--
jQuery(function($) {
jQuery.noConflict();
// Change the title of each tab to use the custom title text instead of "Media File".
$( 'h3.media-title' ).each ( function () {
var current_title = $( this ).html();
var new_title = current_title.replace( 'media file', '<?php echo $_of_title; ?>' );
$( this ).html( new_title );
} );
// Change the text of the "Insert into Post" buttons to read "Use this File".
$( '.savesend input.button[value*="Insert into Post"], .media-item #go_button' ).attr( 'value', 'Use this File' );
// Hide the "Insert Gallery" settings box on the "Gallery" tab.
$( 'div#gallery-settings' ).hide();
// Preserve the "is_optionsframework" parameter on the "delete" confirmation button.
$( '.savesend a.del-link' ).click ( function () {
var continueButton = $( this ).next( '.del-attachment' ).children( 'a.button[id*="del"]' );
var continueHref = continueButton.attr( 'href' );
continueHref = continueHref + '&is_optionsframework=yes';
continueButton.attr( 'href', continueHref );
} );
});
-->
</script>
<?php
}
}
/**
* Triggered inside the Media Library popup to modify the title of the "Gallery" tab.
*/
if ( ! function_exists( 'optionsframework_mlu_modify_tabs' ) ) {
function optionsframework_mlu_modify_tabs ( $tabs ) {
$tabs['gallery'] = str_replace( __( 'Gallery', 'optionsframework' ), __( 'Previously Uploaded', 'optionsframework' ), $tabs['gallery'] );
return $tabs;
}
}

View File

@ -0,0 +1,346 @@
<?php
/* Text */
add_filter( 'of_sanitize_text', 'sanitize_text_field' );
/* Textarea */
function of_sanitize_textarea($input) {
global $allowedtags;
$output = wp_kses( $input, $allowedtags);
return $output;
}
add_filter( 'of_sanitize_textarea', 'of_sanitize_textarea' );
/* Info */
function of_sanitize_allowedtags($input) {
global $allowedtags;
$output = wpautop(wp_kses( $input, $allowedtags));
return $output;
}
add_filter( 'of_sanitize_info', 'of_sanitize_allowedtags' );
/* Select */
add_filter( 'of_sanitize_select', 'of_sanitize_enum', 10, 2);
/* Radio */
add_filter( 'of_sanitize_radio', 'of_sanitize_enum', 10, 2);
/* Images */
add_filter( 'of_sanitize_images', 'of_sanitize_enum', 10, 2);
/* Checkbox */
function of_sanitize_checkbox( $input ) {
if ( $input ) {
$output = "1";
} else {
$output = "0";
}
return $output;
}
add_filter( 'of_sanitize_checkbox', 'of_sanitize_checkbox' );
/* Multicheck */
function of_sanitize_multicheck( $input, $option ) {
$output = '';
if ( is_array( $input ) ) {
foreach( $option['options'] as $key => $value ) {
$output[$key] = "0";
}
foreach( $input as $key => $value ) {
if ( array_key_exists( $key, $option['options'] ) && $value ) {
$output[$key] = "1";
}
}
}
return $output;
}
add_filter( 'of_sanitize_multicheck', 'of_sanitize_multicheck', 10, 2 );
/* Color Picker */
add_filter( 'of_sanitize_color', 'of_sanitize_hex' );
/* Uploader */
function of_sanitize_upload( $input ) {
$output = '';
$filetype = wp_check_filetype($input);
if ( $filetype["ext"] ) {
$output = $input;
}
return $output;
}
add_filter( 'of_sanitize_upload', 'of_sanitize_upload' );
/* Check that the key value sent is valid */
function of_sanitize_enum( $input, $option ) {
$output = '';
if ( array_key_exists( $input, $option['options'] ) ) {
$output = $input;
}
return $output;
}
/* Background */
function of_sanitize_background( $input ) {
$output = wp_parse_args( $input, array(
'color' => '',
'image' => '',
'repeat' => 'repeat',
'position' => 'top center',
'attachment' => 'scroll'
) );
$output['color'] = apply_filters( 'of_sanitize_hex', $input['color'] );
$output['image'] = apply_filters( 'of_sanitize_upload', $input['image'] );
$output['repeat'] = apply_filters( 'of_background_repeat', $input['repeat'] );
$output['position'] = apply_filters( 'of_background_position', $input['position'] );
$output['attachment'] = apply_filters( 'of_background_attachment', $input['attachment'] );
return $output;
}
add_filter( 'of_sanitize_background', 'of_sanitize_background' );
function of_sanitize_background_repeat( $value ) {
$recognized = of_recognized_background_repeat();
if ( array_key_exists( $value, $recognized ) ) {
return $value;
}
return apply_filters( 'of_default_background_repeat', current( $recognized ) );
}
add_filter( 'of_background_repeat', 'of_sanitize_background_repeat' );
function of_sanitize_background_position( $value ) {
$recognized = of_recognized_background_position();
if ( array_key_exists( $value, $recognized ) ) {
return $value;
}
return apply_filters( 'of_default_background_position', current( $recognized ) );
}
add_filter( 'of_background_position', 'of_sanitize_background_position' );
function of_sanitize_background_attachment( $value ) {
$recognized = of_recognized_background_attachment();
if ( array_key_exists( $value, $recognized ) ) {
return $value;
}
return apply_filters( 'of_default_background_attachment', current( $recognized ) );
}
add_filter( 'of_background_attachment', 'of_sanitize_background_attachment' );
/* Typography */
function of_sanitize_typography( $input ) {
$output = wp_parse_args( $input, array(
'size' => '',
'face' => '',
'style' => '',
'color' => ''
) );
$output['size'] = apply_filters( 'of_font_size', $output['size'] );
$output['face'] = apply_filters( 'of_font_face', $output['face'] );
$output['style'] = apply_filters( 'of_font_style', $output['style'] );
$output['color'] = apply_filters( 'of_color', $output['color'] );
return $output;
}
add_filter( 'of_sanitize_typography', 'of_sanitize_typography' );
function of_sanitize_font_size( $value ) {
$recognized = of_recognized_font_sizes();
$value = preg_replace('/px/','', $value);
if ( in_array( (int) $value, $recognized ) ) {
return (int) $value;
}
return (int) apply_filters( 'of_default_font_size', $recognized );
}
add_filter( 'of_font_face', 'of_sanitize_font_face' );
function of_sanitize_font_style( $value ) {
$recognized = of_recognized_font_styles();
if ( array_key_exists( $value, $recognized ) ) {
return $value;
}
return apply_filters( 'of_default_font_style', current( $recognized ) );
}
add_filter( 'of_font_style', 'of_sanitize_font_style' );
function of_sanitize_font_face( $value ) {
$recognized = of_recognized_font_faces();
if ( array_key_exists( $value, $recognized ) ) {
return $value;
}
return apply_filters( 'of_default_font_face', current( $recognized ) );
}
add_filter( 'of_font_face', 'of_sanitize_font_face' );
/**
* Get recognized background repeat settings
*
* @return array
*
*/
function of_recognized_background_repeat() {
$default = array(
'no-repeat' => 'No Repeat',
'repeat-x' => 'Repeat Horizontally',
'repeat-y' => 'Repeat Vertically',
'repeat' => 'Repeat All',
);
return apply_filters( 'of_recognized_background_repeat', $default );
}
/**
* Get recognized background positions
*
* @return array
*
*/
function of_recognized_background_position() {
$default = array(
'top left' => 'Top Left',
'top center' => 'Top Center',
'top right' => 'Top Right',
'center left' => 'Middle Left',
'center center' => 'Middle Center',
'center right' => 'Middle Right',
'bottom left' => 'Bottom Left',
'bottom center' => 'Bottom Center',
'bottom right' => 'Bottom Right'
);
return apply_filters( 'of_recognized_background_position', $default );
}
/**
* Get recognized background attachment
*
* @return array
*
*/
function of_recognized_background_attachment() {
$default = array(
'scroll' => 'Scroll Normally',
'fixed' => 'Fixed in Place'
);
return apply_filters( 'of_recognized_background_attachment', $default );
}
/**
* Sanitize a color represented in hexidecimal notation.
*
* @param string Color in hexidecimal notation. "#" may or may not be prepended to the string.
* @param string The value that this function should return if it cannot be recognized as a color.
* @return string
*
*/
function of_sanitize_hex( $hex, $default = '' ) {
if ( of_validate_hex( $hex ) ) {
return $hex;
}
return $default;
}
/**
* Get recognized font sizes.
*
* Returns an indexed array of all recognized font sizes.
* Values are integers and represent a range of sizes from
* smallest to largest.
*
* @return array
*/
function of_recognized_font_sizes() {
$sizes = range( 9, 71 );
$sizes = apply_filters( 'of_recognized_font_sizes', $sizes );
$sizes = array_map( 'absint', $sizes );
return $sizes;
}
/**
* Get recognized font faces.
*
* Returns an array of all recognized font faces.
* Keys are intended to be stored in the database
* while values are ready for display in in html.
*
* @return array
*
*/
function of_recognized_font_faces() {
$default = array(
'arial' => 'Arial',
'verdana' => 'Verdana, Geneva',
'trebuchet' => 'Trebuchet',
'georgia' => 'Georgia',
'times' => 'Times New Roman',
'tahoma' => 'Tahoma, Geneva',
'palatino' => 'Palatino',
'helvetica' => 'Helvetica*'
);
return apply_filters( 'of_recognized_font_faces', $default );
}
/**
* Get recognized font styles.
*
* Returns an array of all recognized font styles.
* Keys are intended to be stored in the database
* while values are ready for display in in html.
*
* @return array
*
*/
function of_recognized_font_styles() {
$default = array(
'normal' => 'Normal',
'italic' => 'Italic',
'bold' => 'Bold',
'bold italic' => 'Bold Italic'
);
return apply_filters( 'of_recognized_font_styles', $default );
}
/**
* Is a given string a color formatted in hexidecimal notation?
*
* @param string Color in hexidecimal notation. "#" may or may not be prepended to the string.
* @return bool
*
*/
function of_validate_hex( $hex ) {
$hex = trim( $hex );
/* Strip recognized prefixes. */
if ( 0 === strpos( $hex, '#' ) ) {
$hex = substr( $hex, 1 );
}
elseif ( 0 === strpos( $hex, '%23' ) ) {
$hex = substr( $hex, 3 );
}
/* Regex match. */
if ( 0 === preg_match( '/^[0-9a-fA-F]{6}$/', $hex ) ) {
return false;
}
else {
return true;
}
}

View File

@ -0,0 +1,79 @@
<?php get_header(); ?>
<div class="content-container">
<?php $page_for_posts = get_option('page_for_posts'); ?>
<?php if($page_for_posts): ?>
<div class="content-heading right-align">
<h1 class="page-title">
<?php if ( is_day() ) : ?>
<?php printf( __( 'Daily Archives: %s', 'twentyeleven' ), '<span>' . get_the_date() . '</span>' ); ?>
<?php elseif ( is_month() ) : ?>
<?php printf( __( 'Monthly Archives: %s', 'twentyeleven' ), '<span>' . get_the_date( 'F Y' ) . '</span>' ); ?>
<?php elseif ( is_year() ) : ?>
<?php printf( __( 'Yearly Archives: %s', 'twentyeleven' ), '<span>' . get_the_date( 'Y' ) . '</span>' ); ?>
<?php else : ?>
<?php _e( 'Blog Archives', 'twentyeleven' ); ?>
<?php endif; ?>
</h1>
</div>
<?php endif; ?>
<div class="scroll-pane" style="height:<?php echo of_get_option('scrollbar_height', "330"); ?>px;"><!-- customize the height for the scroll box -->
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- BEGIN BLOG POST -->
<div id="post-<?php the_ID(); ?>" <?php post_class('blog-post'); ?>>
<?php if(has_post_thumbnail()): ?>
<div class="blog-image"><a href="<?php the_permalink(); ?>" class="transparent"><?php the_post_thumbnail('post-thumbnail-image'); ?></a></div>
<?php endif; ?>
<div class="post-content">
<div class="post-heading">
<div class="post-data">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
Posted by <?php the_author_posts_link(); ?> in <?php the_category(', '); ?> | <?php the_time('F j, Y'); ?>
</div><!-- close .post-data -->
<div class="comments"><?php comments_popup_link('0', '1', '%'); ?></div>
</div><!-- close .post-heading -->
<?php the_excerpt(); ?>
</div><!-- close .post-content -->
</div><!-- close .blog-post-->
<div class="divider"></div>
<!-- END BLOG POST -->
<?php endwhile; ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p>
</div><!-- .entry-content -->
</article><!-- #post-0 -->
<?php endif; ?>
<div class='prev_link'>
<?php previous_posts_link('&larr; <span>Previous</span>'); ?>
</div>
<div class='next_link'>
<?php next_posts_link('<span>Next</span> &rarr;'); ?>
</div>
<?php wp_reset_query(); ?>
</div><!-- close .scroll-pane -->
</div><!-- close #content-container -->
<?php get_footer(); ?>

View File

@ -0,0 +1,87 @@
<?php get_header(); ?>
<div class="content-container">
<?php $page_for_posts = get_option('page_for_posts'); ?>
<?php if($page_for_posts): ?>
<div class="content-heading right-align">
<h1><?php echo get_the_title($page_for_posts); ?></h1>
<?php if(get_post_meta($page_for_posts, 'pyre_heading_sub', true)): ?>
<h4><?php echo get_post_meta($page_for_posts, 'pyre_heading_sub', true); ?></h4>
<?php endif; ?>
</div>
<?php endif; ?>
<div class="scroll-pane" style="height:<?php echo of_get_option('scrollbar_height', "330"); ?>px;"><!-- customize the height for the scroll box -->
<?php if ( have_posts() ) : ?>
<?php
/* Queue the first post, that way we know
* what author we're dealing with (if that is the case).
*
* We reset this later so we can run the loop
* properly with a call to rewind_posts().
*/
the_post();
?>
<header class="page-header">
<h2 class="page-title author"><?php printf( __( 'Author Archives: %s', 'twentyeleven' ), '<span class="vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( "ID" ) ) ) . '" title="' . esc_attr( get_the_author() ) . '" rel="me">' . get_the_author() . '</a></span>' ); ?></h2>
</header>
<?php endif; ?>
<?php
/* Since we called the_post() above, we need to
* rewind the loop back to the beginning that way
* we can run the loop properly, in full.
*/
rewind_posts();
/* Run the loop for the author archive page to output the authors posts
* If you want to overload this in a child theme then include a file
* called loop-author.php and that will be used instead.
*/
get_template_part( 'loop', 'author' );
?>
<?php while(have_posts()): the_post(); ?>
<!-- BEGIN BLOG POST -->
<div id="post-<?php the_ID(); ?>" <?php post_class('blog-post'); ?>>
<?php if(has_post_thumbnail()): ?>
<div class="blog-image"><a href="<?php the_permalink(); ?>" class="transparent"><?php the_post_thumbnail('post-thumbnail-image'); ?></a></div>
<?php endif; ?>
<div class="post-content">
<div class="post-heading">
<div class="post-data">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
Posted by <?php the_author_posts_link(); ?> in <?php the_category(', '); ?> | <?php the_time('F j, Y'); ?>
</div><!-- close .post-data -->
<div class="comments"><?php comments_popup_link('0', '1', '%'); ?></div>
</div><!-- close .post-heading -->
<?php the_excerpt(); ?>
</div><!-- close .post-content -->
</div><!-- close .blog-post-->
<div class="divider"></div>
<!-- END BLOG POST -->
<?php endwhile; ?>
<div class='prev_link'>
<?php previous_posts_link('&larr; <span>Previous</span>'); ?>
</div>
<div class='next_link'>
<?php next_posts_link('<span>Next</span> &rarr;'); ?>
</div>
<?php wp_reset_query(); ?>
</div><!-- close .scroll-pane -->
</div><!-- close #content-container -->
<?php get_footer(); ?>

View File

View File

@ -0,0 +1,78 @@
<?php get_header(); ?>
<div class="content-container">
<?php $page_for_posts = get_option('page_for_posts'); ?>
<?php if($page_for_posts): ?>
<div class="content-heading right-align">
<h1 class="page-title"><?php
printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?></h1>
</div>
<?php endif; ?>
<div class="scroll-pane" style="height:<?php echo of_get_option('scrollbar_height', "330"); ?>px;"><!-- customize the height for the scroll box -->
<?php if ( have_posts() ) : ?>
<?php
$category_description = category_description();
if ( ! empty( $category_description ) )
echo apply_filters( 'category_archive_meta', '<div class="category-archive-meta">' . $category_description . '</div>' );
?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- BEGIN BLOG POST -->
<div id="post-<?php the_ID(); ?>" <?php post_class('blog-post'); ?>>
<?php if(has_post_thumbnail()): ?>
<div class="blog-image"><a href="<?php the_permalink(); ?>" class="transparent"><?php the_post_thumbnail('post-thumbnail-image'); ?></a></div>
<?php endif; ?>
<div class="post-content">
<div class="post-heading">
<div class="post-data">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
Posted by <?php the_author_posts_link(); ?> in <?php the_category(', '); ?> | <?php the_time('F j, Y'); ?>
</div><!-- close .post-data -->
<div class="comments"><?php comments_popup_link('0', '1', '%'); ?></div>
</div><!-- close .post-heading -->
<?php the_excerpt(); ?>
</div><!-- close .post-content -->
</div><!-- close .blog-post-->
<div class="divider"></div>
<!-- END BLOG POST -->
<?php endwhile; ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .entry-content -->
</article><!-- #post-0 -->
<?php endif; ?>
<div class='prev_link'>
<?php previous_posts_link('&larr; <span>Previous</span>'); ?>
</div>
<div class='next_link'>
<?php next_posts_link('<span>Next</span> &rarr;'); ?>
</div>
<?php wp_reset_query(); ?>
</div><!-- close .scroll-pane -->
</div><!-- close #content-container -->
<?php get_footer(); ?>

View File

@ -0,0 +1,63 @@
<div id="comments">
<?php if ( post_password_required() ) : ?>
<p class="nopassword"><?php _e( 'This post is password protected. Enter the password to view any comments.', 'twentyeleven' ); ?></p>
</div><!-- #comments -->
<?php
/* Stop the rest of comments.php from being processed,
* but don't kill the script entirely -- we still have
* to fully load the template.
*/
return;
endif;
?>
<?php // You can start editing here -- including this comment! ?>
<?php if ( have_comments() ) : ?>
<h2 id="comments-title">
<?php
printf( _n( 'One comment on &ldquo;%2$s&rdquo;', '%1$s comments on &ldquo;%2$s&rdquo;', get_comments_number(), 'twentyeleven' ),
number_format_i18n( get_comments_number() ), '<span>' . get_the_title() . '</span>' );
?>
</h2>
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
<nav id="comment-nav-above">
<h1 class="assistive-text"><?php _e( 'Comment navigation', 'twentyeleven' ); ?></h1>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'twentyeleven' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'twentyeleven' ) ); ?></div>
</nav>
<?php endif; // check for comment navigation ?>
<ol class="commentlist">
<?php
/* Loop through and list the comments. Tell wp_list_comments()
* to use twentyeleven_comment() to format the comments.
* If you want to overload this in a child theme then you can
* define twentyeleven_comment() and that will be used instead.
* See twentyeleven_comment()
*/
wp_list_comments( array( 'callback' => 'twentyeleven_comment' ) );
?>
</ol>
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
<nav id="comment-nav-below">
<h1 class="assistive-text"><?php _e( 'Comment navigation', 'twentyeleven' ); ?></h1>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'twentyeleven' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'twentyeleven' ) ); ?></div>
</nav>
<?php endif; // check for comment navigation ?>
<?php
/* If there are no comments and comments are closed, let's leave a little note, shall we?
* But we don't want the note on pages or post types that do not support comments.
*/
elseif ( ! comments_open() && ! is_page() && post_type_supports( get_post_type(), 'comments' ) ) :
?>
<p class="nocomments"><?php _e( 'Comments are closed.', 'twentyeleven' ); ?></p>
<?php endif; ?>
<?php comment_form(); ?>
</div><!-- #comments -->

View File

@ -0,0 +1,128 @@
<?php
// Template Name: Contact
get_header();
?>
<?php
//If the form is submitted
if(isset($_POST['submit'])) {
$to = get_progression('contact_email');
$comments = $_POST['message'];
//Check to make sure that the name field is not empty
if(trim($_POST['contactname']) == '') {
$hasError = true;
} else {
$name = trim($_POST['contactname']);
}
//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) == '') {
$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$hasError = true;
} else {
$email = trim($_POST['email']);
}
//If there is no error, send the email
if(!isset($hasError)) {
$emailTo = $to; //Put your own email address here
$body = "Name: $name \n\nEmail: $email \n\nComments:\n $comments";
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, 'Your Website Subject', $body, $headers); //Replace Your Website Subject
$emailSent = true;
}
}
?>
<script type="text/javascript">
jQuery(document).ready(function($){
$("#contactform").validate();
});
</script>
<?php while(have_posts()): the_post(); ?>
<div class="content-container">
<div class="content-heading right-align">
<h1><?php the_title(); ?></h1>
<?php if(get_post_meta($post->ID, 'pyre_heading_sub', true)): ?>
<h4><?php echo get_post_meta($post->ID, 'pyre_heading_sub', true); ?></h4>
<?php endif; ?>
</div>
<div class="scroll-pane" style="height:<?php echo of_get_option('scrollbar_height', "330"); ?>px;"><!-- customize the height for the scroll box -->
<div class="col_1_2">
<div class="contact-details">
<?php the_content(); ?>
</div><!-- close .contact-details -->
</div>
<div class="col_2_2">
<div class="contact-form">
<div id="contact-wrapper">
<?php if(isset($hasError)) { //If errors are found ?>
<p class="error">Please check if you've filled all the fields with valid information. Thank you.</p>
<?php } ?>
<?php if(isset($emailSent) && $emailSent == true) { //If email is sent ?>
<p class="success"><strong>Email Successfully Sent!</strong></p>
<?php } ?>
<form method="post" action="" id="contactform">
<div>
<label>Name:</label>
<input type="text" size="45" name="contactname" id="contactname" value="" class="required" />
</div>
<div>
<label>Email:</label>
<input type="text" size="45" name="email" id="email" value="" class="required email" />
</div>
<div>
<!--label for="message">Message:</label-->
<textarea rows="5" cols="40" name="message" id="message"></textarea>
</div>
<input type="submit" class="submit-form" value="Send E-mail &rsaquo;" name="submit" />
</form>
</div><!-- close #contact-wrapper -->
<div id="social-icons">
<?php if(of_get_option('facebook_link')): ?>
<a href="<?php echo of_get_option('facebook_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/facebook_16.png" alt="Facebook" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('twitter_id')): ?>
<a href="http://www.twitter.com/<?php echo of_get_option('twitter_id'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/twitter_16.png" alt="Twitter" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('flickr_link')): ?>
<a href="<?php echo of_get_option('flickr_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/flickr_16.png" alt="Flickr" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('vimeo_link')): ?>
<a href="<?php echo of_get_option('vimeo_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/vimeo_16.png" alt="Vimeo" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('google_link')): ?>
<a href="<?php echo of_get_option('google_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/google_16.png" alt="Google" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('stumbleupon_link')): ?>
<a href="<?php echo of_get_option('stumbleupon_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/stumbleupon_16.png" alt="StumbleUpon" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('youtube_link')): ?>
<a href="<?php echo of_get_option('youtube_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/youtube_16.png" alt="YouTube" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('email_address')): ?>
<a href="mailto:<?php echo of_get_option('email_address'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/email_16.png" alt="E-Mail" class="transparent"></a>
<?php endif; ?>
</div>
</div><!-- close .contact-form -->
</div>
<div class="clear"></div>
</div><!-- close .scroll-pane -->
</div><!-- close #content-container -->
<?php endwhile; ?>
<?php get_footer(); ?>

View File

@ -0,0 +1,359 @@
/*
* FancyBox - jQuery Plugin
* Simple and fancy lightbox alternative
*
* Examples and documentation at: http://fancybox.net
*
* Copyright (c) 2008 - 2010 Janis Skarnelis
* That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
*
* Version: 1.3.4 (11/11/2010)
* Requires: jQuery v1.3+
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
#fancybox-loading {
position: fixed;
top: 50%;
left: 50%;
width: 40px;
height: 40px;
margin-top: -20px;
margin-left: -20px;
cursor: pointer;
overflow: hidden;
z-index: 1104;
display: none;
}
#fancybox-loading div {
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 480px;
background-image: url('../images/fancybox/fancybox.png');
}
#fancybox-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 1100;
display: none;
}
#fancybox-tmp {
padding: 0;
margin: 0;
border: 0;
overflow: auto;
display: none;
}
#fancybox-wrap {
position: absolute;
top: 0;
left: 0;
padding: 20px;
z-index: 1101;
outline: none;
display: none;
}
#fancybox-outer {
position: relative;
width: 100%;
height: 100%;
background: #fff;
}
#fancybox-content {
width: 0;
height: 0;
padding: 0;
outline: none;
position: relative;
overflow: hidden;
z-index: 1102;
border: 0px solid #fff;
}
#fancybox-hide-sel-frame {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: transparent;
z-index: 1101;
}
#fancybox-close {
position: absolute;
top: -15px;
right: -15px;
width: 30px;
height: 30px;
background: transparent url('../images/fancybox/fancybox.png') -40px 0px;
cursor: pointer;
z-index: 1103;
display: none;
}
#fancybox-error {
color: #444;
font: normal 12px/20px Arial;
padding: 14px;
margin: 0;
}
#fancybox-img {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
border: none;
outline: none;
line-height: 0;
vertical-align: top;
}
#fancybox-frame {
width: 100%;
height: 100%;
border: none;
display: block;
}
#fancybox-left, #fancybox-right {
position: absolute;
bottom: 0px;
height: 100%;
width: 35%;
cursor: pointer;
outline: none;
background: transparent url('../images/fancybox/blank.gif');
z-index: 1102;
display: none;
}
#fancybox-left {
left: 0px;
}
#fancybox-right {
right: 0px;
}
#fancybox-left-ico, #fancybox-right-ico {
position: absolute;
top: 50%;
left: -9999px;
width: 30px;
height: 30px;
margin-top: -15px;
cursor: pointer;
z-index: 1102;
display: block;
}
#fancybox-left-ico {
background-image: url('../images/fancybox/fancybox.png');
background-position: -40px -30px;
}
#fancybox-right-ico {
background-image: url('../images/fancybox/fancybox.png');
background-position: -40px -60px;
}
#fancybox-left:hover, #fancybox-right:hover {
visibility: visible; /* IE6 */
}
#fancybox-left:hover span {
left: 20px;
}
#fancybox-right:hover span {
left: auto;
right: 20px;
}
.fancybox-bg {
position: absolute;
padding: 0;
margin: 0;
border: 0;
width: 20px;
height: 20px;
z-index: 1001;
}
#fancybox-bg-n {
top: -20px;
left: 0;
width: 100%;
background-image: url('../images/fancybox/fancybox-x.png');
}
#fancybox-bg-ne {
top: -20px;
right: -20px;
background-image: url('../images/fancybox/fancybox.png');
background-position: -40px -162px;
}
#fancybox-bg-e {
top: 0;
right: -20px;
height: 100%;
background-image: url('../images/fancybox/fancybox-y.png');
background-position: -20px 0px;
}
#fancybox-bg-se {
bottom: -20px;
right: -20px;
background-image: url('../images/fancybox/fancybox.png');
background-position: -40px -182px;
}
#fancybox-bg-s {
bottom: -20px;
left: 0;
width: 100%;
background-image: url('../images/fancybox/fancybox-x.png');
background-position: 0px -20px;
}
#fancybox-bg-sw {
bottom: -20px;
left: -20px;
background-image: url('../images/fancybox/fancybox.png');
background-position: -40px -142px;
}
#fancybox-bg-w {
top: 0;
left: -20px;
height: 100%;
background-image: url('../images/fancybox/fancybox-y.png');
}
#fancybox-bg-nw {
top: -20px;
left: -20px;
background-image: url('../images/fancybox/fancybox.png');
background-position: -40px -122px;
}
#fancybox-title {
font-family: Helvetica;
font-size: 12px;
z-index: 1102;
}
.fancybox-title-inside {
padding-bottom: 10px;
text-align: center;
color: #333;
background: #fff;
position: relative;
}
.fancybox-title-outside {
padding-top: 10px;
color: #fff;
}
.fancybox-title-over {
position: absolute;
bottom: 0;
left: 0;
color: #FFF;
text-align: left;
}
#fancybox-title-over {
padding: 10px;
background-image: url('../images/fancybox/fancy_title_over.png');
display: block;
}
.fancybox-title-float {
position: absolute;
left: 0;
bottom: -20px;
height: 32px;
}
#fancybox-title-float-wrap {
border: none;
border-collapse: collapse;
width: auto;
}
#fancybox-title-float-wrap td {
border: none;
white-space: nowrap;
}
#fancybox-title-float-left {
padding: 0 0 0 15px;
background: url('../images/fancybox/fancybox.png') -40px -90px no-repeat;
}
#fancybox-title-float-main {
color: #FFF;
line-height: 29px;
font-weight: bold;
padding: 0 0 3px 0;
background: url('../images/fancybox/fancybox-x.png') 0px -40px;
}
#fancybox-title-float-right {
padding: 0 0 0 15px;
background: url('../images/fancybox/fancybox.png') -55px -90px no-repeat;
}
/* IE6 */
.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }
.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
height: expression(this.parentNode.clientHeight + "px");
}
#fancybox-loading.fancybox-ie6 {
position: absolute; margin-top: 0;
top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
}
#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
/* IE6, IE7, IE8 */
.fancybox-ie .fancybox-bg { background: transparent !important; }
.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }

View File

@ -0,0 +1,2 @@
html {overflow:hidden; max-height:100%;}
.side-barheading {display:none;}

View File

@ -0,0 +1,12 @@
body {
background-color: #1c242d;
}
.bgwidth {
width: auto !important;
}
h1, h2, h3, h4, h5, h6, .sub-navigation, #next_link2, #previous_link2, .prev_link a, .next_link a, form#contactform input.submit-form,
.sf-menu, .blog-post .comments, #respond input#submit {
font-family: 'Marvel', Arial, sans-serif;
}

View File

@ -0,0 +1,174 @@
/*** DEMO SKIN ***/
/*** adding sf-vertical in addition to sf-menu creates a vertical menu ***/
.navigation-space {line-height:1px;}
.sf-vertical, .sf-vertical li {
width: 165px !important;
}
.sf-menu li li a {margin-left:15px; }
.sf-vertical {padding:38px 0 28px 0 !important; position:relative; z-index:3000;}
.sf-menu {
float: left;
}
.sf-menu a {
padding: 2px 0px 2px 1px;
text-decoration:none;
font-size:17px;
}
.sf-menu li li a, .sf-menu li .current-menu-item a {
background-position: 0px -155px !important;
opacity:1; filter:alpha(opacity=100);
padding:7px 0 4px 1px;
font-size:16px;
}
.sf-menu .current-menu-item a, .sf-menu li .current-menu-item a:hover {padding-left:7px; opacity:0.7; filter:alpha(opacity=70); }
.sf-menu .current-menu-item .sliding-element a {padding-left:0px; opacity:1; filter:alpha(opacity=100); background:none; }
.sf-menu a:hover {opacity:0.7;filter:alpha(opacity=70); }
.sf-menu li li a:hover, .sf-menu .current-menu-item .sliding-element a:hover, .sf-menu li .current-menu-item a:hover {background-position: 0px 9px !important;}
.sf-menu li li:hover, .sf-menu li li.sfHover,
.sf-menu li li a:focus, .sf-menu li li a:hover, .sf-menu li li a:active {
outline: 0;
}
/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
margin: 0;
padding: 0;
list-style: none;
}
.sf-menu {
line-height: 1.0;
}
.sf-menu ul {
position: absolute;
top: -999em;
width: 165px; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
width: 100%;
}
.sf-menu li:hover {
visibility: inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
float: left;
position: relative;
}
.sf-menu a {
display: block;
position: relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
left: 0;
top: 2.5em; /* match top ul list item height */
z-index: 99;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
left: 165px; /* match ul width */
top: 0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
left: 165px; /* match ul width */
top: 0;
}
/*** arrows **/
.sf-menu a.sf-with-ul {
padding-right: 2.25em;
min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
}
.sf-menu li li a > .sf-sub-indicator {top: 9px; }
.sf-sub-indicator {
position: absolute;
display: block;
right: 1.45em;
top: 1.75em; /* IE6 only */
width: 10px;
height: 10px;
text-indent: -999em;
overflow: hidden;
background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
}
a > .sf-sub-indicator { /* give all except IE6 the correct values */
top: 4px;
background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
background-position: -10px -100px; /* arrow hovers for modern browsers*/
}
/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
background-position: -10px 0; /* arrow hovers for modern browsers*/
}
/*** shadows for all but IE6 ***/
.sf-shadow ul {
background: url('../images/shadow.png') no-repeat bottom right;
padding: 0 8px 9px 0;
-moz-border-radius-bottomleft: 17px;
-moz-border-radius-topright: 17px;
-webkit-border-top-right-radius: 17px;
-webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {
background: transparent;
}
/* this lacks ul at the start of the selector, so the styles from the main CSS file override it where needed */
.sf-vertical li:hover ul,
.sf-vertical li.sfHover ul {
left: 165px; /* match ul width */
top: 0;
}
/*** adding sf-vertical in addition to sf-menu creates a vertical menu ***/
.sf-vertical, .sf-vertical li {
}
/* this lacks ul at the start of the selector, so the styles from the main CSS file override it where needed */
.sf-vertical li:hover ul,
.sf-vertical li.sfHover ul {
left: 165px; /* match ul width */
top: 0;
}
/*** alter arrow directions ***/
.sf-vertical .sf-sub-indicator { background-position: -10px 0; } /* IE6 gets solid image only */
.sf-vertical a > .sf-sub-indicator { background-position: 0 0; } /* use translucent arrow for modern browsers*/
/* hover arrow direction for modern browsers*/
.sf-vertical a:focus > .sf-sub-indicator,
.sf-vertical a:hover > .sf-sub-indicator,
.sf-vertical a:active > .sf-sub-indicator,
.sf-vertical li:hover > a > .sf-sub-indicator,
.sf-vertical li.sfHover > a > .sf-sub-indicator {
background-position: -10px 0; /* arrow hovers for modern browsers*/
}

View File

@ -0,0 +1,203 @@
/* CSS for jQuery Orbit Plugin 1.2.3
* www.ZURB.com/playground
* Copyright 2010, ZURB
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
/* PUT IN YOUR SLIDER ID AND SIZE TO MAKE LOAD BEAUTIFULLY
================================================== */
#featured {
width: 980px;
background: #000 url('../images/orbit/loading.gif') no-repeat center center;
overflow: hidden;
}
#featured div {width:980px; display:block;}
#featured>img,
#featured>div,
#featured>a { display: none; }
/* CONTAINER
================================================== */
div.orbit-wrapper {
width: 1px;
height: 1px;
position: relative; }
div.orbit {
width: 1px;
height: 1px;
position: relative;
overflow: hidden }
div.orbit>img {
position: absolute;
top: 0;
left: 0;
display: none; }
div.orbit>a {
border: none;
position: absolute;
top: 0;
left: 0;
line-height: 0;
display: none; }
.orbit>div {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%; }
/* Note: If your slider only uses content or anchors, you're going to want to put the width and height declarations on the ".orbit>div" and "div.orbit>a" tags in addition to just the .orbit-wrapper */
/* TIMER
================================================== */
div.timer {
width: 20px;
height: 20px;
overflow: hidden;
position: absolute;
bottom: 22px;
right: 25px;
opacity: .8;
cursor: pointer;
z-index: 1001; }
span.rotator {
display: block;
width: 20px;
height: 20px;
position: absolute;
top: 0;
left: -10px;
background: url(../images/orbit/rotator-black2.png) no-repeat;
z-index: 3; }
span.mask {
display: block;
width: 10px;
height: 20px;
position: absolute;
top: 0;
right: 0;
z-index: 2;
overflow: hidden; }
span.rotator.move {
left: 0 }
span.mask.move {
width: 20px;
left: 0;
background: url(../images/orbit/timer-black2.png) repeat 0 0; }
span.pause {
display: block;
width: 20px;
height: 20px;
position: absolute;
top: 0;
left: 0;
background: url(../images/orbit/pause-black2.png) no-repeat;
z-index: 4;
opacity: 0; }
span.pause.active {
background: url(../images/orbit/pause-black2.png) no-repeat 0 -20px }
div.timer:hover span.pause,
span.pause.active {
opacity: 1 }
/* CAPTIONS
================================================== */
.orbit-caption {
display: none;
font-family: "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif; }
.orbit-wrapper .orbit-caption {
background: #000;
background: rgba(0,0,0,.6);
z-index: 1000;
color: #fff;
text-align: center;
padding: 7px 0;
font-size: 13px;
position: absolute;
right: 0;
bottom: 0;
width: 100%; }
/* DIRECTIONAL NAV
================================================== */
div.slider-nav {
display: block }
div.slider-nav span {
width:26px;
height: 44px;
text-indent: -9999px;
position: absolute;
z-index: 1000;
top: 50%;
margin-top: -22px;
cursor: pointer; }
div.slider-nav span.right {
background: url(../images/orbit/arrows-new.png) -26px 0px no-repeat;
right: 15px; }
div.slider-nav span.left {
background: url(../images/orbit/arrows-new.png) 0px 0px no-repeat;
left: 15px; }
/* BULLET NAV
================================================== */
.orbit-bullets {
position: absolute;
z-index: 1000;
list-style: none;
bottom: -3px;
left: 50%;
margin-left: -38px;
padding: 0; }
.orbit-bullets li {
float: left;
margin-left: 5px;
cursor: pointer;
color: #999;
text-indent: -9999px;
background: url(../images/orbit/bullets2.png) no-repeat top left;
width: 10px;
height: 10px;
overflow: hidden; }
.orbit-bullets li.active {
color: #222;
background-position: top right; }
.orbit-bullets li.has-thumb {
background: none;
width: 100px;
height: 75px; }
.orbit-bullets li.active.has-thumb {
background-position: 0 0;
border-top: 2px solid #000; }

View File

@ -0,0 +1 @@
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}

View File

@ -0,0 +1,533 @@
/* DEFAULT STYLES */
body {
background:#e8e8e8;
font-size:12px;
line-height:18px;
min-width:1000px;
min-height:20px;
font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, sans-serif;
}
* { margin: 0; outline: none; }
p {padding-bottom:18px;}
ul {margin-bottom:24px;}
.sf-menu, .blog-post .comments, #respond input#submit {font-family: Arial, serif;}
#randomdiv {font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, sans-serif;}
h1, h2, h3, h4, h5, h6, .sub-navigation, #next_link2, #previous_link2, .prev_link a, .next_link a, form#contactform input.submit-form {text-transform:uppercase; font-weight:normal; font-family: Arial, serif;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { text-decoration:none; }
h1 { font-size:42px; line-height:38px; margin-bottom:3px;}
h2 { font-size:35px; line-height:32px; margin-bottom:2px;}
h3 { font-size:27px; line-height:24px; margin-bottom:2px; }
h4 { font-size:24px; line-height:22px; margin-bottom:2px;}
h5 {font-size:18px; line-height:19px; margin-bottom:2px;}
h6 {font-size:14px; line-height:24px; margin-bottom:2px;}
iframe {border:0px; margin:0px; padding:0px; }
img.noborder {border:none !important;}
#bg { position: fixed; top: 0; left: 0; }
.bgwidth { width: 100%; }
.bgheight { height: 100%; }
.center-align {text-align:center;}
.left-align {text-align:left;}
.right-align {text-align:right;}
.alignright {float:right; margin:0 0 10px 10px;}
.alignleft {float:left; margin:0 10px 10px 0;}
.aligncenter { text-align:center; display: block; margin:4px auto 10px auto;}
.bypostauthor {}
.sticky {}
.wp-caption {}
.wp-caption-text {}
.gallery-caption {}
/* BODY LINK COLOUR AND MISC COLORS */
body, a, .side-barheading h2, ul.sub-navigation li a, .content-heading h5, .content-heading h6 {color:#515151;} /* Dark Grey Color for Links and some Headings Default: #515151 */
a:hover {color:#000;} /* Main hover link color */
#footer, #footer a {color:#fff;} /* Footer Text and Link Color Default #fff */
#footer a:hover {color:#e7e7e7;} /* Footer Link Hover Color Default #e7e7e7 */
.sf-menu a, .sf-menu a:visited { color: #fff;} /* Color for the Navigation link Default #fff */
.light-fonts, .light-fonts h1, .light-fonts a, .light-fonts h1, .navigation-menu h1 {color:#fff;} /* .light-fonts class Font Color Default #fff*/
.light-fonts a:hover {color:#e7e7e7;} /* .light-fonts class Link Font Color Default #e7e7e7 */
.custom-color {color:#fcc73c;} /* Custom Color Orange Used in Space Template Index Page Default #fcc73c */
/* CAROUSEL and SCROLL HEIGHTS */
.content-container .list_carousel li { height:292px;} /* Default Carousel Container Height */
.portfolio-carousel ul li {height:290px !important;} /* Portfolio Carousel Image Gallery Height */
.content-container .news_carousel li { height:356px;} /* Latest Carousel News Regular Height */
.news_carousel .scroll-pane { height:315px;} /* Latest News Carousel Scrolling Height */
/* MENU AND NAVIGATION POSITIONING AND WIDTH */
#featured { position: relative; float:right;}
#left-container { float:left; width:270px; position:relative; }
.navigation-menu {width:180px; z-index:16; position:relative; top:0; }
.side-barheading {width:180px; z-index:5; position:absolute; right:0; top:170px; }
.logo-menu {text-align:center; position:relative; top:0; z-index:15; }
.bottom-box .logo-menu {margin-bottom:65px;}
.top-box { position:absolute; top:0px; right:0px; }
.bottom-box {position:absolute; bottom:0px; right:0px; }
.hover-box {padding:6px 15px 2px 15px; }
.navigation-menu h1 {font-size:14px; margin:0px; line-height:17px; }
.navigation-menu h1:hover {cursor:pointer;}
ul.sub-navigation {width:650px; margin:5px 0 -25px 0; }
ul.sub-navigation li {display:inline;}
ul.sub-navigation li a {margin-right:25px; font-size:18px; text-decoration:none;}
.logo-menu a img {margin-bottom:-5px;}
/* MAIN STYLES */
#box-container {position:absolute; width:100%; top:50%;}
.content-container {float:right; display:inline-block; width:650px; padding:60px 50px 0px 0px; position:relative; z-index:5;}
#page-wrap { position: relative; width:980px; margin:0 auto; }
#container {background:white; width:980px; margin-bottom:5px; }
.featured-heading {margin:145px 180px 0 0; text-align:right; }
.featured-text {width:200px; float:right; margin-right:50px;}
.featured-heading2 {margin:120px 180px 0 0; text-align:right; }
.content-heading {padding-left:25px; width:625px; overflow:hidden;}
.latest-news-heading {float:left; position:absolute; left:0px; top:75px; z-index:25; }
blockquote {font-style:italic; line-height:22px; font-size:13px; color:#626262; background:url(../images/blockquote.png) 15px 9px no-repeat; padding:5px 0 0 50px; margin-bottom:20px;}
.content-container ul, .content-container ol {padding-bottom:18px;}
.content-container ul.checkmark li { margin-left:0px; background:url(../images/checkmark.png) 0px 4px no-repeat; padding:0 0 2px 20px; list-style:none;}
.content-container ul.arrow li { margin-left:0px; background:url(../images/sidebar-arrow.png) 0px 4px no-repeat; padding:0 0 2px 20px; list-style:none;}
.content-container ul li {list-style:disc; margin-left:20px;}
.content-container ol li {list-style:decimal; margin-left:23px;}
a.button, a.big-button {font-family: Arial, sans-serif; display: inline-block; text-decoration: none; line-height: 1; border-radius: 4px; -moz-border-radius: 4px; padding: 10px 19px 11px 19px;}
a.button {font-size:12px; font-weight:bold; color:#858585; background: #f6f6f6 url(../images/big-button-overlay.png) top left repeat-x; -moz-box-shadow: 0 1px 3px #ccc; -webkit-box-shadow: 0 1px 3px #ccc box-shadow:0 1px 3px #ccc; border-bottom: 1px solid #b8b8b8; position: relative; cursor: pointer;}
a.button:hover {background-color:#fff; color:#787878;}
a.big-button {font-size:14px; font-weight:bold; color:#fff; background: #434343 url(../images/big-button-overlay.png) top left repeat-x; -webkit-border-radius: 4px; -moz-box-shadow: 0 1px 4px #999; -webkit-box-shadow: 0 1px 4px #999; box-shadow:0 1px 4px #999; border-bottom: 1px solid #343434; position: relative; cursor: pointer; }
a.big-button:hover {background-color:#373737; color:#fff;}
table {border:1px solid #ccc; background:#ecebeb; width:100%; margin:8px 0 0 0; }
table td {padding:8px; border:1px solid #d6d6d6;}
table thead th {border:1px solid #ccc;}
table thead {background:#dadada;}
table tfoot td {padding:5px;}
table thead th {padding:8px 0 8px 0;}
table .t-headings {font-weight:bold; font-size:115%; background:#dadada;}
table .t-footer {background:#e1e1e1; text-align:center; font-size:90%; font-style:italic;}
.team-member {padding:10px 0 10px 0;overflow:hidden;width:100%;}
.team-member h5 {margin-bottom:3px; padding-top:5px;}
.team-member img {margin-right:15px; float:left;}
.divider {border-bottom:1px solid #b7b7b7; color:#9f9f9f; margin-bottom:30px; padding-bottom:10px;}
.content-container h1#error404 {padding:165px 0px 0px 85px;}
.page-header {padding-bottom:10px;}
/* BLOG SECTION STYLES */
.blog-post {width:585px; overflow:hidden; margin-right:15px;}
.blog-post .blog-image {float:left; margin-right:25px; margin-bottom:18px;}
.post-heading { overflow:hidden; padding-bottom:5px; }
.blog-post .post-data {font-size:11px; float:left;}
.post-data h3 {margin-bottom:5px;}
.blog-post .comments {position:absolute; right:12px; text-align:center; width:31px; height:34px; font-size:15px; }
.blog-post .comments a {color:#949494; margin-top:2px; background:url(../images/blog-comments.png) 0px 0px no-repeat; display:block; width:32px; height:28px; text-decoration:none; padding-top:6px;}
.blog-post .comments a:hover {color:#6a6a6a; background:url(../images/blog-comments.png) 0px -34px no-repeat;}
.type-portfolio .post-heading .comments {display:none;}
.comment-author, .comment-author cite {font-style:normal; padding-bottom:2px; font-size:12px;}
span.fn {font-size:14px;}
.comment-meta {font-size:10px; margin-bottom:4px;}
.comment-meta a {text-decoration:none;}
#reply-title {font-size:22px; line-height:24px;}
#comments ol.commentlist p {padding-bottom:12px;}
.comment-author img.avatar {float:left; margin:0px 15px 24px 0px; position:relative; top:-2px;}
p.form-allowed-tags {font-size:11px; line-height:16px;}
code {font-family: monospace, sans-serif; display:block; padding-top:5px;}
#comments h2#comments-title {font-size:20px; line-height:24px; margin-bottom:15px;}
#comments ol.commentlist li {list-style:none; margin:0px 0px 15px 0px; padding:0px 0px 0px 0px; border-bottom:1px solid #b7b7b7;}
#reply-title a#cancel-comment-reply-link {font-size:18px; padding-left:5px;}
#comments ol.commentlist li ul.children {margin-bottom:0px; padding-bottom:0px;}
#comments ol.commentlist li ul.children li {margin:0px 0px 0px 0px; padding:15px 0px 0px 50px; border-top:1px solid #b7b7b7; border-bottom:none;}
.reply a {border:1px solid #4c4c4c; display:inline-block; padding:1px 10px; margin-bottom:15px; font-size:9px; text-decoration:none;}
.reply a:hover {border:1px solid #000; color:#000; -webkit-box-shadow: 0px 0px 4px #6a9ec9; -moz-box-shadow: 0px 2px 4px #6a9ec9; box-shadow: 0px 0px 4px #6a9ec9;}
.light-fonts .reply a {border:1px solid #B7B7B7;}
.light-fonts .reply a:hover {border:1px solid #d6d6d6; color:#fff;}
#respond input#submit {border:1px solid #4c4c4c; background:url(../images/none.gif);cursor:pointer; font-size:12px; line-height:1; text-decoration:none !important; width:100px; padding:5px 10px 4px 10px; }
input#submit:hover {background:#000; color:#000; -webkit-box-shadow: 0px 0px 4px #6a9ec9; -moz-box-shadow: 0px 2px 4px #6a9ec9; box-shadow: 0px 0px 4px #6a9ec9;}
.light-fonts #respond input#submit {border-color:#B7B7B7; color:#fff;}
.light-fonts #respond input#submit:hover {border-color:#d6d6d6; color:#fff;}
#respond span.required {color:red; position:relative; right:2px; }
label {vertical-align:top;}
input:focus, textarea:focus { border: 1px solid #bddae3; -webkit-box-shadow: 0px 0px 4px #6a9ec9; -moz-box-shadow: 0px 2px 4px #6a9ec9; box-shadow: 0px 0px 4px #6a9ec9;}
#respond label {font-size:11px;}
#respond input, #respond textarea { background:url(../images/none.gif); border-style:solid; border-width:1px; font-size:13px; padding:4px; border-color:#4c4c4c; display:block;}
.light-fonts #respond input, .light-fonts #respond textarea { border-color:#B7B7B7;}
p.comment-form-author, p.comment-form-email, p.comment-form-url, p.comment-form-comment, p.comment-notes {padding-bottom:10px;}
#author-info {padding-top:15px;}
#author-avatar {float:left; margin:0px 15px 15px 0px;}
#author-description h4 {margin-bottom:7px;}
/* CONTACT FORM STYLES */
form#contactform input, form#contactform textarea, #contact-wrapper input.error, #contact-wrapper textarea.error, #contact-wrapper div {color:#515151;}
.light-fonts form#contactform input, .light-fonts form#contactform textarea, .light-fonts #contact-wrapper input.error, .light-fonts #contact-wrapper textarea.error, .light-fonts form#contactform input.submit-form {color:#fff;}
.light-fonts #contact-wrapper p.success {color:#fff; margin-bottom:0px; padding-bottom:10px;}
#contact-wrapper p.success {color:#00a651; margin-bottom:0px;}
#contact-wrapper .error {color:#888;}
.light-fonts #contact-wrapper div {color:#ccc;}
body.contact-body {background:transparent !important; }
.contact-form #social-icons {float:none; position:absolute; bottom:0px; right:0px;}
.contact-details {border-right:1px solid #888; margin:25px 40px 25px 25px; font-size:13px;}
.contact-form {margin:25px 0 25px 0; }
#contact-wrapper { width:290px; overflow:hidden; display:block; font-size:13px;}
#contact-wrapper div { clear:both; font-size:11px;}
#contact-wrapper label { display:block; float:right; width:auto; position:relative; right:35px; top:5px; }
form#contactform textarea {float:none !important; margin-bottom:9px !important;}
#contact-wrapper .error { font-style:italic; margin-bottom:2px; margin-top:2px; font-size:10px; float:left; right:0px; top:0px;}
#contact-wrapper input.error {font-size:12px; font-style:normal; margin-top:0px;}
form#contactform input { width:205px; }
.light-fonts form#contactform input, .light-fonts form#contactform textarea, .light-fonts form#contactform input.submit-form {border-color:#B7B7B7;}
form#contactform input, form#contactform textarea, form#contactform input.submit-form {border-color:#4c4c4c;}
form#contactform input, form#contactform textarea { font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, sans-serif; font-size:12px; float:left; margin-bottom:15px; background:url(../images/none.gif); border-style:solid; border-width:1px; padding:4px; }
form#contactform input.submit-form {color:#555; cursor:pointer; display:inline-block; font-size:12px; line-height:1; text-decoration:none !important; width:100px; padding:5px 11px 4px 11px; }
form#contactform input.submit-form:hover {color:#000; border-color:#000; -webkit-box-shadow: 0px 0px 4px #6a9ec9; -moz-box-shadow: 0px 0px 4px #6a9ec9; box-shadow: 0px 0px 4px #6a9ec9;}
.light-fonts form#contactform input.submit-form:hover {color:#fff; border-color:#d6d6d6; -webkit-box-shadow: 0px 0px 4px #6a9ec9; -moz-box-shadow: 0px 0px 4px #6a9ec9; box-shadow: 0px 0px 4px #6a9ec9;}
/* CONTACT FORM 7 STYLES */
.wpcf7 input, .wpcf7 textarea { background:url(../images/none.gif); border-style:solid; border-width:1px; font-size:13px; padding:4px; border-color:#4c4c4c; display:block; }
.light-fonts .wpcf7 input, .light-fonts .wpcf7 textarea { border-color:#B7B7B7; color:#fff;}
.wpcf7 p {padding-bottom:10px; font-size:11px;}
.wpcf7-submit {cursor:pointer;}
.wpcf7-submit:hover { color:#000; border-color:#000; -webkit-box-shadow: 0px 0px 4px #6a9ec9; -moz-box-shadow: 0px 0px 4px #6a9ec9; box-shadow: 0px 0px 4px #6a9ec9;}
.light-fonts .wpcf7-submit:hover {color:#fff; border-color:#d6d6d6; }
/* FOOTER STYLES */
#footer {width:980px; overflow:hidden; font-size:10px;}
#social-icons {float:left; padding:3px 0px 0px 1px;}
#social-icons img {margin-right:2px;}
#copyright {float:right; text-align:right; padding-right:2px;}
/* CAROUSEL STYLES */
.list_carousel, .portfolio_carousel, .news_carousel {
margin: 0;
width: 600px;
}
.list_carousel ul, .portfolio_carousel ul, .news_carousel ul {
width: 600px;
margin: 0;
padding: 0;
list-style: none;
display: block;
}
.portfolio-carousel ul li {
text-align:center !important;
}
.content-container .list_carousel li {
width: 570px;
padding: 0;
margin:0 0 0 30px;
display: block;
float: left;
}
.news_carousel .scroll-pane {
width:370px;
float:none;
overflow: auto;
margin:0px;
padding:0 8px 0 0;
}
.news_carousel .news-post {
width:370px;
padding:25px;
background:#fff;
color:#888;
display:block;
}
.news_carousel .pagination {margin-top:7px;}
.content-container .news_carousel li {
width: 475px;
padding: 0;
margin:0 0 0 125px;
display: block;
float: left;
list-style:none;
}
.date-stamp h1, .date-stamp h2, .date-stamp h3, .date-stamp h5, .date-stamp h4, .date-stamp h6 {}
.date-stamp {}
.news_carousel .news-post a {color:#515151;}
.news_carousel .news-post a:hover {color:#000;}
.content-container .portfolio_carousel li a { display:block; height:210px; width:135px; text-decoration:none; color:#888;}
.content-container .portfolio_carousel li a:hover {background:#282828;}
.content-container .portfolio_carousel li a:hover img, .thumbnails a:hover img {
opacity: 0.8;
filter: alpha(opacity=80);
-webkit-transition: opacity .5s ease-in-out;
-moz-transition: opacity .5s ease-in-out;
-o-transition: opacity .5s ease-in-out;
transition: opacity .5s ease-in-out;
}
.content-container .portfolio_carousel li {
width: 135px;
height:210px;
padding: 0;
margin:0 15px 0 0;
display: block;
float: left;
background:#222;
color:#888;
font-size:10px;
}
.content-container .portfolio_carousel .description {padding:12px;}
.content-container .portfolio_carousel li h5, .content-container .portfolio_carousel li h6, .content-container .portfolio_carousel li h4 {
color:#fff;
}
.content-container .portfolio_carousel li a {}
.clearfix {
float: none;
clear: both;
}
.prev_link a {
float: left;
margin-left: 10px;
padding-top:5px;
}
.next_link a {
float: right;
margin-right: 10px;
padding-top:5px;
}
a.next.disabled, a.prev.disabled, a.next.disabled span, a.prev.disabled span {
cursor:default;
color:#ccc !important;
}
#previous_link2 {
float: left;
margin-left: 10px;
padding-top:5px;
}
#next_link2 {
float: right;
margin-right: 10px;
padding-top:5px;
}
a#previous_link2-arrow, a#next_link2-arrow {
background:url(../images/arrow-navigation.png) top left no-repeat;
width:20px;
text-indent:-9999px;
display:block;
margin-top:15px;
}
a#next_link2-arrow {background-position: top right !important;}
a#previous_link2-arrow.disabled, a#next_link2-arrow.disabled {
opacity:0.4;
filter: alpha(opacity=40);
}
a#next_link2, a#previous_link2 {text-decoration:none; font-size:13px;}
a#previous_link2 span {padding-left:5px;}
.prev_link a, .next_link a {
background:url(../images/arrow-navigation.png) top left no-repeat;
width:20px;
text-indent:-9999px;
display:block;
margin-top:15px;
}
.next_link a {background-position: top right !important;}
.prev_link a.disabled, .next_link a.disabled {
opacity:0.4;
filter: alpha(opacity=40);
}
.pagination {text-align:center; padding-top:5px; width:300px; margin:0 auto;}
.pagination a {
background: url(../images/orbit/bullets2.png) no-repeat top left;
width: 10px;
height: 10px;
overflow: hidden;
display:inline-block;
cursor: pointer;
margin-left: 5px;
}
.pagination a.selected {
color: #222;
background-position: top right;
}
.pagination a span {
display:none;
}
.next_link a, .prev_link a {text-decoration:none; font-size:13px;}
.next_link a span {padding-right:5px;}
.prev_link a span {padding-left:5px;}
/* COLUMN LAYOUTS */
.column-container {width:100%; overflow:hidden;}
.col_1_1,.col_1_2,.col_2_2,.col_1_3,.col_2_3,.col_3_3,.col_1-2_3,.col_2-3_3,.col_1_4,.col_2_4,.col_3_4,.col_4_4,.col_1-2_4,.col_2-3_4,.col_3-4_4,.col_1-3_4,.col_2-4_4,.col_1_5,.col_2_5,.col_3_5,.col_4_5,.col_5_5,.col_1-2_5,.col_2-3_5,.col_3-4_5,.col_4-5_5,.col_1-3_5,.col_2-4_5,.col_3-5_5,.col_1-4_5,.col_2-5_5{float:left;display:inline;overflow:hidden;}
* html .col_1_1,* html .col_1_2,* html .col_2_2,* html .col_1_3,* html .col_2_3,* html .col_3_3,* html .col_1-2_3,* html .col_2-3_3,* html .col_1_4,* html .col_2_4,* html .col_3_4,* html .col_4_4,* html .col_1-2_4,* html .col_2-3_4,* html .col_3-4_4,* html .col_1-3_4,* html .col_2-4_4,* html .col_1_5,* html .col_2_5,* html .col_3_5,* html .col_4_5,* html .col_5_5,* html .col_1-2_5,* html .col_2-3_5,* html .col_3-4_5,* html .col_4-5_5,* html .col_1-3_5,* html .col_2-4_5,* html .col_3-5_5,* html .col_1-4_5,* html .col_2-5_5{margin-left:-.04em;}
.col_1_1{width:100%;}
.col_1_2,.col_2_2{width:50%;}
.col_1_3,.col_2_3,.col_3_3{width:33.33%;}
.col_1-2_3,.col_2-3_3{width:66.66%;}
.col_1_4,.col_2_4,.col_3_4,.col_4_4{width:25%;}
.col_1-2_4,.col_2-3_4,.col_3-4_4{width:50%;}
.col_1-3_4,.col_2-4_4{width:75%;}
.col_1_5,.col_2_5,.col_3_5,.col_4_5,.col_5_5{width:20%;}
.col_1-2_5,.col_2-3_5,.col_3-4_5,.col_4-5_5{width:40%;}
.col_1-3_5,.col_2-4_5,.col_3-5_5{width:60%;}
.col_1-4_5,.col_2-5_5{width:80%;}
.content{padding:0 10px;overflow:hidden;}
.col_1_2 .content,.col_1_3 .content,.col_1-2_3 .content,.col_1_4 .content,.col_1-2_4 .content,.col_1-3_4 .content,.col_1_5 .content,.col_1-2_5 .content,.col_1-3_5 .content,.col_1-4_5 .content,.col_1-2_5 .content,.col_1-3_5 .content,.col_1-4_5 .content{padding-left:0;}
.col_2_2 .content,.col_3_3 .content,.col_2-3_3 .content,.col_4_4 .content,.col_3-4_4 .content,.col_2-4_4 .content,.col_5_5 .content,.col_4-5_5 .content,.col_3-5_5 .content,.col_2-5_5 .content,.col_4-5_5 .content,.col_3-5_5 .content,.col_2-5_5 .content{padding-right:0;}
.clear, .clearboth {clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0;}
.last {padding-right:0px !important; padding-left: 0px !important;}
/*
* CSS Styles that are needed by jScrollPane for it to operate correctly.
*
* Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane
* may not operate correctly without them.
*/
/* Styles specific to this particular page */
.scroll-pane
{
width: 600px;
float:right;
overflow: auto;
margin-top:14px;
padding:0 8px 0 0;
}
.list_carousel .scroll-pane, .portfolio_carousel .scroll-pane {width:570px; float:none; margin:0px; }
.horizontal-only
{
height: auto;
max-height: 200px;
}
.jspContainer
{
overflow: hidden;
position: relative;
}
.jspPane
{
position: absolute;
}
.jspVerticalBar
{
position: absolute;
top: 0;
right: 0;
width: 7px;
height: 100%;
background: red;
}
.jspHorizontalBar
{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 16px;
background: red;
}
.jspVerticalBar *,
.jspHorizontalBar *
{
margin: 0;
padding: 0;
}
.jspCap
{
display: none;
}
.jspHorizontalBar .jspCap
{
float: left;
}
.jspTrack
{
background: #ccc;
position: relative;
}
.jspDrag
{
position: relative;
top: 0;
left: 0;
cursor: pointer;
}
.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag
{
float: left;
height: 100%;
}
.jspArrow
{
background: #50506d;
text-indent: -20000px;
display: block;
cursor: pointer;
}
.jspArrow.jspDisabled
{
cursor: default;
background: #80808d;
}
.jspVerticalBar .jspArrow
{
height: 16px;
}
.jspHorizontalBar .jspArrow
{
width: 16px;
float: left;
height: 100%;
}
.jspVerticalBar .jspArrow:focus
{
outline: none;
}
.jspCorner
{
background: #eeeef4;
float: left;
height: 100%;
}
/* Yuk! CSS Hack for IE6 3 pixel bug :( */
* html .jspCorner
{
margin: 0 -3px 0 0;
}

View File

@ -0,0 +1,146 @@
</div>
<!-- Background Slides -->
<div id="featured">
<?php if(is_page_template('video.php')): ?>
<div>
<?php $content = preg_replace('/width=("|\')(.*?)("|\')/i', 'width="980"', $post->post_content); ?>
<?php $content = preg_replace('/height=("|\')(.*?)("|\')/i', 'height="' . of_get_option('site_height', "500") . '"', $content); ?>
<?php echo $content; ?>
</div>
<?php elseif(is_page_template('portfolio-full.php')): ?>
<?php
$portfolio_type = get_post_meta($post->ID, 'pyre_portfolio_type', true);
$args = array(
'showposts' => '-1',
'post_type' => 'portfolio',
'tax_query' => array(
array(
'taxonomy' => 'type',
'field' => 'id',
'terms' => $portfolio_type
)
)
);
$portfolio = new WP_Query($args);
while($portfolio->have_posts()): $portfolio->the_post();
?>
<?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full'); ?>
<?php if(get_post_meta($post->ID, 'pyre_video_link', true)): ?>
<a href="<?php echo get_post_meta($post->ID, 'pyre_video_link', true); ?>" class="videolightbox">
<img src='<?php echo get_template_directory_uri(); ?>/timthumb.php?src=<?php echo $image[0]; ?>&w=980&h=<?php echo of_get_option('site_height', "500"); ?>' alt='<?php the_title(); ?>' />
</a>
<?php else: ?>
<a href="<?php echo $image[0]; ?>" class="fancylightbox">
<img src='<?php echo get_template_directory_uri(); ?>/timthumb.php?src=<?php echo $image[0]; ?>&w=980&h=<?php echo of_get_option('site_height', "500"); ?>' alt='<?php the_title(); ?>' />
</a>
<?php endif; ?>
<?php endwhile; ?>
<?php else: ?>
<?php
if((is_home() || is_single() || is_category() || is_author()) && get_option('page_for_posts')) {
$post->ID = get_option('page_for_posts');
}
$bg_images = get_post_meta($post->ID, 'pyre_background_images', true);
if($bg_images):
$bg_images_array = explode(',', $bg_images);
if($bg_images_array) {
foreach($bg_images_array as $bg_image) { ?>
<img src='<?php echo get_template_directory_uri(); ?>/timthumb.php?src=<?php echo $bg_image; ?>&w=980&h=<?php echo of_get_option('site_height', "500"); ?>' alt='<?php echo $post->post_title; ?>' />
<?php }
} else { ?>
<img src='<?php echo get_template_directory_uri(); ?>/timthumb.php?src=<?php echo of_get_option('blog_bg', get_template_directory_uri() . "/images/backgrounds/blog-background.jpg"); ?>&w=980&h=<?php echo of_get_option('site_height', "500"); ?>' alt='<?php echo $post->post_title; ?>' />
<?php } ?>
<?php else: ?>
<img src='<?php echo get_template_directory_uri(); ?>/timthumb.php?src=<?php echo of_get_option('blog_bg', get_template_directory_uri() . "/images/backgrounds/blog-background.jpg"); ?>&w=980&h=<?php echo of_get_option('site_height', "500"); ?>' alt='<?php echo $post->post_title; ?>' />
<?php endif; ?>
<?php endif; ?>
</div><!-- close #featured -->
<script type="text/javascript">
jQuery(window).load(function() {
jQuery('#featured').orbit({
animation: '<?php echo of_get_option('animation', 'fade'); ?>', // fade, horizontal-slide, vertical-slide, horizontal-push
animationSpeed: <?php echo of_get_option('speed', '1200'); ?>, // how fast animtions are
timer: <?php echo of_get_option('timer', 'true'); ?>, // true or false to have the timer
advanceSpeed: <?php echo of_get_option('transition', '4000'); ?>, // if timer is enabled, time between transitions
pauseOnHover: false, // if you hover pauses the slider
startClockOnMouseOut: false, // if clock should start on MouseOut
startClockOnMouseOutAfter: 1000, // how long after MouseOut should the timer start again
directionalNav: <?php echo of_get_option('arrows', 'false'); ?>, // manual advancing directional navs
captions: true, // do you want captions?
captionAnimation: 'fade', // fade, slideOpen, none
captionAnimationSpeed: 800, // if so how quickly should they animate in
bullets: <?php echo of_get_option('bullets', 'false'); ?>, // true or false to activate the bullet navigation
bulletThumbs: false, // thumbnails for the bullets
bulletThumbLocation: '', // location from this file where thumbs will be
afterSlideChange: function(){} // empty function
});
});
</script>
<!-- End Background Slides -->
</div><!-- close #container -->
<div id="footer">
<div id="social-icons">
<?php if(of_get_option('facebook_link')): ?>
<a href="<?php echo of_get_option('facebook_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/facebook_16.png" alt="Facebook" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('twitter_id')): ?>
<a href="<?php echo of_get_option('twitter_id'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/twitter_16.png" alt="Twitter" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('flickr_link')): ?>
<a href="<?php echo of_get_option('flickr_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/flickr_16.png" alt="Flickr" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('vimeo_link')): ?>
<a href="<?php echo of_get_option('vimeo_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/vimeo_16.png" alt="Vimeo" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('google_link')): ?>
<a href="<?php echo of_get_option('google_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/google_16.png" alt="Google" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('stumbleupon_link')): ?>
<a href="<?php echo of_get_option('stumbleupon_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/stumbleupon_16.png" alt="StumbleUpon" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('youtube_link')): ?>
<a href="<?php echo of_get_option('youtube_link'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/youtube_16.png" alt="YouTube" class="transparent"></a>
<?php endif; ?>
<?php if(of_get_option('email_address')): ?>
<a href="mailto:<?php echo of_get_option('email_address'); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/social-icons/email_16.png" alt="E-Mail" class="transparent"></a>
<?php endif; ?>
</div>
<div id="copyright">
<?php echo of_get_option('footer_text', "Copyright &copy; 2011 &ndash; MQ &ndash; <a href='http://themeforest.net/user/ProgressionStudios?ref=ProgressionStudios' target='_blank'>info@mqarquitects.com</a>"); ?>
</div><!--close #copyright -->
</div><!-- close #footer -->
</div><!-- close #page-wrap -->
</div><!-- close #box-container -->
<script type='text/javascript'>
jQuery(document).ready(function($){
$("ul.sf-menu").superfish({
animation: {height:'show'}, // slide-down effect without fade-in
delay: 1200 // 1.2 second delay on mouseout
});
$('.sf-menu li').addClass('sliding-element');
});
</script>
<!-- the jScrollPane script -->
<script type="text/javascript" id="sourcecode">
jQuery(function()
{
jQuery('.scroll-pane').jScrollPane();
});
</script>
<?php wp_footer(); ?>
<?php if(of_get_option('tracking_code')): ?>
<?php echo '<script type="text/javascript">'; ?>
<?php echo of_get_option('tracking_code'); ?>
<?php echo '</script>'; ?>
<?php endif; ?>
</body>
</html>

View File

@ -0,0 +1,4 @@
<?php
// Metaboxes
include_once('metaboxes.php');
?>

View File

@ -0,0 +1,127 @@
<?php
class PyreThemeFrameworkMetaboxes {
public function __construct()
{
add_action('add_meta_boxes', array($this, 'add_meta_boxes'));
add_action('save_post', array($this, 'save_meta_boxes'));
}
public function add_meta_boxes()
{
$this->add_meta_box('post_options', 'Post Options', 'post');
$this->add_meta_box('page_options', 'Page Options', 'page');
$this->add_meta_box('portfolio_options', 'Portfolio Options', 'portfolio');
//$this->add_meta_box('team_options', 'Team Options', 'team');
}
public function add_meta_box($id, $label, $post_type)
{
add_meta_box(
'pyre_' . $id,
__($label, 'Avenue'),
array($this, $id),
$post_type
);
}
public function save_meta_boxes($post_id)
{
if(defined( 'DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
foreach($_POST as $key => $value) {
update_post_meta($post_id, $key, $value);
}
}
public function post_options()
{
include 'views/metaboxes/style.php';
include 'views/metaboxes/post_options.php';
}
public function page_options()
{
include 'views/metaboxes/style.php';
include 'views/metaboxes/page_options.php';
}
public function portfolio_options()
{
include 'views/metaboxes/style.php';
include 'views/metaboxes/portfolio_options.php';
}
public function text($id, $label, $desc, $html = '')
{
global $post;
$html .= '<div class="pyre_metabox_field">';
$html .= '<label for="pyre_' . $id . '">';
$html .= $label;
$html .= '</label>';
$html .= '<div class="field">';
$html .= '<input type="text" id="pyre_' . $id . '" name="pyre_' . $id . '" value="' . get_post_meta($post->ID, 'pyre_' . $id, true) . '" />';
if($desc) {
$html .= '<p>' . $desc . '</p>';
}
$html .= '</div>';
$html .= '</div>';
echo $html;
}
public function textarea($id, $label, $desc, $html = '')
{
global $post;
$html .= '<div class="pyre_metabox_field">';
$html .= '<label for="pyre_' . $id . '">';
$html .= $label;
$html .= '</label>';
$html .= '<div class="field">';
$html .= '<textarea id="pyre_' . $id . '" name="pyre_' . $id . '" cols="110" rows="5">' . get_post_meta($post->ID, 'pyre_' . $id, true) . '</textarea>';
if($desc) {
$html .= '<p>' . $desc . '</p>';
}
$html .= '</div>';
$html .= '</div>';
echo $html;
}
public function select($id, $label, $options, $desc, $html = '')
{
global $post;
$html .= '<div class="pyre_metabox_field">';
$html .= '<label for="pyre_' . $id . '">';
$html .= $label;
$html .= '</label>';
$html .= '<div class="field">';
$html .= '<select id="pyre_' . $id . '" name="pyre_' . $id . '">';
foreach($options as $key => $option) {
if(get_post_meta($post->ID, 'pyre_' . $id, true) == $key) {
$selected = 'selected="selected"';
} else {
$selected = '';
}
$html .= '<option ' . $selected . 'value="' . $key . '">' . $option . '</option>';
}
$html .= '</select>';
if($desc) {
$html .= '<p>' . $desc . '</p>';
}
$html .= '</div>';
$html .= '</div>';
echo $html;
}
}
$metaboxes = new PyreThemeFrameworkMetaboxes;

View File

@ -0,0 +1,49 @@
<div class='pyre_metabox'>
<?php
$this->select( 'font_color',
'Font Color',
array('light' => 'Light', 'dark' => 'Dark'),
''
);
?>
<?php
$this->textarea( 'background_images',
'Background Image(s)',
'Add link(s) to background image <strong>separated by a comma</strong> but no spaces.'
);
?>
<?php
$this->text( 'heading_sub',
'Sub-headline',
''
);
?>
<?php
$this->text( 'heading_1',
'Sidebar Headline',
''
);
?>
<?php
$this->text( 'heading_2',
'Sidebar Sub-headline',
''
);
?>
<?php
$types = get_terms( 'type', 'hide_empty=0' );
if($types) {
foreach($types as $type) {
$types_array[$type->term_id] = $type->name;
}
}
if($types) {
$this->select( 'portfolio_type',
'Portfolio Type',
$types_array,
'<strong>Note</strong>: Portfolio Type only applies on Portfolio Page Templates. See documentation for details.'
);
}
?>
</div>

View File

@ -0,0 +1,6 @@
<?php
$this->text( 'video_link',
'Video Player Link',
'Use the video embed link without any code. <strong>Example</strong>: http://player.vimeo.com/video/22884674'
);
?>

View File

@ -0,0 +1,2 @@
<div class='pyre_metabox'>
</div>

View File

@ -0,0 +1,10 @@
<style type='text/css'>
.pyre_metabox { padding: 10px 10px 0px 10px; }
.pyre_metabox_field { margin-bottom: 15px; width: 100%; overflow: hidden; }
.pyre_metabox_field label { font-weight: bold; float: left; width: 15%; }
.pyre_metabox_field .field { float: left; width: 70%; margin-left: 5%; }
.pyre_metabox_field input[type=text] { width: 100%; }
.pyre_metabox_field textarea {
width: 100%;
}
</style>

View File

@ -0,0 +1,170 @@
<?php
register_nav_menu('navigation', 'Navigation');
add_theme_support('post-thumbnails', array('post', 'page', 'team', 'portfolio'));
add_image_size('post-thumbnail-image', 125, 120, true);
add_image_size('team-image', 120, 120, true);
add_image_size('portfolio-thumbnail', 135, 117, true);
add_image_size('portfolio-scrolling', 135, 117, true);
add_image_size('portfolio-gallery', 450, 287, true);
// Shortcodes
include_once('shortcodes.php');
// Register custom post types
add_action('init', 'pyre_init');
function pyre_init() {
register_post_type(
'portfolio',
array(
'labels' => array(
'name' => 'Portfolio',
'singular_name' => 'Portfolio'
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'portfolio'),
'supports' => array('title', 'editor', 'thumbnail'),
'can_export' => true,
)
);
register_taxonomy('type', 'portfolio', array('hierarchical' => true, 'label' => 'Type', 'query_var' => true, 'rewrite' => true));
}
function get_progression($args) {
$output = get_option('admin_email');
return apply_filters('get_progression', $output);
}
// Include boostrap file for the pyre theme framework
include_once('framework/bootstrap.php');
if ( ! function_exists( 'twentyeleven_comment' ) ) :
/**
* Template for comments and pingbacks.
*
* To override this walker in a child theme without modifying the comments template
* simply create your own twentyeleven_comment(), and that function will be used instead.
*
* Used as a callback by wp_list_comments() for displaying the comments.
*
* @since Twenty Eleven 1.0
*/
function twentyeleven_comment( $comment, $args, $depth ) {
$GLOBALS['comment'] = $comment;
switch ( $comment->comment_type ) :
case 'pingback' :
case 'trackback' :
?>
<li class="post pingback">
<p><?php _e( 'Pingback:', 'twentyeleven' ); ?> <?php comment_author_link(); ?><?php edit_comment_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?></p>
<?php
break;
default :
?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
<article id="comment-<?php comment_ID(); ?>" class="comment">
<footer class="comment-meta">
<div class="comment-author vcard">
<?php
$avatar_size = 68;
if ( '0' != $comment->comment_parent )
$avatar_size = 39;
echo get_avatar( $comment, $avatar_size );
/* translators: 1: comment author, 2: date and time */
printf( __( '%1$s on %2$s <span class="says">said:</span>', 'twentyeleven' ),
sprintf( '<span class="fn">%s</span>', get_comment_author_link() ),
sprintf( '<a href="%1$s"><time pubdate datetime="%2$s">%3$s</time></a>',
esc_url( get_comment_link( $comment->comment_ID ) ),
get_comment_time( 'c' ),
/* translators: 1: date, 2: time */
sprintf( __( '%1$s at %2$s', 'twentyeleven' ), get_comment_date(), get_comment_time() )
)
);
?>
<?php edit_comment_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .comment-author .vcard -->
<?php if ( $comment->comment_approved == '0' ) : ?>
<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'twentyeleven' ); ?></em>
<br />
<?php endif; ?>
</footer>
<div class="comment-content"><?php comment_text(); ?></div>
<div class="reply">
<?php comment_reply_link( array_merge( $args, array( 'reply_text' => __( 'Reply <span>&darr;</span>', 'twentyeleven' ), 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
</div><!-- .reply -->
</article><!-- #comment-## -->
<?php
break;
endswitch;
}
endif; // ends check for twentyeleven_comment()
if ( !function_exists( 'optionsframework_init' ) ) {
/*-----------------------------------------------------------------------------------*/
/* Options Framework Theme
/*-----------------------------------------------------------------------------------*/
/* Set the file path based on whether the Options Framework Theme is a parent theme or child theme */
if ( STYLESHEETPATH == TEMPLATEPATH ) {
define('OPTIONS_FRAMEWORK_URL', TEMPLATEPATH . '/admin/');
define('OPTIONS_FRAMEWORK_DIRECTORY', get_stylesheet_directory_uri() . '/admin/');
} else {
define('OPTIONS_FRAMEWORK_URL', STYLESHEETPATH . '/admin/');
define('OPTIONS_FRAMEWORK_DIRECTORY', get_stylesheet_directory_uri() . '/admin/');
}
require_once (OPTIONS_FRAMEWORK_URL . 'options-framework.php');
}
/*
* This is an example of how to add custom scripts to the options panel.
* This one shows/hides the an option when a checkbox is clicked.
*/
add_action('optionsframework_custom_scripts', 'optionsframework_custom_scripts');
function optionsframework_custom_scripts() { ?>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#example_showhidden').click(function() {
jQuery('#section-example_text_hidden').fadeToggle(400);
});
if (jQuery('#example_showhidden:checked').val() !== undefined) {
jQuery('#section-example_text_hidden').show();
}
});
</script>
<?php
}
/*
* Turns off the default options panel from Twenty Eleven
*/
add_action('after_setup_theme','remove_twentyeleven_options', 100);
function remove_twentyeleven_options() {
remove_action( 'admin_menu', 'twentyeleven_theme_options_add_page' );
}

View File

@ -0,0 +1,154 @@
<!DOCTYPE HTML>
<html <?php language_attributes(); ?>>
<meta charset="UTF-8">
<?php if(is_front_page() && of_get_option('home_title')): ?>
<title><?php echo of_get_option('home_title'); ?></title>
<?php else: ?>
<title><?php bloginfo('name'); ?> <?php wp_title(' - ', true, 'left'); ?></title>
<?php endif; ?>
<?php if(is_front_page() && of_get_option('home_meta')): ?>
<meta name="description" content="<?php echo of_get_option('home_meta'); ?>" />
<?php endif; ?>
<link href='http://fonts.googleapis.com/css?family=Marvel:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="all" />
<!--[if IE]>
<style type="text/css">
.timer { display: none !important; }
div.caption { background:transparent; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000);zoom: 1; }
</style>
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/css/ie7.css" />
<![endif]-->
<?php if(of_get_option('favicon')): ?>
<link href="<?php echo of_get_option('favicon'); ?>" rel="shortcut icon" />
<?php endif; // check for comment navigation ?>
<?php echo '<style type="text/css">'; ?>
/* MAIN CONTAINER HEIGHT SIZE */
#container, #left-container, #featured, #featured div { height:<?php echo of_get_option('site_height', "500"); ?>px; }
#featured { margin-top:-<?php echo of_get_option('site_height', "500"); ?>px;}
#box-container {height:<?php echo of_get_option('site_height', "500"); ?>px; margin-top:-<?php echo of_get_option('site_height', "500") / 2; ?>px; } /* Margin-top is half of the total height */
/* MAIN HIGHLIGHTED COLOUR FOR HEADINGS */
h1, h2, h3, h4, h5, h6, ul.sub-navigation li a:hover, ul.sub-navigation li.current-menu-item a, ul.sub-navigation li.current_page_item a, a.prev span, a.next span, a.prev:hover, a.next:hover, .light-fonts .content-heading h5, .light-fonts .content-heading h6 {color:<?php echo of_get_option('headings_color', "#f20a0a"); ?>;}
/* MAIN BACKGROUND COLOUR FOR MENU AND LOGO */
.logo-menu, .navigation-menu, .sf-vertical li, .jspDrag {background-color:<?php echo of_get_option('menu_bg', "#f20a0a"); ?>;}
.sf-menu .current-menu-item a, .sf-menu a:hover, .sf-menu .current-menu-item .sliding-element a:hover {background:<?php echo of_get_option('menu_bg', "#f20a0a"); ?> url(<?php echo get_template_directory_uri(); ?>/images/nav-arrow.png) 0px 5px no-repeat;}
<?php echo '</style>'; ?>
<?php if(of_get_option('custom_css')): ?>
<?php echo '<style type="text/css">'; ?>
<?php echo of_get_option('custom_css'); ?>
<?php echo '</style>'; ?>
<?php endif; ?>
<?php if(of_get_option('custom_js')): ?>
<?php echo '<script type="text/javascript">'; ?>
<?php echo of_get_option('custom_js'); ?>
<?php echo '</script>'; ?>
<?php endif; ?>
<?php wp_enqueue_script('jquery'); ?>
<?php wp_enqueue_script('jquery.fancybox', get_template_directory_uri() . '/js/jquery.fancybox.js'); ?>
<?php wp_enqueue_script('jquery.orbit', get_template_directory_uri() . '/js/jquery.orbit-1.2.3.min.js'); ?>
<?php wp_enqueue_script('hoverIntent', get_template_directory_uri() . '/js/hoverIntent.js'); ?>
<?php wp_enqueue_script('superfish', get_template_directory_uri() . '/js/superfish.js'); ?>
<?php wp_enqueue_script('jquery.mousewheel', get_template_directory_uri() . '/js/jquery.mousewheel.js'); ?>
<?php wp_enqueue_script('jquery.jscrollpane', get_template_directory_uri() . '/js/jquery.jscrollpane.min.js'); ?>
<?php wp_enqueue_script('jquery.carouFredSel', get_template_directory_uri() . '/js/jquery.carouFredSel-4.1.0-packed.js'); ?>
<?php
if(is_page_template('contact.php')) {
wp_enqueue_script('jquery.validate', get_template_directory_uri() . '/js/jquery.validate.min.js');
}
?>
<?php
if(of_get_option('static_menu', 'no') == 'no') {
wp_enqueue_script('broadside', get_template_directory_uri() . '/js/custom.js');
} else {
wp_enqueue_script('broadside', get_template_directory_uri() . '/js/custom-no-hover.js');
}
?>
<?php if(is_singular()) wp_enqueue_script('comment-reply'); ?>
<?php wp_head(); ?>
</head>
<body>
<?php
if(get_post_meta($post->ID, 'pyre_font_color', true) == 'light') {
$class = 'light-fonts';
}
$page_for_posts = get_option('page_for_posts');
if((is_home() || is_single()) && get_option('page_for_posts') && get_post_meta($page_for_posts, 'pyre_font_color', true) == 'light') {
$class = 'light-fonts';
}
?>
<!-- FULL BACKGROUND IMAGE -->
<img src="<?php echo of_get_option('default_bg', get_template_directory_uri() . "/images/background.jpg"); ?>" id="bg" alt="background">
<div id="box-container">
<div id="page-wrap">
<div id="container">
<div id="left-container">
<div class="<?php echo of_get_option('logo_position', "top"); ?>-box">
<div class="logo-menu">
<a href="<?php bloginfo('wpurl'); ?>"><img src="<?php echo of_get_option('logo', get_template_directory_uri() . "/images/logo.png"); ?>" alt="logo"></a>
</div><!-- close .logo-menu -->
</div><!-- close .top-box or .bottom-box -->
<?php if(is_home() && get_option('page_for_posts')): ?>
<?php $pageID = get_option('page_for_posts'); ?>
<?php if(get_post_meta($pageID, 'pyre_heading_1', true) || get_post_meta($pageID, 'pyre_heading_2', true)): ?>
<div class="side-barheading center-align">
<?php if(get_post_meta($pageID, 'pyre_heading_1', true)): ?>
<h5><?php echo get_post_meta($pageID, 'pyre_heading_1', true); ?></h5>
<?php endif; ?>
<?php if(get_post_meta($pageID, 'pyre_heading_2', true)): ?>
<h2><?php echo get_post_meta($pageID, 'pyre_heading_2', true); ?></h2>
<?php endif; ?>
</div>
<?php endif; ?>
<?php elseif(is_home()): ?>
<?php else: ?>
<?php $pageID = $post->ID; ?>
<?php if(get_post_meta($pageID, 'pyre_heading_1', true) || get_post_meta($pageID, 'pyre_heading_2', true)): ?>
<div class="side-barheading center-align">
<?php if(get_post_meta($pageID, 'pyre_heading_1', true)): ?>
<h5><?php echo get_post_meta($pageID, 'pyre_heading_1', true); ?></h5>
<?php endif; ?>
<?php if(get_post_meta($pageID, 'pyre_heading_2', true)): ?>
<h2><?php echo get_post_meta($pageID, 'pyre_heading_2', true); ?></h2>
<?php endif; ?>
</div>
<?php endif; ?>
<?php endif; ?>
<div class="<?php echo of_get_option('nav_position', "bottom"); ?>-box">
<div class="navigation-menu">
<div class="hover-box">
<?php if(of_get_option('nav_position', "bottom") == 'bottom'): ?>
<?php wp_nav_menu(array('theme_location' => 'navigation', 'depth' => 4, 'fallback_cb' => false, 'menu_class' => 'sf-menu sf-vertical')); ?>
<h1>Menu</h1>
<?php else: ?>
<h1>Menu</h1>
<?php wp_nav_menu(array('theme_location' => 'navigation', 'depth' => 4, 'fallback_cb' => false, 'menu_class' => 'sf-menu sf-vertical')); ?>
<?php endif; ?>
<div class="navigation-space">&nbsp;</div>
</div><!-- close .hover-box -->
</div><!-- close .navigation-menu -->
</div><!-- close .top-box or .bottom-box -->
</div><!-- close #left-container -->
<div class="<?php echo $class; ?>">

View File

@ -0,0 +1,19 @@
<?php
// Template Name: Homepage
get_header(); ?>
<div class="content-container">
<div class="featured-heading">
<?php /*<h3><?php echo $post->post_title; ?></h3>*/ ?>
<h3><?php echo of_get_option('home_title'); ?></h3>
<?php if(get_post_meta($post->ID, 'pyre_heading_sub', true)): ?>
<h1><?php echo get_post_meta($post->ID, 'pyre_heading_sub', true); ?></h1>
<?php endif; ?>
</div><!-- close .featured-heading -->
<?php while(have_posts()): the_post(); ?>
<div class="featured-text">
<?php the_content(); ?>
</div><!-- close .featured-text -->
<?php endwhile; ?>
</div><!-- close #content-container -->
<?php get_footer(); ?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Some files were not shown because too many files have changed in this diff Show More