1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-26 03:30:48 +03:00

Удаление mootools шаблонов и библиотек

This commit is contained in:
Mzhelskiy Maxim 2012-03-19 10:20:08 +04:00
parent 714834ff52
commit c599d955e3
503 changed files with 0 additions and 24334 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,109 +0,0 @@
/**
* Autocompleter.Request
*
* http://digitarald.de/project/autocompleter/
*
* @version 1.1.2
*
* @license MIT-style license
* @author Harald Kirschner <mail [at] digitarald.de>
* @copyright Author
*/
Autocompleter.Request = new Class({
Extends: Autocompleter,
options: {/*
indicator: null,
indicatorClass: null,
onRequest: $empty,
onComplete: $empty,*/
postData: {},
ajaxOptions: {},
postVar: 'value'
},
query: function(){
var data = $unlink(this.options.postData) || {};
data[this.options.postVar] = this.queryValue;
var indicator = $(this.options.indicator);
if (indicator) indicator.setStyle('display', '');
var cls = this.options.indicatorClass;
if (cls) this.element.addClass(cls);
this.fireEvent('onRequest', [this.element, this.request, data, this.queryValue]);
this.request.send({'data': data});
},
/**
* queryResponse - abstract
*
* Inherated classes have to extend this function and use this.parent()
*/
queryResponse: function() {
var indicator = $(this.options.indicator);
if (indicator) indicator.setStyle('display', 'none');
var cls = this.options.indicatorClass;
if (cls) this.element.removeClass(cls);
return this.fireEvent('onComplete', [this.element, this.request]);
}
});
Autocompleter.Request.JSON = new Class({
Extends: Autocompleter.Request,
initialize: function(el, url, options) {
this.parent(el, options);
this.request = new Request.JSON($merge({
'url': url,
'link': 'cancel'
}, this.options.ajaxOptions)).addEvent('onComplete', this.queryResponse.bind(this));
},
queryResponse: function(response) {
this.parent();
this.update(response);
}
});
Autocompleter.Request.HTML = new Class({
Extends: Autocompleter.Request,
initialize: function(el, url, options) {
this.parent(el, options);
this.request = new Request.HTML($merge({
'url': url,
'link': 'cancel',
'update': this.choices
}, this.options.ajaxOptions)).addEvent('onComplete', this.queryResponse.bind(this));
},
queryResponse: function(tree, elements) {
this.parent();
if (!elements || !elements.length) {
this.hideChoices();
} else {
this.choices.getChildren(this.options.choicesMatch).each(this.options.injectChoice || function(choice) {
var value = choice.get('text');
choice.inputValue = value;
this.addChoiceEvents(choice.set('html', this.markQueryValue(value)));
}, this);
this.showChoices();
}
}
});
/* compatibility */
Autocompleter.Ajax = {
Base: Autocompleter.Request,
Json: Autocompleter.Request.JSON,
Xhtml: Autocompleter.Request.HTML
};

View file

@ -1,442 +0,0 @@
/**
* Autocompleter
*
* http://digitarald.de/project/autocompleter/
*
* @version 1.1.2
*
* @license MIT-style license
* @author Harald Kirschner <mail [at] digitarald.de>
* @copyright Author
*/
var Autocompleter = new Class({
Implements: [Options, Events],
options: {/*
onOver: $empty,
onSelect: $empty,
onSelection: $empty,
onShow: $empty,
onHide: $empty,
onBlur: $empty,
onFocus: $empty,*/
minLength: 1,
markQuery: true,
width: 'inherit',
maxChoices: 10,
injectChoice: null,
customChoices: null,
emptyChoices: null,
visibleChoices: true,
className: 'autocompleter-choices',
zIndex: 42,
delay: 400,
observerOptions: {},
fxOptions: {},
autoSubmit: false,
overflow: false,
overflowMargin: 25,
selectFirst: false,
filter: null,
filterCase: false,
filterSubset: false,
forceSelect: false,
selectMode: true,
choicesMatch: null,
multiple: false,
separator: ', ',
separatorSplit: /\s*[,;]\s*/,
autoTrim: false,
allowDupes: false,
cache: true,
relative: false
},
initialize: function(element, options) {
this.element = $(element);
this.setOptions(options);
this.build();
this.observer = new Observer(this.element, this.prefetch.bind(this), $merge({
'delay': this.options.delay
}, this.options.observerOptions));
this.queryValue = null;
if (this.options.filter) this.filter = this.options.filter.bind(this);
var mode = this.options.selectMode;
this.typeAhead = (mode == 'type-ahead');
this.selectMode = (mode === true) ? 'selection' : mode;
this.cached = [];
},
/**
* build - Initialize DOM
*
* Builds the html structure for choices and appends the events to the element.
* Override this function to modify the html generation.
*/
build: function() {
if ($(this.options.customChoices)) {
this.choices = this.options.customChoices;
} else {
this.choices = new Element('ul', {
'class': this.options.className,
'styles': {
'zIndex': this.options.zIndex
}
}).inject(document.body);
this.relative = false;
if (this.options.relative) {
this.choices.inject(this.element, 'after');
this.relative = this.element.getOffsetParent();
}
this.fix = new OverlayFix(this.choices);
}
if (!this.options.separator.test(this.options.separatorSplit)) {
this.options.separatorSplit = this.options.separator;
}
this.fx = (!this.options.fxOptions) ? null : new Fx.Tween(this.choices, $merge({
'property': 'opacity',
'link': 'cancel',
'duration': 200
}, this.options.fxOptions)).addEvent('onStart', Chain.prototype.clearChain).set(0);
this.element.setProperty('autocomplete', 'off')
.addEvent((Browser.Engine.trident || Browser.Engine.webkit) ? 'keydown' : 'keypress', this.onCommand.bind(this))
.addEvent('click', this.onCommand.bind(this, [false]))
.addEvent('focus', this.toggleFocus.create({bind: this, arguments: true, delay: 100}))
.addEvent('blur', this.toggleFocus.create({bind: this, arguments: false, delay: 100}));
},
destroy: function() {
if (this.fix) this.fix.destroy();
this.choices = this.selected = this.choices.destroy();
},
toggleFocus: function(state) {
this.focussed = state;
if (!state) this.hideChoices(true);
this.fireEvent((state) ? 'onFocus' : 'onBlur', [this.element]);
},
onCommand: function(e) {
if (!e && this.focussed) return this.prefetch();
if (e && e.key && !e.shift) {
switch (e.key) {
case 'enter':
if (this.element.value != this.opted) return true;
if (this.selected && this.visible) {
this.choiceSelect(this.selected);
return !!(this.options.autoSubmit);
}
break;
case 'up': case 'down':
if (!this.prefetch() && this.queryValue !== null) {
var up = (e.key == 'up');
this.choiceOver((this.selected || this.choices)[
(this.selected) ? ((up) ? 'getPrevious' : 'getNext') : ((up) ? 'getLast' : 'getFirst')
](this.options.choicesMatch), true);
}
return false;
case 'esc': case 'tab':
this.hideChoices(true);
break;
}
}
return true;
},
setSelection: function(finish) {
var input = this.selected.inputValue, value = input;
var start = this.queryValue.length, end = input.length;
if (input.substr(0, start).toLowerCase() != this.queryValue.toLowerCase()) start = 0;
if (this.options.multiple) {
var split = this.options.separatorSplit;
value = this.element.value;
start += this.queryIndex;
end += this.queryIndex;
var old = value.substr(this.queryIndex).split(split, 1)[0];
value = value.substr(0, this.queryIndex) + input + value.substr(this.queryIndex + old.length);
if (finish) {
var tokens = value.split(this.options.separatorSplit).filter(function(entry) {
return this.test(entry);
}, /[^\s,]+/);
if (!this.options.allowDupes) tokens = [].combine(tokens);
var sep = this.options.separator;
value = tokens.join(sep) + sep;
end = value.length;
}
}
this.observer.setValue(value);
this.opted = value;
if (finish || this.selectMode == 'pick') start = end;
this.element.selectRange(start, end);
this.fireEvent('onSelection', [this.element, this.selected, value, input]);
},
showChoices: function() {
var match = this.options.choicesMatch, first = this.choices.getFirst(match);
this.selected = this.selectedValue = null;
if (this.fix) {
var pos = this.element.getCoordinates(this.relative), width = this.options.width || 'auto';
this.choices.setStyles({
'left': pos.left,
'top': pos.bottom,
'width': (width === true || width == 'inherit') ? pos.width : width
});
}
if (!first) return;
if (!this.visible) {
this.visible = true;
this.choices.setStyle('display', '');
if (this.fx) this.fx.start(1);
this.fireEvent('onShow', [this.element, this.choices]);
}
if (this.options.selectFirst || this.typeAhead || first.inputValue == this.queryValue) this.choiceOver(first, this.typeAhead);
var items = this.choices.getChildren(match), max = this.options.maxChoices;
var styles = {'overflowY': 'hidden', 'height': ''};
this.overflown = false;
if (items.length > max) {
var item = items[max - 1];
styles.overflowY = 'scroll';
styles.height = item.getCoordinates(this.choices).bottom;
this.overflown = true;
};
this.choices.setStyles(styles);
this.fix.show();
if (this.options.visibleChoices) {
var scroll = document.getScroll(),
size = document.getSize(),
coords = this.choices.getCoordinates();
if (coords.right > scroll.x + size.x) scroll.x = coords.right - size.x;
if (coords.bottom > scroll.y + size.y) scroll.y = coords.bottom - size.y;
window.scrollTo(Math.min(scroll.x, coords.left), Math.min(scroll.y, coords.top));
}
},
hideChoices: function(clear) {
if (clear) {
var value = this.element.value;
if (this.options.forceSelect) value = this.opted;
if (this.options.autoTrim) {
value = value.split(this.options.separatorSplit).filter($arguments(0)).join(this.options.separator);
}
this.observer.setValue(value);
}
if (!this.visible) return;
this.visible = false;
if (this.selected) this.selected.removeClass('autocompleter-selected');
this.observer.clear();
var hide = function(){
this.choices.setStyle('display', 'none');
this.fix.hide();
}.bind(this);
if (this.fx) this.fx.start(0).chain(hide);
else hide();
this.fireEvent('onHide', [this.element, this.choices]);
},
prefetch: function() {
var value = this.element.value, query = value;
if (this.options.multiple) {
var split = this.options.separatorSplit;
var values = value.split(split);
var index = this.element.getSelectedRange().start;
var toIndex = value.substr(0, index).split(split);
var last = toIndex.length - 1;
index -= toIndex[last].length;
query = values[last];
}
if (query.length < this.options.minLength) {
this.hideChoices();
} else {
if (query === this.queryValue || (this.visible && query == this.selectedValue)) {
if (this.visible) return false;
this.showChoices();
} else {
this.queryValue = query;
this.queryIndex = index;
if (!this.fetchCached()) this.query();
}
}
return true;
},
fetchCached: function() {
return false;
if (!this.options.cache
|| !this.cached
|| !this.cached.length
|| this.cached.length >= this.options.maxChoices
|| this.queryValue) return false;
this.update(this.filter(this.cached));
return true;
},
update: function(tokens) {
this.choices.empty();
this.cached = tokens;
var type = tokens && $type(tokens);
if (!type || (type == 'array' && !tokens.length) || (type == 'hash' && !tokens.getLength())) {
(this.options.emptyChoices || this.hideChoices).call(this);
} else {
if (this.options.maxChoices < tokens.length && !this.options.overflow) tokens.length = this.options.maxChoices;
tokens.each(this.options.injectChoice || function(token){
var choice = new Element('li', {'html': this.markQueryValue(token)});
choice.inputValue = token;
this.addChoiceEvents(choice).inject(this.choices);
}, this);
this.showChoices();
}
},
choiceOver: function(choice, selection) {
if (!choice || choice == this.selected) return;
if (this.selected) this.selected.removeClass('autocompleter-selected');
this.selected = choice.addClass('autocompleter-selected');
this.fireEvent('onSelect', [this.element, this.selected, selection]);
if (!this.selectMode) this.opted = this.element.value;
if (!selection) return;
this.selectedValue = this.selected.inputValue;
if (this.overflown) {
var coords = this.selected.getCoordinates(this.choices), margin = this.options.overflowMargin,
top = this.choices.scrollTop, height = this.choices.offsetHeight, bottom = top + height;
if (coords.top - margin < top && top) this.choices.scrollTop = Math.max(coords.top - margin, 0);
else if (coords.bottom + margin > bottom) this.choices.scrollTop = Math.min(coords.bottom - height + margin, bottom);
}
if (this.selectMode) this.setSelection();
},
choiceSelect: function(choice) {
if (choice) this.choiceOver(choice);
this.setSelection(true);
this.queryValue = false;
this.hideChoices();
},
filter: function(tokens) {
return (tokens || this.tokens).filter(function(token) {
return this.test(token);
}, new RegExp(((this.options.filterSubset) ? '' : '^') + this.queryValue.escapeRegExp(), (this.options.filterCase) ? '' : 'i'));
},
/**
* markQueryValue
*
* Marks the queried word in the given string with <span class="autocompleter-queried">*</span>
* Call this i.e. from your custom parseChoices, same for addChoiceEvents
*
* @param {String} Text
* @return {String} Text
*/
markQueryValue: function(str) {
return (!this.options.markQuery || !this.queryValue) ? str
: str.replace(new RegExp('(' + ((this.options.filterSubset) ? '' : '^') + this.queryValue.escapeRegExp() + ')', (this.options.filterCase) ? '' : 'i'), '<span class="autocompleter-queried">$1</span>');
},
/**
* addChoiceEvents
*
* Appends the needed event handlers for a choice-entry to the given element.
*
* @param {Element} Choice entry
* @return {Element} Choice entry
*/
addChoiceEvents: function(el) {
return el.addEvents({
'mouseover': this.choiceOver.bind(this, [el]),
'click': this.choiceSelect.bind(this, [el])
});
}
});
var OverlayFix = new Class({
initialize: function(el) {
if (Browser.Engine.trident) {
this.element = $(el);
this.relative = this.element.getOffsetParent();
this.fix = new Element('iframe', {
'frameborder': '0',
'scrolling': 'no',
'src': 'javascript:false;',
'styles': {
'position': 'absolute',
'border': 'none',
'display': 'none',
'filter': 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'
}
}).inject(this.element, 'after');
}
},
show: function() {
if (this.fix) {
var coords = this.element.getCoordinates(this.relative);
delete coords.right;
delete coords.bottom;
this.fix.setStyles($extend(coords, {
'display': '',
'zIndex': (this.element.getStyle('zIndex') || 1) - 1
}));
}
return this;
},
hide: function() {
if (this.fix) this.fix.setStyle('display', 'none');
return this;
},
destroy: function() {
if (this.fix) this.fix = this.fix.destroy();
}
});
Element.implement({
getSelectedRange: function() {
if (!Browser.Engine.trident) return {start: this.selectionStart, end: this.selectionEnd};
var pos = {start: 0, end: 0};
var range = this.getDocument().selection.createRange();
if (!range || range.parentElement() != this) return pos;
var dup = range.duplicate();
if (this.type == 'text') {
pos.start = 0 - dup.moveStart('character', -100000);
pos.end = pos.start + range.text.length;
} else {
var value = this.value;
var offset = value.length - value.match(/[\n\r]*$/)[0].length;
dup.moveToElementText(this);
dup.setEndPoint('StartToEnd', range);
pos.end = offset - dup.text.length;
dup.setEndPoint('StartToStart', range);
pos.start = offset - dup.text.length;
}
return pos;
},
selectRange: function(start, end) {
if (Browser.Engine.trident) {
var diff = this.value.substr(start, end - start).replace(/\r/g, '').length;
start = this.value.substr(0, start).replace(/\r/g, '').length;
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', start + diff);
range.moveStart('character', start);
range.select();
} else {
this.focus();
this.setSelectionRange(start, end);
}
return this;
}
});
/* compatibility */
Autocompleter.Base = Autocompleter;

View file

@ -1,69 +0,0 @@
/**
* Observer - Observe formelements for changes
*
* - Additional code from clientside.cnet.com
*
* @version 1.1
*
* @license MIT-style license
* @author Harald Kirschner <mail [at] digitarald.de>
* @copyright Author
*/
var Observer = new Class({
Implements: [Options, Events],
options: {
periodical: false,
delay: 1000
},
initialize: function(el, onFired, options){
this.element = $(el) || $$(el);
this.addEvent('onFired', onFired);
this.setOptions(options);
this.bound = this.changed.bind(this);
this.resume();
},
changed: function() {
var value = this.element.get('value');
if ($equals(this.value, value)) return;
this.clear();
this.value = value;
this.timeout = this.onFired.delay(this.options.delay, this);
},
setValue: function(value) {
this.value = value;
this.element.set('value', value);
return this.clear();
},
onFired: function() {
this.fireEvent('onFired', [this.value, this.element]);
},
clear: function() {
$clear(this.timeout || null);
return this;
},
pause: function(){
if (this.timer) $clear(this.timer);
else this.element.removeEvent('keyup', this.bound);
return this.clear();
},
resume: function(){
this.value = this.element.get('value');
if (this.options.periodical) this.timer = this.changed.periodical(this.options.periodical, this);
else this.element.addEvent('keyup', this.bound);
return this;
}
});
var $equals = function(obj1, obj2) {
return (obj1 == obj2 || JSON.encode(obj1) == JSON.encode(obj2));
};

File diff suppressed because one or more lines are too long

View file

@ -1,232 +0,0 @@
/*
Script: piechart.js
Dependencies:
mootools-beta-1.2b2.js
moocanvas.js
Author:
Greg Houston, <http://greghoustondesign.com/>
Credits:
Based on Stoyan Stefanov's Canvas Pie:< http://www.phpied.com/canvas-pie/>
Color algorithm inspired by Jim Bumgardner:<http://www.krazydad.com/makecolors.php>
License:
MIT License, <http://en.wikipedia.org/wiki/MIT_License>
Example Usage:
<table class="pieChart">
<tr><th>Browser</th> <th>Value</th></tr>
<tr><td>Safari </td> <td>180 </td></tr>
<tr><td>Firefox</td> <td>210 </td></tr>
<tr><td>IE </td> <td>30 </td></tr>
<tr><td>Opera </td> <td>120 </td></tr>
</table>
*/
var PieChart = new Class({
options: {
pieChartRadius: 60, // Half the width of your pie chart
td_label_index: 0, // which TD contains the label
td_index: 1, // which TD contains the data
index: 1
},
initialize: function(elData,el,options){
this.setOptions(options);
// Initialize variables
this.pieChartRadius = this.options.pieChartRadius;
this.pieChartDiameter = this.pieChartRadius * 2;
this.pieVertices = 12; // Does not include the center vertex
this.arcIncrementMultiplier = 1 / this.pieVertices;
this.index = 0;
this.tableIndex = this.options.index;
this.areaIndex = 1;
this.canvas = '';
this.container = '';
this.data_table = '';
this.insertElements(el);
aData=this.makeData(elData);
this.makePieChart(aData);
this.addToolTips();
},
insertElements: function(el){
///// STEP 1 - Insert HTML Elements
// Insert a div that will contain both the pie chart and it's legend
this.container = new Element('div', {
id: 'pieChartContainer' + this.tableIndex
}).injectBefore($(el)).addClass('pieChartContainer');
// Pull the table out of the page and put it in the pie chart container
this.data_table = el.clone().injectBottom(this.container);
el.dispose();
// Insert a div that will contain both the pie chart canvas and it's image map overlay
new Element('div', {
id: 'pieChartWrapper' + this.tableIndex
}).injectTop(this.container).addClass('pieChartWrapper');
// Insert the canvas to draw the pie on
this.canvas = new Element('canvas', {
id: 'canvas' + this.tableIndex,
width: this.pieChartDiameter,
height: this.pieChartDiameter
}).injectInside(this.container.getElement('.pieChartWrapper')).addClass('pieChartCanvas');
// Insert the map element. The area elements will be added later
new Element('map', {
id: 'pieChartMap' + this.tableIndex,
name: 'pieChartMap' + this.tableIndex
}).injectBottom(this.container).addClass('pieChartMap');
// Insert the blank transparent gif that is used for the image map
new Asset.image(DIR_STATIC_SKIN+'/images/spacer.gif', {
alt: '',
usemap: '#pieChartMap' + this.tableIndex,
width: this.pieChartDiameter,
height: this.pieChartDiameter
}).injectInside(this.container.getElement('.pieChartWrapper')).setStyles({
'width': this.pieChartDiameter,
'height': this.pieChartDiameter
});
// Insert a div to insure layout integrity
new Element('div').injectBottom(this.container).addClass('clear');
},
makeData: function(elData) {
var aData=[];
elData.getChildren().each(function(el) {
var data=el.getChildren();
if ($(data[0])) {
var color = data[0].getStyle('background').match(/#\w+/i);
aData.extend([{
'label': el.get('text'),
'value': data[1].get('text'),
'color': data[0].getStyle('background').match(/#\w+/i)[0]
}]);
}
});
return aData;
},
makePieChart: function(aData){
///// STEP 2 - Get the data
var data = [], color, colors = [], labels = [], values = [], total = 0, value=0;
aData.each(function(item, index){
labels[colors.length] = item.label;
value=parseFloat(item.value);
values[colors.length] = value;
total += value;
colors[colors.length] = item.color.hexToRgb();
},this);
///// STEP 3 - Draw pie on canvas
// get canvas context, determine radius and center
var ctx = this.canvas.getContext('2d');
var tableLength = colors.length;
for (piece=0; piece < tableLength; piece++) {
var thisvalue = values[piece] / total;
var arcStartAngle = Math.PI * (- 0.5 + 2 * this.index); // -0.5 sets set the start to be top
var arcEndAngle = Math.PI * (- 0.5 + 2 * (this.index + thisvalue));
ctx.beginPath();
ctx.moveTo(this.pieChartRadius, this.pieChartRadius); // Center of the pie
ctx.arc( // draw next arc
this.pieChartRadius,
this.pieChartRadius,
this.pieChartRadius,
arcStartAngle,
arcEndAngle,
false
);
ctx.closePath();
ctx.fillStyle = colors[piece]; // Color
ctx.fill();
// Draw the same thing again to draw stroke properly in IE
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(this.pieChartRadius, this.pieChartRadius);
ctx.arc( // draw next arc
this.pieChartRadius,
this.pieChartRadius,
this.pieChartRadius,
arcStartAngle,
arcEndAngle,
false
);
ctx.closePath();
ctx.strokeStyle = "#FFF";
ctx.stroke();
///// STEP 4 - Draw pie on image map
var arcIncrement = (arcEndAngle - arcStartAngle) * this.arcIncrementMultiplier;
var xx = this.pieChartRadius + Math.round(Math.cos(arcStartAngle) * this.pieChartRadius);
var yy = this.pieChartRadius + Math.round(Math.sin(arcStartAngle) * this.pieChartRadius);
var coord = [];
var coordIndex = 1;
for (i = 0; i < ((this.pieVertices * 2) - 2); i = i+2) {
var arcAngle = arcStartAngle + arcIncrement * coordIndex;
coord[i] = this.pieChartRadius + Math.round(Math.cos(arcAngle) * this.pieChartRadius);
coord[i+1] = this.pieChartRadius + Math.round(Math.sin(arcAngle) * this.pieChartRadius);
coordIndex++;
}
var xxEnd = this.pieChartRadius + Math.round(Math.cos(arcEndAngle) * this.pieChartRadius);
var yyEnd = this.pieChartRadius + Math.round(Math.sin(arcEndAngle) * this.pieChartRadius);
var myArea = 'area' + this.tableIndex + '-' + piece;
new Element('area', {
'id': myArea ,
'shape': 'poly',
'coords': this.pieChartRadius + ',' + this.pieChartRadius + ',' + xx + ',' + yy + ',' + coord.join(',') + ',' + xxEnd + ',' + yyEnd,
'title': labels[piece]
}).injectInside(this.container.getElement('.pieChartMap'));
this.index += thisvalue; // increment progress tracker
}
this.tableIndex++;
},
addToolTips: function(){
///// STEP 5 - Add Tooltips
new Tips($$(document.getElementsByTagName('area')), {
showDelay: 10,
hideDelay: 10
});
},
getColor: function(i, totalSteps){
var colori = i * 100 / totalSteps;
var frequency = Math.PI*2 / totalSteps;
var center = 190;
var amplitude = 60;
var rgb = [];
rgb[0] = Math.round(Math.sin(frequency * i + 0) * amplitude + center);
rgb[1] = Math.round(Math.sin(frequency * i + 2) * amplitude + center);
rgb[2] = Math.round(Math.sin(frequency * i + 4) * amplitude + center);
return 'rgb(' + rgb.join(',') + ')';
}
});
PieChart.implement(new Options);

View file

@ -1,55 +0,0 @@
.roar-body
{
position: absolute;
font: 12px/14px "Lucida Grande", Arial, Helvetica, Verdana, sans-serif;
color: #fff;
text-align: left;
z-index: 999;
}
.roar
{
position: absolute;
width: 300px;
cursor: pointer;
}
.roar-bg
{
position: absolute;
z-index: 1000;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: #000;
-moz-border-radius: 10px;
-webkit-border-radius: 5px;
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.roar-body-ugly .roar
{
background-color: #333;
}
.roar-body-ugly .roar-bg
{
display: none;
}
.roar h3
{
position: relative;
padding: 15px 10px 0;
margin: 0;
border: 0;
font-size: 13px;
color: #fff;
z-index: 1002;
}
.roar p
{
position: relative;
padding: 10px 10px 15px;
margin: 0;
font-size: 12px;
color: #fff;
z-index: 1002;
}

View file

@ -1,167 +0,0 @@
/**
* Roar - Notifications
*
* Inspired by Growl
*
* @version 1.0.1
*
* @license MIT-style license
* @author Harald Kirschner <mail [at] digitarald.de>
* @copyright Author
*/
var Roar = new Class({
Implements: [Options, Events, Chain],
options: {
duration: 4000,
position: 'upperLeft',
container: null,
bodyFx: null,
itemFx: null,
margin: {x: 10, y: 10},
offset: 5,
className: 'roar',
onShow: $empty,
onHide: $empty,
onRender: $empty,
style: 'notice'
},
initialize: function(options) {
this.setOptions(options);
this.items = [];
this.container = $(this.options.container) || document;
},
alert: function(title, message, options) {
var params = Array.link(arguments, {title: String.type, message: String.type, options: Object.type});
var items = [new Element('h3', {'html': $pick(params.title, '')})];
if (params.message) items.push(new Element('p', {'html': params.message}));
return this.inject(items, params.options);
},
inject: function(elements, options) {
if (!this.body) this.render();
options = options || {};
var offset = [-this.options.offset, 0];
var last = this.items.getLast();
if (last) {
offset[0] = last.retrieve('roar:offset');
offset[1] = offset[0] + last.offsetHeight + this.options.offset;
}
var to = {'opacity': 1};
to[this.align.y] = offset;
var item = new Element('div', {
'class': this.options.className,
'opacity': 0
}).adopt(
new Element('div', {
'class': this.options.className+'-bg',
'opacity': 0.7
}),
elements
);
item.setStyle(this.align.x, 0).store('roar:offset', offset[1]).set('morph', $merge({
unit: 'px',
link: 'cancel',
onStart: Chain.prototype.clearChain,
transition: Fx.Transitions.Back.easeOut
}, this.options.itemFx));
var remove = this.remove.create({
bind: this,
arguments: [item],
delay: 10
});
this.items.push(item.addEvent('click', remove));
if (this.options.duration) {
var over = false;
var trigger = (function() {
trigger = null;
if (!over) remove();
}).delay(this.options.duration);
item.addEvents({
mouseover: function() {
over = true;
},
mouseout: function() {
over = false;
if (!trigger) remove();
}
});
}
item.inject(this.body).morph(to);
return this.fireEvent('onShow', [item, this.items.length]);
},
remove: function(item) {
var index = this.items.indexOf(item);
if (index == -1) return this;
this.items.splice(index, 1);
item.removeEvents();
var to = {opacity: 0};
to[this.align.y] = item.getStyle(this.align.y).toInt() - item.offsetHeight - this.options.offset;
item.morph(to).get('morph').chain(item.destroy.bind(item));
return this.fireEvent('onHide', [item, this.items.length]).callChain(item);
},
empty: function() {
while (this.items.length) this.remove(this.items[0]);
return this;
},
render: function() {
this.position = this.options.position;
if ($type(this.position) == 'string') {
var position = {x: 'center', y: 'center'};
this.align = {x: 'left', y: 'top'};
if ((/left|west/i).test(this.position)) position.x = 'left';
else if ((/right|east/i).test(this.position)) this.align.x = position.x = 'right';
if ((/upper|top|north/i).test(this.position)) position.y = 'top';
else if ((/bottom|lower|south/i).test(this.position)) this.align.y = position.y = 'bottom';
this.position = position;
}
this.body = new Element('div', {'class': this.options.className+'-body'}).inject(document.body);
if (Browser.Engine.trident4) this.body.addClass(this.options.className+'-body-ugly');
this.moveTo = this.body.setStyles.bind(this.body);
this.reposition();
if (this.options.bodyFx) {
var morph = new Fx.Morph(this.body, $merge({
unit: 'px',
chain: 'cancel',
transition: Fx.Transitions.Circ.easeOut
}, this.options.bodyFx));
this.moveTo = morph.start.bind(morph);
}
var repos = this.reposition.bind(this);
window.addEvents({
scroll: repos,
resize: repos
});
this.fireEvent('onRender', this.body);
},
reposition: function() {
var max = document.getCoordinates(), scroll = document.getScroll(), margin = this.options.margin;
max.left += scroll.x;
max.right += scroll.x;
max.top += scroll.y;
max.bottom += scroll.y;
var rel = ($type(this.container) == 'element') ? this.container.getCoordinates() : max;
this.moveTo({
left: (this.position.x == 'right')
? (Math.min(rel.right, max.right) - margin.x)
: (Math.max(rel.left, max.left) + margin.x),
top: (this.position.y == 'bottom')
? (Math.min(rel.bottom, max.bottom) - margin.y)
: (Math.max(rel.top, max.top) + margin.y)
});
}
});

View file

@ -1,120 +0,0 @@
/*
---
description: This class gives you a method to upload files 'the ajax way'
license: MIT-style
authors:
- Arian Stolwijk
requires: [Class, Options, Events, Element, Element.Event, Element.Style]
provides: [Element.iFrameFormRequest, iFrameFormRequest]
...
*/
/**
* @author Arian Stolwijk
* Idea taken from http://www.webtoolkit.info/ajax-file-upload.html
*/
var iFrameFormRequest = new Class({
Implements: [Options, Events],
options: { /*
onRequest: function(){},
onComplete: function(data){},
onFailure: function(){}, */
eventName: 'sbt',
url: '',
dataType: 'text',
params: {}
},
initialize: function(form, options){
this.setOptions(options);
var frameId = this.frameId = 'iframe_'+Math.random();
var loading = false;
this.form = document.id(form);
// добавляем поля из параметров
$each(this.options.params,function(v,k){
if (typeof(v)=="boolean") {
v=v ? 1 : 0;
}
var input=new Element('input',{type:'hidden',name:k,value:v});
this.form.adopt(input);
}.bind(this));
// подменяем URL
if (this.options.url) {
this.form.setProperty('action',this.options.url);
}
this.formEvent = function(){
loading = true;
this.fireEvent('request');
}.bind(this);
this.iframe = new IFrame({
name: frameId,
styles: {
display: 'none'
},
src: 'about:blank',
events: {
load: function(){
if (loading){
var doc = this.iframe.contentWindow.document;
if (doc && doc.location.href != 'about:blank'){
var data=doc.body.innerHTML;
if (this.options.dataType=='json') {
var ta = doc.getElementsByTagName('textarea')[0];
if (ta) {
data = ta.value;
}
this.fireEvent('complete', JSON.decode(data));
} else {
this.fireEvent('complete', data);
}
} else {
this.fireEvent('failure');
}
loading = false;
}
}.bind(this)
}
}).inject(document.body);
this.attach();
},
send: function(){
this.form.fireEvent(this.options.eventName);
this.form.submit();
},
attach: function(){
this.target = this.form.get('target');
this.form.set('target', this.frameId)
.addEvent(this.options.eventName, this.formEvent);
},
detach: function(){
this.form.set('target', this.target)
.removeEvent(this.options.eventName, this.formEvent);
},
toElement: function(){
return this.iframe;
}
});
Element.implement('iFrameFormRequest', function(options){
this.store('iFrameFormRequest', new iFrameFormRequest(this, options));
return this;
});

View file

@ -1,12 +0,0 @@
<?php if(!in_array($_POST['defaultView'], array('month', 'year', 'decade'))) $_POST['defaultView'] = 'month'; ?>
<div class="vlaCalendar<?php echo ($_POST['style'] ? ' '.$_POST['style'] : ''); ?>">
<span class="indication">
<div class="arrowRight"></div>
<div class="arrowLeft"></div>
<span class="label" date="{'day': '<?php echo date('j'); ?>', 'month': '<?php echo date('n'); ?>', 'year': '<?php echo date('Y'); ?>'}">&nbsp;</span>
</span>
<div class="container">
<div class="loaderB"></div>
<div class="loaderA"><?php include $_POST['defaultView'].'.php'; ?></div>
</div>
</div>

View file

@ -1,55 +0,0 @@
<?php
include('vars.php');
$decadeAr = array( array(1979, 1990),
array(1989, 2000),
array(1999, 2010),
array(2009, 2020),
array(2019, 2030) );
$ts = isset($_POST['ts']) ? $_POST['ts'] : time();
$ts_year = date('Y', $ts);
foreach($decadeAr as $d) {
if($ts_year == $decadeAr[sizeof($decadeAr)-1][1] || $ts_year > $d[0] && $ts_year < $d[1] || $ts_year == $decadeAr[0][0]) {
$decade = $d;
break;
}
}
$y_ts = $_POST['parent'] == 'year' ? mktime(1, 1, 1, 1, 1, date('Y', $ts)) : ''; //Selected year timestamp
$m_ts = $_POST['m_ts'];
if($_POST['pickedDate']) {
$pickedDateAr = explode('/', $_POST['pickedDate']);
$pickedDate = @mktime(1, 1, 1, 1, 1, $pickedDateAr[2]);
} else {
$pickedDate = mktime(1, 1, 1, 1, 1, date('Y'));
}
$pr_ts = mktime(1, 1, 1, 1, 1, $ts_year - 10);
$nx_ts = mktime(1, 1, 1, 1, 1, $ts_year + 10);
//Fix for border years to decade errors
if($ts_year == $decadeAr[sizeof($decadeAr)-1][1]) {
$decade = $decadeAr[sizeof($decadeAr)-1];
$pr_ts = mktime(1, 1, 1, 1, 1, $ts_year - 11);
} else if($ts_year == $decadeAr[0][0]) $nx_ts = mktime(1, 1, 1, 1, 1, $ts_year + 11);
?>
<table class="year" cellpadding="0" summary="{'ts': '<?php echo $ts; ?>', 'pr_ts': '<?php echo $pr_ts; ?>', 'nx_ts': '<?php echo $nx_ts; ?>', 'label': '<?php echo ($decade[0]+1).' - '.($decade[1]-1); ?>',
'current': 'decade'<?php echo ($decade == $decadeAr[0] ? ", 'hide_left_arrow': '1'" : '').($decade == $decadeAr[sizeof($decadeAr)-1] ? ", 'hide_right_arrow': '1'" : ''); ?>}">
<?php
//Add decades
$year = $decade[0];
for($i = 0; $i < 3; $i++) {
echo "\t<tr>";
for($y = 0; $y < 4; $y++) {
$i_ts = mktime(1, 1, 1, 1, 1, $year);
if($i == 0 && $y == 0 || $i == 2 && $y == 3) echo '<td ts="'.$i_ts.'" m_ts="'.$m_ts.'" class="outsideYear">'.$year.'</td>';
else echo '<td ts="'.$i_ts.'" m_ts="'.$m_ts.'" class="'.($y_ts == $i_ts ? 'selected' : '').($pickedDate == $i_ts ? 'current' : '').'">'.$year.'</td>';
$year++;
}
echo "</tr>\n";
}
?>
</table>

View file

@ -1,90 +0,0 @@
<?php
include('vars.php');
$start_monday = $_POST['startMonday'] ? true : false;
$picker = $_POST['picker'] ? true : false;
if(isset($_POST['pickedDate']) && $_POST['pickedDate'] != 'null') {
$pickedDateAr = explode('/', $_POST['pickedDate']);
$pickedDate = @mktime(1, 1, 1, $pickedDateAr[1], $pickedDateAr[0], $pickedDateAr[2]);
} else {
$pickedDate = mktime(1, 1, 1, date('n'), date('j'), date('Y'));
}
if(isset($_POST['gotoPickedDate'])) $ts = isset($_POST['ts']) ? $_POST['ts'] : mktime(1, 1, 1, date('n', $pickedDate), 1, date('Y', $pickedDate));
else $ts = isset($_POST['ts']) ? $_POST['ts'] : mktime(1, 1, 1, date('n'), 1, date('Y'));
$ts_year_full = date('Y', $ts);
$ts_year = date('Y', $ts);
$ts_month_nr = date('n', $ts);
$ts_month = $month_labels[date('n', $ts)-1];
$ts_nrodays = date('t', $ts);
$pr_ts = mktime(1, 1, 1, $ts_month_nr-1, 1, $ts_year);
$nx_ts = mktime(1, 1, 1, $ts_month_nr+1, 1, $ts_year);
$wdays_counter = date('w', $ts) - ($start_monday ? 1 : 0);
if($wdays_counter == -1) $wdays_counter = 6;
?>
<table class="month<?php echo ($picker ? ' picker' : ''); ?>" cellpadding="0" summary="{'ts': '<?php echo $ts; ?>', 'pr_ts': '<?php echo $pr_ts; ?>', 'nx_ts': '<?php echo $nx_ts; ?>', 'label': '<?php echo $ts_month.', '.$ts_year_full; ?>',
'current': 'month', 'parent': 'year'<?php echo ($ts_year == 1979 && date('n', $ts) == 1 ? ", 'hide_left_arrow': '1'" : '').($ts_year == 2030 && date('n', $ts) == 12 ? ", 'hide_right_arrow': '1'" : ''); ?>}">
<tr>
<?php if(!$start_monday) echo '<th>'.$wdays_labels[6]."</th>\n"; ?>
<th><?php echo $wdays_labels[0]; ?></th>
<th><?php echo $wdays_labels[1]; ?></th>
<th><?php echo $wdays_labels[2]; ?></th>
<th><?php echo $wdays_labels[3]; ?></th>
<th><?php echo $wdays_labels[4]; ?></th>
<th><?php echo $wdays_labels[5]; ?></th>
<?php if($start_monday) echo '<th>'.$wdays_labels[6]."</th>\n"; ?>
</tr>
<tr class="firstRow"><?php
//Add days for the beginning non-month days
for($i = 0; $i < $wdays_counter; $i++) {
$day = date("t", $pr_ts)-($wdays_counter-$i)+1;
$i_ts = mktime(1, 1, 1, $ts_month_nr-1, $day, $ts_year);
echo '<td class="outsideDay" date="'."{'day': '".$day."', 'month': '".date('n', $i_ts)."', 'year': '".date('Y', $i_ts)."'}".'">'.$day.'</td>';
}
//Add month days
$row = 0;
for($i = 1; $i <= $ts_nrodays; $i++) {
$i_ts = mktime(1, 1, 1, $ts_month_nr, $i, $ts_year);
echo '<td'.($i_ts == $pickedDate ? ' class="selected"' : '').' '."date=\"{'day': '".$i."', 'month': '".$ts_month_nr."', 'year': '".$ts_year."'}\">".$i.'</td>';
if($wdays_counter == 6 && ($i - 1) != $ts_nrodays) {
$week_num = date("W", $i_ts) + 1;
echo "</tr>\n\t<tr>";
$wdays_counter = -1;
$row++;
}
$wdays_counter++;
}
//Add outside days
$a = 1;
if($wdays_counter != 0) {
for($i = $wdays_counter; $i < 7; $i++) {
$i_ts = mktime(1, 1, 1, $ts_month_nr+1, $a, $ts_year);
echo '<td class="outsideDay" date="'."{'day': '".$a."', 'month': '".date('n', $i_ts)."', 'year': '".date('Y', $i_ts)."'}".'">'.$a.'</td>';
$a++;
}
$row++;
}
//Always have 6 rows
if($row == 4 || $row == 5) {
if($wdays_counter != 0) echo "</tr>\n\t<tr>";
for($i = 0; $i < ($row == 5 ? 7 : 14); $i++) {
$i_ts = mktime(1, 1, 1, $ts_month_nr+1, $a, $ts_year);
echo '<td class="outsideDay" date="'."{'day': '".$a."', 'month': '".date('n', $i_ts)."', 'year': '".date('Y', $i_ts)."'}".'">'.$a.'</td>';
$a++;
if($i == 6) echo "</tr>\n\t<tr>";
}
}
?></tr>
</table>

View file

@ -1,10 +0,0 @@
<?php
/* If you want to comply with E_STRICT php standards set a default timezone
* You can find default timezones here: http://us2.php.net/manual/en/timezones.php
*/
//date_default_timezone_set('Europe/Amsterdam');
$wdays_labels = array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
$month_labels = array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
$month_s_labels = array("Янв", "Февр", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сент", "Окт", "Нояб", "Дек");
?>

View file

@ -1,35 +0,0 @@
<?php
include('vars.php');
$ts = isset($_POST['ts']) ? $_POST['ts'] : time();
$m_ts = $_POST['parent'] == 'month' ? mktime(1, 1, 1, date('n', $ts), 1, date('Y', $ts)) : ''; //Selected month timestamp
if($_POST['pickedDate']) {
$pickedDateAr = explode('/', $_POST['pickedDate']);
$pickedDate = @mktime(1, 1, 1, $pickedDateAr[1], 1, $pickedDateAr[2]);
} else {
$pickedDate = mktime(1, 1, 1, date('n'), 1, date('Y'));
}
$ts_year = date('Y', $ts);
$pr_ts = mktime(1, 1, 1, 1, 1, $ts_year-1);
$nx_ts = mktime(1, 1, 1, 1, 1, $ts_year+1);
?>
<table class="year" cellpadding="0" summary="{'ts': '<?php echo $ts; ?>', 'pr_ts': '<?php echo $pr_ts; ?>', 'nx_ts': '<?php echo $nx_ts; ?>', 'label': '<?php echo $ts_year; ?>', 'current': 'year',
'parent': 'decade'<?php echo ($ts_year == 1979 ? ", 'hide_left_arrow': '1'" : '').($ts_year == 2030 ? ", 'hide_right_arrow': '1'" : ''); ?>}">
<?php
//Add years
$m = 1;
for($i = 0; $i < 3; $i++) {
echo "\t<tr>";
for($y = 0; $y < 4; $y++) {
$i_ts = mktime(1, 1, 1, $m, 1, $ts_year);
echo '<td ts="'.$i_ts.'" class="'.($m_ts == $i_ts ? 'selected' : '').($pickedDate == $i_ts ? 'current' : '').'">'.$month_s_labels[date('n', $i_ts)-1].'</td>';
$m++;
}
echo "</tr>\n";
}
?>
</table>

View file

@ -1,391 +0,0 @@
/*********************************************************/
/* vlaCalendar version 2.1 for mootools release 1.2 */
/*********************************************************/
var vlaCalendar = new Class({
'slideDuration': 500,
'fadeDuration': 500,
'transition': Fx.Transitions.Quart.easeOut,
'startMonday': false,
'filePath': 'inc/',
'defaultView': 'month',
'style': '',
initialize: function(_container, _options) {
//Add the provided options to this object by extending
if(_options) $extend(this, _options);
this.loading = false;
this.container = _container = $(_container);
var _class = this;
//Insert the base into the container and initialize elements
var pars = 'defaultView='+ this.defaultView;
if(this.picker) {
if($type(this.prefillDate) == 'object' && this.getInputDate(this.prefillDate)) pars += '&pickedDate='+ this.getInputDate(this.prefillDate);
if(this.linkWithInput) pars += '&gotoPickedDate=1';
}
this.u('base', pars, function() {
_class.mainLoader = _container.getElement('div[class=loaderA]');
_class.tempLoader = _container.getElement('div[class=loaderB]');
_class.label = _container.getElement('span[class=label]');
_class.arrowLeft = _container.getElement('div[class=arrowLeft]');
_class.arrowRight = _container.getElement('div[class=arrowRight]');
_class.initializeCalendarFunctions();
//Prefill/load picker date elements
if(_class.picker) {
if($type(_class.prefillDate) == 'object' && _class.getInputDate(_class.prefillDate)) _class.pick(_class.prefillDate);
else if(_class.prefillDate == true) _class.pick(JSON.decode(_class.label.getProperty('date')));
}
}, _container);
},
initializeCalendarFunctions: function() {
this.resetArrows();
//Retrieve data (label, timestamp etc) which are stored as a Json string in the table attribute summary
var vars = JSON.decode(this.mainLoader.getElement('table').getProperty('summary'));
var _class = this;
//Change the label
this.label.removeClass('noHover').set('html', vars.label)
.onclick = vars.parent ? function() { _class.u(vars.parent, 'ts=' + vars.ts + '&parent=' + vars.current, function() { _class.fade() }) } : null;
//Hide arrows if necessary and add arrow click events
if(vars.hide_left_arrow) this.hideLeftArrow();
else if(vars.hide_right_arrow) this.hideRightArrow();
this.arrowLeft.onclick = function() { _class.u(vars.current, 'ts=' + vars.pr_ts, function() { _class.slideLeft() }) }
this.arrowRight.onclick = function() { _class.u(vars.current, 'ts=' + vars.nx_ts, function() { _class.slideRight() }) }
//Add cell click events
var clickables = this.mainLoader.getElements('td');
switch(vars.current) {
case 'month':
if(this.picker) {
clickables.each(function(_clickable) {
_clickable.onclick = function() {
_class.pick(JSON.decode(_clickable.getProperty('date')));
_class.mainLoader.getElements('td').each(function(_clickable) { _clickable.removeClass('selected') });
this.addClass('selected');
}
});
}
break;
case 'year':
clickables.each(function(_clickable) {
_clickable.onclick = function() { _class.u('month', 'ts=' + _clickable.getProperty('ts'), function() { _class.fade() }) }
});
break;
case 'decade':
this.label.addClass('noHover');
clickables.each(function(_clickable) {
_clickable.onclick = function() { _class.u('year', 'ts=' + _clickable.getProperty('ts') + '&m_ts=' + _clickable.getProperty('m_ts'), function() { _class.fade() }) }
});
break;
}
},
//Ajax updater function which handles all requests
u: function(_url, _pars, _onComplete, _id) {
if(!this.loading && !this.transitioning) {
var _class = this;
this.loading = true;
var element = $(_id ? _id : this.tempLoader);
_pars += '&picker=' + (this.picker ? 1 : 0) + '&startMonday=' + (this.startMonday ? 1 : 0) + '&style=' + this.style;
if(this.picker && this.getInputDate()) _pars += '&pickedDate='+ this.getInputDate();
new Request({ method: 'post',
url: this.filePath + _url + '.php',
onComplete: function(data) { element.set('html', data); _onComplete(); _class.loading = false; }
}).send(_pars);
}
},
slideLeft: function() {
var _class = this;
this.transitioning = true;
this.tempLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition }).tween('margin-left', [-164, 0]);
this.mainLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition, onComplete: function() { _class.transitioning = false } })
.tween('margin-left', [0, 164]);
this.switchLoaders();
},
slideRight: function() {
var _class = this;
this.transitioning = true;
this.mainLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition }).tween('margin-left', [0, -164]);
this.tempLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition, onComplete: function() { _class.transitioning = false } })
.tween('margin-left', [164, 0]);
this.switchLoaders();
},
fade: function(overRuleTrans) {
var _class = this;
this.transitioning = overRuleTrans ? false : true;
this.tempLoader.setStyles({'opacity': 0, 'margin-left': 0});
this.mainLoader.set('tween', { duration: this.fadeDuration, transition: this.transition}).fade('out');
this.tempLoader.set('tween', { duration: this.fadeDuration, transition: this.transition,
onComplete: function() {
_class.tempLoader.setStyles({'opacity': 1, 'margin-left': -999});
_class.transitioning = false;
}
}).fade('in');
this.switchLoaders();
},
switchLoaders: function() {
this.mainLoader = this.mainLoader.className == 'loaderA' ? this.container.getElement('div[class=loaderB]') : this.container.getElement('div[class=loaderA]');
this.tempLoader = this.tempLoader.className == 'loaderA' ? this.container.getElement('div[class=loaderB]') : this.container.getElement('div[class=loaderA]');
this.initializeCalendarFunctions();
},
resetArrows: function() {
this.arrowLeft.setStyle('visibility', 'visible');
this.arrowRight.setStyle('visibility', 'visible');
},
hideLeftArrow: function() {
this.arrowLeft.setStyle('visibility', 'hidden');
},
hideRightArrow: function() {
this.arrowRight.setStyle('visibility', 'hidden');
}
});
var vlaDatePicker = new Class({
Extends: vlaCalendar,
'separateInput': false,
'prefillDate': true,
'linkWithInput': true,
'leadingZero': true,
'twoDigitYear': false,
'separator': '/',
'format': 'd/m/y',
'openWith': null,
'alignX': 'right',
'alignY': 'inputTop',
'offset': { 'x': 0, 'y': 0 },
'style': '',
'ieTransitionColor' : '#ffffff',
'toggleDuration': 350,
initialize: function(_element, _options) {
//Add the provided options to this object by extending
if(_options) $extend(this, _options);
this.element = $(_element);
if(!this.element) throw 'No (existing) element to create a datepicker for specified: new vlaDatePicker(ELEMENT, [options])';
//Check if the user wants multiple input
if(this.separateInput) {
this.element.day = this.element.getElement('input[name='+ this.separateInput.day +']');
this.element.month = this.element.getElement('input[name='+ this.separateInput.month +']');
this.element.year = this.element.getElement('input[name='+ this.separateInput.year +']');
}
//Create the picker and calendar and inject in in the body
this.picker = new Element('div', { 'class': 'vlaCalendarPicker' + (this.style != '' ? ' ' + this.style : '') }).injectTop($(document.body));
this.pickerContent = new Element('div', { 'class': 'pickerBackground' }).injectTop(this.picker);
this.parent(this.pickerContent);
//Add events for showing and hiding the picker
var _class = this;
(this.openWith ? $(this.openWith) : this.element)
.addEvent('focus', function() { _class.show(); })
.addEvent('click', function() { _class.openWith ? _class.toggle() : _class.show() })
.addEvent('change', function() { _class.hide(); });
//If the datepicker is visible an outside click makes it hide
document.addEvent('mousedown', function(e) { if(_class.outsideHide && _class.outsideClick(e, _class.picker)) _class.hide() });
//linkWithInput
if(this.linkWithInput) {
if(this.separateInput) {
this.element.day.addEvent('keyup', function() { _class.linkedUpdate() });
this.element.month.addEvent('keyup', function() { _class.linkedUpdate() });
this.element.year.addEvent('keyup', function() { _class.linkedUpdate() });
} else {
this.element.addEvent('keyup', function() { _class.linkedUpdate() });
}
}
this.visible = false;
this.outsideHide = false;
},
//Position the picker
position: function() {
var top, left;
switch(this.alignX) {
case 'left':
left = this.element.getLeft();
break;
case 'center':
var pickerMiddle = this.pickerContent.getStyle('width').toInt() / 2;
if(pickerMiddle == 0) pickerMiddle = 83;
left = this.element.getLeft() + (this.element.getSize().x / 2) - pickerMiddle -
((parseInt(this.pickerContent.getStyle('padding-left')) + parseInt(this.pickerContent.getStyle('padding-right'))) / 2);
break;
case 'right': default:
left = this.element.getLeft() + this.element.getSize().x;
break;
}
switch(this.alignY) {
case 'bottom':
top = this.getPos(this.element).y + this.element.getSize().y;
break;
case 'top':
top = this.getPos(this.element).y - parseInt(this.pickerContent.getStyle('height')) -
(parseInt(this.pickerContent.getStyle('padding-top')) + parseInt(this.pickerContent.getStyle('padding-bottom')));
break;
case 'inputTop': default:
top = this.getPos(this.element).y;
}
if(this.isNumber(this.offset.x)) left += this.offset.x;
if(this.isNumber(this.offset.y)) top += this.offset.y;
this.picker.setStyles({ 'top': top, 'left': left });
},
show: function() {
this.position();
if(!this.visible) {
this.visible = true;
var _class = this;
this.picker.setStyles({ 'opacity': 0, 'display': 'inline' });
if(Browser.Engine.trident5) this.picker.setStyle('background-color', this.ieTransitionColor); //Ugly transition fix for IE7
this.picker.set('tween', { onComplete: function() {
if(Browser.Engine.trident5) _class.picker.setStyle('background-color', 'transparent');
_class.outsideHide = true;
}, duration: this.toggleDuration }).fade('in');
}
},
hide: function() {
if(this.visible) {
this.visible = false;
var _class = this;
if(Browser.Engine.trident5) this.picker.setStyle('background-color', this.ieTransitionColor); //Ugly transition fix for IE7
this.picker.set('tween', { onComplete: function() { _class.picker.setStyle('display', 'none'); _class.outsideHide = false; }, duration: this.toggleDuration }).fade('out');
}
},
toggle: function() {
if(this.visible) this.hide();
else this.show();
},
pick: function(_date) {
if(this.leadingZero) {
if(_date.day < 10) _date.day = '0' + _date.day;
if(_date.month < 10) _date.month = '0' + _date.month;
}
if(this.twoDigitYear) _date.year = _date.year.toString().substring(2, 4);
if(this.separateInput) {
if(this.element.day) this.element.day.set('value', _date.day);
if(this.element.month) this.element.month.set('value', _date.month);
if(this.element.year) this.element.year.set('value', _date.year);
this.hide();
} else {
switch(this.format) {
case "m/d/y": this.element.set('value', _date.month + this.separator + _date.day + this.separator + _date.year); break;
case "y/m/d": this.element.set('value', _date.year + this.separator + _date.month + this.separator + _date.day); break;
case "y/d/m": this.element.set('value', _date.year + this.separator + _date.day + this.separator + _date.month); break;
case "d/m/y": default: this.element.set('value', _date.day + this.separator + _date.month + this.separator + _date.year);
}
this.hide();
}
},
getInputDate: function(_date) {
var day, month, year;
if(_date) {
day = _date.day;
month = _date.month;
year = _date.year;
} else if(this.separateInput) {
day = this.element.day.get('value').toInt();
month = this.element.month.get('value').toInt();
year = this.element.year.get('value').toInt();
} else {
var date = this.element.get('value').split(this.separator);
if(date.length != 3) return null;
switch(this.format) {
case "m/d/y": day = date[1]; month = date[0]; year = date[2]; break;
case "y/m/d": day = date[2]; month = date[1]; year = date[0]; break;
case "y/d/m": day = date[1]; month = date[2]; year = date[0]; break;
case "d/m/y": default: day = date[0]; month = date[1]; year = date[2];
}
}
if( !this.isNumber(day) || !this.isNumber(month) || !this.isNumber(year) || day == 0 || month == 0 || year == '0' ||
(this.twoDigitYear && year > 99) || (!this.twoDigitYear && year < 1979) || (!this.twoDigitYear && year > 2030) || month > 12 || day > 31 ) return null;
if(this.twoDigitYear && this.isNumber(year) && year < 100) {
year = year.toInt();
if(year < 10) year = '200'+ year;
else if(year < 70) year = '20'+ year;
else if(year > 69) year = '19'+ year;
else year = new Date().getFullYear();
}
return day +'/'+ month +'/'+ year;
},
//This function is being called on keyup event if linkWithInput is set to true and when a date is picked
//If the full date is inserted the picker will change itself to that specific date (month view)
linkedUpdate: function() {
var _class = this;
var date = this.getInputDate();
if(date && this.pickedDate != date) {
this.u('month', 'gotoPickedDate=1', function() { _class.fade(true) });
this.pickedDate = date;
}
},
outsideClick: function(_event, _element) {
var mousePos = this.getMousePos(_event);
var elementData = _element.getCoordinates();
return (mousePos.x > elementData.left && mousePos.x < (elementData.left + elementData.width)) &&
(mousePos.y > elementData.top && mousePos.y < (elementData.top + elementData.height)) ? false : true;
},
getMousePos: function(_event) {
if(document.all) {
return { 'x': window.event.clientX + window.getScrollLeft(),
'y': window.event.clientY + window.getScrollTop() };
} else {
return { 'x': _event.page['x'],
'y': _event.page['y'] };
}
},
isNumber: function(_number) {
if(_number == '') return false;
return (_number >= 0) || (_number < 0) ? true : false;
},
//Retrieving positition funtions (like getCoordinates, getTop etc) don't seem to return correct values in some situations in mootools 1.2;
//Opera returns wrong values, IE returns too small values. This function returns the correct coordinates.
getPos: function(_element) {
var x, y = 0;
if(_element.offsetParent) {
do {
x += _element.offsetLeft;
y += _element.offsetTop;
} while(_element = _element.offsetParent);
} else if(_element.x) {
x += _element.x;
y += _element.y;
}
return { 'x': x, 'y': y };
}
});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -1,97 +0,0 @@
/* MILKBOX */
#mbOverlay {
position: absolute;
left: 0;
width:100%;
background-color: #000; /* set the Milkbox overlay color // opacity: see the js options */
z-index:1000;
cursor: pointer;
}
#mbCenter {
/* for default width and height, see the js options */
position: absolute;
z-index:1001;
overflow:hidden;
left: 50%;
top:10%;/* overwritten in the js options to properly position the milkbox when activated in a scrolled window */
background-color: #fff;/* set the Milkbox background color */
border: 5px solid #fff;/* set the Milkbox border */
margin:0; padding:5px;/* set the Milkbox padding */
}
.mbLoading{ background: #fff url(loading.gif) no-repeat center; }/* IMAGE: loading gif */
#mbCanvas{ margin:0; padding:0; height:0; border:none; font-size:0; overflow:hidden; }
.mbClear{ clear:both; height:0; margin:0; padding:0; font-size:0; overflow:hidden; }
/* *** BOTTOM *** */
#mbBottom {
/* set text options */
font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
font-size: 10px;
color: #666;
line-height: 1.4em;
text-align: left;
padding-top:8px;
margin:0;
}
/* navigation */
/* be careful if you change buttons dimensions */
#mbNavigation{
float:right;
width:27px;
padding-top:3px;
border-left:1px solid #9c9c9c;/* set nav border */
}
#mbCount{
width:55px;
overflow:hidden;
padding-top:1px;
float:right;
text-align:right;
font-size:9px; /* count font size */
}
#mbCloseLink, #mbPrevLink, #mbNextLink, #mbPlayPause{
outline:none;
display:block;
float:right;
height:19px;
cursor: pointer;
}
#mbPrevLink, #mbNextLink{ width:15px; }
#mbPrevLink{ background: transparent url(prev.gif) no-repeat; }/* IMAGE: prev */
#mbNextLink{ background: transparent url(next.gif) no-repeat; }/* IMAGE: next */
#mbPlayPause{ width:13px; }
#mbPlayPause{ background: transparent url(play-pause.gif) no-repeat; }/* IMAGE: prev */
/* NOTE: doesn't work in ie6, so, just see the js options :) */
a#mbPrevLink:hover,a#mbNextLink:hover,a#mbCloseLink:hover,a#mbPlayPause:hover { background-position: 0 -22px; }
#mbCloseLink {
width:17px;
background: transparent url(close.gif) no-repeat;/* IMAGE: close */
}
/* description */
#mbDescription{
margin-right:27px;
padding:0px 10px 0 0;
font-weight: normal;
text-align:justify;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

File diff suppressed because one or more lines are too long

View file

@ -1,10 +0,0 @@
{include file='header.tpl' showWhiteBack=true}
<ul>
<li><a href="{router page="admin"}plugins">{$aLang.admin_list_plugins}</a></li>
<li><a href="{router page="admin"}userfields">{$aLang.admin_list_userfields}</a></li>
<li><a href="{router page="admin"}restorecomment">{$aLang.admin_list_restorecomment}</a></li>
{hook run='admin_action_item'}
</ul>
{include file='footer.tpl'}

View file

@ -1,45 +0,0 @@
{include file='header.tpl'}
<form action="{router page='admin'}plugins/" method="post" id="form_plugins_list">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<table class="table">
<thead>
<tr>
<td width="20"><input type="checkbox" name="" onclick="checkAllPlugins(this);" /></td>
<td>{$aLang.plugins_plugin_name}</td>
<td>{$aLang.plugins_plugin_version}</td>
<td>{$aLang.plugins_plugin_author}</td>
<td>{$aLang.plugins_plugin_settings}</td>
<td>{$aLang.plugins_plugin_action}</td>
</tr>
</thead>
<tbody>
{foreach from=$aPlugins item=aPlugin}
<tr>
<td><input type="checkbox" name="plugin_del[{$aPlugin.code}]" class="form_plugins_checkbox" /></td>
<td>
<h3>{$aPlugin.property->name->data|escape:'html'}</h3>
{$aPlugin.property->description->data}<br />
{$aPlugin.property->homepage}
</td>
<td>{$aPlugin.property->version|escape:'html'}</td>
<td>{$aPlugin.property->author->data|escape:'html'}</td>
<td>{if $aPlugin.is_active}<a href="{$aPlugin.property->settings}">{$aPlugin.property->settings}</a>{else}{$aPlugin.property->settings}{/if}</td>
<td>
{if $aPlugin.is_active}
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=deactivate&security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.plugins_plugin_deactivate}</a>
{else}
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=activate&security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.plugins_plugin_activate}</a>
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
<input type="submit" name="submit_plugins_del" value="{$aLang.plugins_submit_delete}" onclick="return ($$('.form_plugins_checkbox:checked').length==0)?false:confirm('{$aLang.plugins_delete_confirm}');" />
</form>
{include file='footer.tpl'}

View file

@ -1,43 +0,0 @@
{include file='header.tpl' showWhiteBack=true}
<h1>{$aLang.user_field_admin_title}</h1>
<div class="userfield-form" id="userfield_form">
<p><label for="user_fields_add_name">{$aLang.userfield_form_name}</label><br />
<input type="text" id="user_fields_form_name" class="input-text" /></p>
<p><label for="user_fields_add_title">{$aLang.userfield_form_title}</label><br />
<input type="text" id="user_fields_form_title" class="input-text" /></p>
<p><label for="user_fields_add_pattern">{$aLang.userfield_form_pattern}</label><br />
<input type="text" id="user_fields_form_pattern" class="input-text" /></p>
<input type="hidden" id="user_fields_form_action" />
<input type="hidden" id="user_fields_form_id" />
<input type="button" value="{$aLang.user_field_add}" onclick="userfieldApplyForm(); return false;" />
<input type="button" value="{$aLang.user_field_cancel}" onclick="userfieldCloseForm(); return false;" />
</div>
<a href="javascript:userfieldShowAddForm()" class="userfield-add">{$aLang.user_field_add}</a>
<br /><br />
<ul class="userfield-list" id="user_field_list">
{foreach from=$aUserFields item=oField}
<li id="field_{$oField->getId()}"><span class="userfield_admin_name">{$oField->getName()|escape:"html"}</span>
/ <span class="userfield_admin_title">{$oField->getTitle()|escape:"html"}</span>
/ <span class="userfield_admin_pattern">{$oField->getPattern()|escape:"html"}</span>
<div class="uf-actions">
<a href="javascript:userfieldShowEditForm({$oField->getId()})" title="{$aLang.user_field_update}"><img src="{cfg name='path.static.skin'}/images/edit.png" alt="image" /></a>
<a href="javascript:deleteUserfield({$oField->getId()})" title="{$aLang.user_field_delete}"><img src="{cfg name='path.static.skin'}/images/delete.png" alt="image" /></a>
</div>
</li>
{/foreach}
</ul>
{include file='footer.tpl'}

View file

@ -1,57 +0,0 @@
{if $sEvent=='add'}
{include file='header.tpl' menu='topic_action'}
{else}
{include file='header.tpl'}
{/if}
{if $sEvent=='add'}
<h2>{$aLang.blog_create}</h2>
{else}
{include file='menu.blog_edit.tpl'}
{/if}
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_blog_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_title">{$aLang.blog_create_title}:</label><br />
<input type="text" id="blog_title" name="blog_title" value="{$_aRequest.blog_title}" class="input-wide" /><br />
<span class="note">{$aLang.blog_create_title_notice}</span></p>
<p><label for="blog_url">{$aLang.blog_create_url}:</label><br />
<input type="text" id="blog_url" name="blog_url" value="{$_aRequest.blog_url}" class="input-wide" {if $_aRequest.blog_id}disabled{/if} /><br />
<span class="note">{$aLang.blog_create_url_notice}</span></p>
<p><label for="blog_type">{$aLang.blog_create_type}:</label><br />
<select name="blog_type" id="blog_type" class="input-200">
<option value="open" {if $_aRequest.blog_type=='open'}selected{/if}>{$aLang.blog_create_type_open}</option>
<option value="close" {if $_aRequest.blog_type=='close'}selected{/if}>{$aLang.blog_create_type_close}</option>
</select><br />
<span class="note">{$aLang.blog_create_type_open_notice}</span></p>
<p><label for="blog_description">{$aLang.blog_create_description}:</label><br />
<textarea name="blog_description" id="blog_description" rows="20" class="input-wide">{$_aRequest.blog_description}</textarea><br />
<span class="note">{$aLang.blog_create_description_notice}</span></p>
<p><label for="blog_limit_rating_topic">{$aLang.blog_create_rating}:</label><br />
<input type="text" id="blog_limit_rating_topic" name="blog_limit_rating_topic" value="{$_aRequest.blog_limit_rating_topic}" class="input-100" /><br />
<span class="note">{$aLang.blog_create_rating_notice}</span></p>
<p>
{if $oBlogEdit and $oBlogEdit->getAvatar()}
<img src="{$oBlogEdit->getAvatarPath(48)}" />
<img src="{$oBlogEdit->getAvatarPath(24)}" />
<label><input type="checkbox" id="avatar_delete" name="avatar_delete" value="on"> &mdash; {$aLang.blog_create_avatar_delete}</label><br /><br />
{/if}
<label for="avatar">{$aLang.blog_create_avatar}:</label><br />
<input type="file" name="avatar" id="avatar"></p>
{hook run='form_add_blog_end'}
<p><input type="submit" name="submit_blog_add" value="{$aLang.blog_create_submit}" />
<input type="hidden" name="blog_id" value="{$_aRequest.blog_id}" /></p>
</form>
{include file='footer.tpl'}

View file

@ -1,44 +0,0 @@
{include file='header.tpl'}
{include file='menu.blog_edit.tpl'}
{if $aBlogUsers}
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<table class="table">
<thead>
<tr>
<td>{$aLang.blog_admin_users}</td>
<td width="10%">{$aLang.blog_admin_users_administrator}</td>
<td width="10%">{$aLang.blog_admin_users_moderator}</td>
<td width="10%">{$aLang.blog_admin_users_reader}</td>
<td width="10%">{$aLang.blog_admin_users_bun}</td>
</tr>
</thead>
<tbody>
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
{if $oUser->getId()==$oUserCurrent->getId()}
<td colspan="4" align="center">{$aLang.blog_admin_users_current_administrator}</td>
{else}
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="administrator" {if $oBlogUser->getIsAdministrator()}checked{/if} /></td>
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="moderator" {if $oBlogUser->getIsModerator()}checked{/if} /></td>
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="reader" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_USER}checked{/if} /></td>
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="ban" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_BAN}checked{/if} /></td>
{/if}
</tr>
{/foreach}
</tbody>
</table>
<input type="submit" name="submit_blog_admin" value="{$aLang.blog_admin_users_submit}" />
</form>
<br>
{include file='paging.tpl' aPaging=$aPaging}
{else}
{$aLang.blog_admin_users_empty}
{/if}
{include file='footer.tpl'}

View file

@ -1,95 +0,0 @@
{include file='header.tpl' menu='blog'}
{assign var="oUserOwner" value=$oBlog->getOwner()}
{assign var="oVote" value=$oBlog->getVote()}
<div class="blog">
<div class="voting {if $oBlog->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oBlog->getOwnerId()==$oUserCurrent->getId()}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
<a href="#" class="plus" onclick="lsVote.vote({$oBlog->getId()},this,1,'blog'); return false;"></a>
<div class="total" title="{$aLang.blog_vote_count}: {$oBlog->getCountVote()}">{if $oBlog->getRating()>0}+{/if}{$oBlog->getRating()}</div>
<a href="#" class="minus" onclick="lsVote.vote({$oBlog->getId()},this,-1,'blog'); return false;"></a>
</div>
<h2><img src="{$oBlog->getAvatarPath(24)}" alt="avatar" class="avatar" /> {$oBlog->getTitle()|escape:'html'}</h2>
<ul class="actions">
<li><a href="{router page='rss'}blog/{$oBlog->getUrl()}/" class="rss">Rss</a></li>
{if $oUserCurrent and $oUserCurrent->getId()!=$oBlog->getOwnerId()}
<li><a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;">{if $oBlog->getUserIsJoin()}{$aLang.blog_leave}{else}{$aLang.blog_join}{/if}</a></li>
{/if}
{if $oUserCurrent and ($oUserCurrent->getId()==$oBlog->getOwnerId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() )}
<li>
<a href="{router page='blog'}edit/{$oBlog->getId()}/" title="{$aLang.blog_edit}" class="edit">{$aLang.blog_edit}</a></li>
{if $oUserCurrent->isAdministrator()}
<li><a href="#" title="{$aLang.blog_delete}" onclick="toggleBlogDeleteForm('blog_delete_form',this); return false;" class="delete">{$aLang.blog_delete}</a>
<form id="blog_delete_form" class="hidden" action="{router page='blog'}delete/{$oBlog->getId()}/" method="POST">
<input type="hidden" value="{$LIVESTREET_SECURITY_KEY}" name="security_ls_key" />
{$aLang.blog_admin_delete_move}:<br />
<select name="topic_move_to">
<option value="-1">{$aLang.blog_delete_clear}</option>
{if $aBlogs}
<option disabled="disabled">-------------</option>
{foreach from=$aBlogs item=oBlogDelete}
<option value="{$oBlogDelete->getId()}">{$oBlogDelete->getTitle()}</option>
{/foreach}
{/if}
</select>
<input type="submit" value="{$aLang.blog_delete}" />
</form>
{else}
<a href="{router page='blog'}delete/{$oBlog->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.blog_delete}" onclick="return confirm('{$aLang.blog_admin_delete_confirm}');" >{$aLang.blog_delete}</a>
{/if}
</li>
{/if}
</ul>
<p>{$oBlog->getDescription()|nl2br}</p>
<strong>{$aLang.blog_user_administrators} ({$iCountBlogAdministrators}):</strong>
<a href="{$oUserOwner->getUserWebPath()}" class="user">{$oUserOwner->getLogin()}</a>
{if $aBlogAdministrators}
{foreach from=$aBlogAdministrators item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
{/foreach}
{/if}<br />
<strong>{$aLang.blog_user_moderators} ({$iCountBlogModerators}):</strong>
{if $aBlogModerators}
{foreach from=$aBlogModerators item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
{/foreach}
{else}
{$aLang.blog_user_moderators_empty}
{/if}<br />
<strong>{$aLang.blog_user_readers} ({$iCountBlogUsers}):</strong>
{if $aBlogUsers}
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
{/foreach}
{if count($aBlogUsers)<$iCountBlogUsers}
<br/><a href="{$oBlog->getUrlFull()}users/">{$aLang.blog_user_readers_all}</a>
{/if}
{else}
{$aLang.blog_user_readers_empty}
{/if}
</div>
{if $bCloseBlog}
{$aLang.blog_close_show}
{else}
{include file='topic_list.tpl'}
{/if}
{include file='footer.tpl'}

View file

@ -1,4 +0,0 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,38 +0,0 @@
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON(
$('blog_admin_user_add'),
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': true
}
);
});
</script>
{/literal}
<div class="block">
<form onsubmit="addBlogInvite({$oBlogEdit->getId()}); return false;">
<p><label for="blog_admin_user_add">{$aLang.blog_admin_user_add_label}</label><br />
<input type="text" id="blog_admin_user_add" name="add" value="" class="input-200" /></p>
</form>
<h2>{$aLang.blog_admin_user_invited}</h2>
<div class="block-content" id="invited_list_block">
{if $aBlogUsersInvited}
<ul class="list" id="invited_list">
{foreach from=$aBlogUsersInvited item=oBlogUser}
{assign var='oUser' value=$oBlogUser->getUser()}
<li><a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> - <a href="#" class="local" onclick="return reBlogInvite({$oUser->getId()},{$oBlogEdit->getId()});">{$aLang.blog_user_invite_readd}</a></li>
{/foreach}
</ul>
{/if}
</div>
</div>

View file

@ -1,17 +0,0 @@
{include file='header.tpl' menu='blog'}
{include file='topic.tpl'}
{include
file='comment_tree.tpl'
iTargetId=$oTopic->getId()
sTargetType='topic'
iCountComment=$oTopic->getCountComment()
sDateReadLast=$oTopic->getDateRead()
bAllowNewComment=$oTopic->getForbidComment()
sNoticeNotAllow=$aLang.topic_comment_notallow
sNoticeCommentAdd=$aLang.topic_comment_add
aPagingCmt=$aPagingCmt}
{include file='footer.tpl'}

View file

@ -1,37 +0,0 @@
{include file='header.tpl'}
<h1>{$aLang.blog_user_readers_all} ({$iCountBlogUsers}): <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()}</a></h1>
<div class="page people">
{if $aBlogUsers}
<table class="table">
<thead>
<tr>
<td>{$aLang.user}</td>
<td align="center" width="60">{$aLang.user_skill}</td>
<td align="center" width="60">{$aLang.user_rating}</td>
</tr>
</thead>
<tbody>
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td align="center">{$oUser->getSkill()}</td>
<td align="center"><strong>{$oUser->getRating()}</strong></td>
</tr>
{/foreach}
</tbody>
</table>
<br/>
{include file='paging.tpl' aPaging=$aPaging}
{else}
{$aLang.blog_user_readers_empty}
{/if}
</div>
{include file='footer.tpl'}

View file

@ -1,7 +0,0 @@
{include file='header.tpl' sMenuHeadItemSelect="blogs"}
<h2>{$aLang.blogs}</h2>
{include file='blog_list.tpl'}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,7 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.comments_all}</h2>
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,13 +0,0 @@
{assign var="noSidebar" value=true}
{include file='header.tpl' noShowSystemMessage=true}
{if $aMsgError[0].title}
<h2>{$aLang.error}: {$aMsgError[0].title}</h2>
{/if}
<p>{$aMsgError[0].msg}</p>
<p><a href="javascript:history.go(-1);">{$aLang.site_history_back}</a>, <a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a></p>
{include file='footer.tpl'}

View file

@ -1,4 +0,0 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,81 +0,0 @@
{include file='header.tpl' menu='topic_action'}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': true // Tag support, by default comma separated
});
});
</script>
{/literal}
<div class="topic" style="display: none;">
<div class="content" id="text_preview"></div>
</div>
{if $sEvent=='add'}
<h2>{$aLang.topic_link_create}</h2>
{else}
<h2>{$aLang.topic_link_edit}</h2>
{/if}
{hook run='add_topic_link_begin'}
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_topic_link_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-200">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script language="JavaScript" type="text/javascript">
ajaxBlogInfo($('blog_id').value);
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label><br />
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_title_notice}</span></p>
<p><label for="topic_link_url">{$aLang.topic_link_create_url}:</label><br />
<input type="text" id="topic_link_url" name="topic_link_url" value="{$_aRequest.topic_link_url}" class="input-wide" /><br />
<span class="note">{$aLang.topic_link_create_url_notice}</span></p>
<p><label for="topic_text">{$aLang.topic_link_create_text}:</label><br />
<textarea name="topic_text" id="topic_text" rows="20" class="input-wide">{$_aRequest.topic_text}</textarea></p>
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label><br />
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
{if $oUserCurrent->isAdministrator()}
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label><br />
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
{hook run='form_add_topic_link_end'}
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',true); return false;" />&nbsp;
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
</form>
{hook run='add_topic_link_end'}
{include file='footer.tpl'}

View file

@ -1,6 +0,0 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<h2>{$aLang.user_exit_notice}</h2>
{include file='footer.tpl'}

View file

@ -1,41 +0,0 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<div class="center">
{if $bLoginError}
<p class="system-messages-error">{$aLang.user_login_bad}</p>
{/if}
<form action="{router page='login'}" method="POST">
<h2>{$aLang.user_authorization}</h2>
{hook run='form_login_begin'}
<p><a href="{router page='registration'}">{$aLang.user_registration}</a><br />
<a href="{router page='login'}reminder/">{$aLang.user_password_reminder}</a></p>
<p><label>{$aLang.user_login}<br /><input type="text" name="login" class="input-200" /></label></p>
<p><label>{$aLang.user_password}<br /><input type="password" name="password" class="input-200" /></label></p>
<p><label><input type="checkbox" name="remember" checked class="checkbox" />{$aLang.user_login_remember}</label></p>
{hook run='form_login_end'}
<input type="submit" name="submit_login" value="{$aLang.user_login_submit}" />
</form>
{if $oConfig->GetValue('general.reg.invite')}
<br /><br />
<form action="{router page='registration'}invite/" method="POST">
<h2>{$aLang.registration_invite}</h2>
<p><label>{$aLang.registration_invite_code}<br />
<input type="text" name="invite_code" /></label></p>
<input type="submit" name="submit_invite" value="{$aLang.registration_invite_check}" />
</form>
{/if}
</div>
{include file='footer.tpl'}

View file

@ -1,17 +0,0 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<div class="center">
<form action="{router page='login'}reminder/" method="POST">
<h2>{$aLang.password_reminder}</h2>
<p><label for="mail">{$aLang.password_reminder_email}<br />
<input type="text" name="mail" id="name" class="input-200" /></label></p>
<input type="submit" name="submit_reminder" value="{$aLang.password_reminder_submit}" />
</form>
</div>
{include file='footer.tpl'}

View file

@ -1,6 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.password_reminder}</h2>
{$aLang.password_reminder_send_password}
{include file='footer.tpl'}

View file

@ -1,6 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.password_reminder}</h2>
{$aLang.password_reminder_send_link}
{include file='footer.tpl'}

View file

@ -1,4 +0,0 @@
{include file='header.tpl' menu="profile"}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,3 +0,0 @@
{include file='header.tpl' menu="profile"}
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,4 +0,0 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,37 +0,0 @@
{include file='header.tpl' menu='people'}
<h2>{$aLang.user_list}: {$oCity->getName()|escape:'html'}</h2>
{if $aUsersCity}
<table class="table">
<thead>
<tr>
<td>{$aLang.user}</td>
<td align="center" width="160">{$aLang.user_date_last}</td>
<td align="center" width="160">{$aLang.user_date_registration}</td>
<td align="center" width="60">{$aLang.user_skill}</td>
<td align="center" width="60">{$aLang.user_rating}</td>
</tr>
</thead>
<tbody>
{foreach from=$aUsersCity item=oUser}
{assign var="oSession" value=$oUser->getSession()}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td align="center">{if $oSession}{date_format date=$oSession->getDateLast()}{/if}</td>
<td align="center">{date_format date=$oUser->getDateRegister()}</td>
<td align="center">{$oUser->getSkill()}</td>
<td align="center"><strong>{$oUser->getRating()}</strong></td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{$aLang.user_empty}
{/if}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,37 +0,0 @@
{include file='header.tpl' menu='people'}
<h2>{$aLang.user_list}: {$oCountry->getName()|escape:'html'}</h2>
{if $aUsersCountry}
<table class="table">
<thead>
<tr>
<td >{$aLang.user}</td>
<td>{$aLang.user_date_last}</td>
<td>{$aLang.user_date_registration}</td>
<td>{$aLang.user_skill}</td>
<td>{$aLang.user_rating}</td>
</tr>
</thead>
<tbody>
{foreach from=$aUsersCountry item=oUser}
{assign var="oSession" value=$oUser->getSession()}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td>{if $oSession}{date_format date=$oSession->getDateLast()}{/if}</td>
<td>{date_format date=$oUser->getDateRegister()}</td>
<td>{$oUser->getSkill()}</td>
<td><strong>{$oUser->getRating()}</strong></td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{$aLang.user_empty}
{/if}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,37 +0,0 @@
{include file='header.tpl' menu='people'}
<h2>{$aLang.user_list}: {$aStat.count_all}</h2>
<ul class="switcher">
<li {if $sEvent=='good'}class="active"{/if}><a href="{router page='people'}good/">{$aLang.user_good}</a></li>
<li {if $sEvent=='bad'}class="active"{/if}><a href="{router page='people'}bad/">{$aLang.user_bad}</a></li>
</ul>
{if $aUsersRating}
<table class="table">
<thead>
<tr>
<td>{$aLang.user}</td>
<td align="center" width="80">{$aLang.user_skill}</td>
<td align="center" width="80">{$aLang.user_rating}</td>
</tr>
</thead>
<tbody>
{foreach from=$aUsersRating item=oUser}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td align="center">{$oUser->getSkill()}</td>
<td align="center"><strong>{$oUser->getRating()}</strong></td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{$aLang.user_empty}
{/if}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,34 +0,0 @@
{include file='header.tpl' menu='people'}
<h2>{$aLang.user_list_new}</h2>
{if $aUsersRegister}
<table class="table">
<thead>
<tr>
<td>{$aLang.user}</td>
<td align="center" width="170">{$aLang.user_date_registration}</td>
<td align="center" width="80">{$aLang.user_skill}</td>
<td align="center" width="80">{$aLang.user_rating}</td>
</tr>
</thead>
<tbody>
{foreach from=$aUsersRegister item=oUser}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td align="center">{date_format date=$oUser->getDateRegister()}</td>
<td align="center">{$oUser->getSkill()}</td>
<td align="center"><strong>{$oUser->getRating()}</strong></td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{$aLang.user_empty}
{/if}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,35 +0,0 @@
{include file='header.tpl' menu='people'}
<h2>{$aLang.user_list_online_last}</h2>
{if $aUsersLast}
<table class="table">
<thead>
<tr>
<td>{$aLang.user}</td>
<td align="center" width="170">{$aLang.user_date_last}</td>
<td align="center" width="80">{$aLang.user_skill}</td>
<td align="center" width="80">{$aLang.user_rating}</td>
</tr>
</thead>
<tbody>
{foreach from=$aUsersLast item=oUser}
{assign var="oSession" value=$oUser->getSession()}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td align="center">{date_format date=$oSession->getDateLast()}</td>
<td align="center">{$oUser->getSkill()}</td>
<td align="center"><strong>{$oUser->getRating()}</strong></td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{$aLang.user_empty}
{/if}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,20 +0,0 @@
<div class="block">
<h2>{$aLang.user_stats}</h2>
<ul>
<li>{$aLang.user_stats_all}: <strong>{$aStat.count_all}</strong></li>
<li>{$aLang.user_stats_active}: <strong>{$aStat.count_active}</strong></li>
<li>{$aLang.user_stats_noactive}: <strong>{$aStat.count_inactive}</strong></li>
</ul>
<br />
<ul>
<li>{$aLang.user_stats_sex_man}: <strong>{$aStat.count_sex_man}</strong></li>
<li>{$aLang.user_stats_sex_woman}: <strong>{$aStat.count_sex_woman}</strong></li>
<li>{$aLang.user_stats_sex_other}: <strong>{$aStat.count_sex_other}</strong></li>
</ul>
</div>
{insert name="block" block='tagsCountry'}
{insert name="block" block='tagsCity'}

View file

@ -1,4 +0,0 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,213 +0,0 @@
{include file='header.tpl' menu='topic_action' showWhiteBack=true}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': true // Tag support, by default comma separated
});
});
</script>
{/literal}
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
<script type="text/javascript">
{literal}
tinyMCE.init({
mode : "specific_textareas",
editor_selector : "mceEditor",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
inline_styles:false,
formats : {
underline : {inline : 'u', exact : true},
strikethrough : {inline : 's', exact : true}
},
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
pagebreak_separator :"<cut>",
media_strict : false,
language : TINYMCE_LANG
});
{/literal}
</script>
{else}
{include file='window_load_img.tpl' sToLoad='topic_text'}
{/if}
<script type="text/javascript">
if (Browser.Plugins.Flash.version) {
initSwfUpload({
post_params: { 'topic_id': {json var=$_aRequest.topic_id} },
events: {
UploadProgress: swfHandlerUploadProgress,
FileDialogComplete: swfHandlerFileDialogComplete,
UploadSuccess: swfHandlerUploadSuccess,
UploadComplete: swfHandlerUploadComplete
}
});
}
</script>
<div class="topic" style="display: none;">
<div class="content" id="text_preview"></div>
</div>
<div class="profile-user">
{if $sEvent=='add'}
<h1>{$aLang.topic_photoset_create}</h1>
{else}
<h1>{$aLang.topic_photoset_edit}</h1>
{/if}
<form id="photoset-upload-form" method="POST" enctype="multipart/form-data" onsubmit="return false;">
<p id="topic-photo-upload-input" class="topic-photo-upload-input">
<label for="">{$aLang.topic_photoset_choose_image}:</label><br />
<input type="file" id="photoset-upload-file" name="Filedata" /><br><br>
<button onclick="photosetUploadPhoto();">{$aLang.topic_photoset_upload_choose}</button>
<button onclick="photosetCloseForm();">{$aLang.topic_photoset_upload_close}</button>
<input type="hidden" name="is_iframe" value="true" />
<input type="hidden" name="topic_id" value="{$_aRequest.topic_id}" />
</p>
</form>
{hook run='add_topic_photoset_begin'}
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_topic_photoset_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-300">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script language="JavaScript" type="text/javascript">
ajaxBlogInfo($('blog_id').value);
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label><br />
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_title_notice}</span>
</p>
<p>
<label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form">
{hook run='form_add_topic_panel_begin'}
<select onchange="lsPanel.putTagAround('topic_text',this.value); this.selectedIndex=0; return false;">
<option value="">{$aLang.panel_title}</option>
<option value="h4">{$aLang.panel_title_h4}</option>
<option value="h5">{$aLang.panel_title_h5}</option>
<option value="h6">{$aLang.panel_title_h6}</option>
</select>
<select onchange="lsPanel.putList('topic_text',this); return false;">
<option value="">{$aLang.panel_list}</option>
<option value="ul">{$aLang.panel_list_ul}</option>
<option value="ol">{$aLang.panel_list_ol}</option>
</select>
<a href="#" onclick="lsPanel.putTagAround('topic_text','b'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/bold.png" title="{$aLang.panel_b}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','i'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/italic.png" title="{$aLang.panel_i}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','u'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/underline.png" title="{$aLang.panel_u}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','s'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.png" title="{$aLang.panel_s}"></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('topic_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.png" title="{$aLang.panel_url}"></a>
<a href="#" onclick="lsPanel.putTagUser('topic_text','{$aLang.panel_user_promt}'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/user.png" title="{$aLang.panel_user}" /></a>
<a href="#" onclick="lsPanel.putQuote('topic_text'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/quote.png" title="{$aLang.panel_quote}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','code'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/code.png" title="{$aLang.panel_code}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/video.png" title="{$aLang.panel_video}"></a>
<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/img.png" title="{$aLang.panel_image}"></a>
<a href="#" onclick="lsPanel.putText('topic_text','<cut>'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/cut.png" title="{$aLang.panel_cut}"></a>
{hook run='form_add_topic_panel_end'}
</div>
{/if}
<textarea name="topic_text" class="input-wide" id="topic_text" rows="20">{$_aRequest.topic_text}</textarea></p>
<!-- Topic Photo Add -->
<div class="topic-photo-upload">
<h2>{$aLang.topic_photoset_upload_title}</h2>
<div class="topic-photo-upload-rules">
{$aLang.topic_photoset_upload_rules|ls_lang:"SIZE%%`$oConfig->get('module.topic.photoset.photo_max_size')`":"COUNT%%`$oConfig->get('module.topic.photoset.count_photos_max')`"}
</div>
<input type="hidden" name="topic_main_photo" id="topic_main_photo" value="{$_aRequest.topic_main_photo}" />
<ul id="swfu_images">
{if count($aPhotos)}
{foreach from=$aPhotos item=oPhoto}
{if $_aRequest.topic_main_photo && $_aRequest.topic_main_photo == $oPhoto->getId()}
{assign var=bIsMainPhoto value=true}
{/if}
<li id="photo_{$oPhoto->getId()}" {if $bIsMainPhoto}class="marked-as-preview"{/if}>
<img src="{$oPhoto->getWebPath('100crop')}" alt="image" />
<textarea onBlur="topicImageSetDescription({$oPhoto->getId()}, this.value)">{$oPhoto->getDescription()}</textarea><br />
<a href="javascript:deleteTopicImage({$oPhoto->getId()})" class="image-delete">{$aLang.topic_photoset_photo_delete}</a>
<span class="photo-preview-state">
{if $bIsMainPhoto}
{$aLang.topic_photoset_is_preview}
{else}
<a href="javascript:setTopicMainPhoto({$oPhoto->getId()})" class="mark-as-preview">{$aLang.topic_photoset_mark_as_preview}</a>
{/if}
</span>
</li>
{assign var=bIsMainPhoto value=false}
{/foreach}
{/if}
</ul>
<a href="javascript:photosetShowUploadForm()" id="photoset-start-upload">{$aLang.topic_photoset_upload_choose}</a>
</div>
<!-- /Topic Photo Add -->
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
<p><label for="topic_forbid_comment"><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if}/>
&mdash; {$aLang.topic_create_forbid_comment}</label><br />
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
{if $oUserCurrent->isAdministrator()}
<p><label for="topic_publish_index"><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if}/>
&mdash; {$aLang.topic_create_publish_index}</label><br />
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
{hook run='form_add_topic_photoset_end'}
<p class="buttons">
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" class="right" />
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />&nbsp;
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
</p>
</form>
{hook run='add_topic_photoset_end'}
</div>
{include file='footer.tpl'}

View file

@ -1,3 +0,0 @@
{include file='header.tpl' menu="profile"}
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,4 +0,0 @@
{include file='header.tpl' menu="profile"}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,29 +0,0 @@
{if $oUserFriend and ($oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_OFFER or $oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_ACCEPT)}
<li class="del"><a href="#" title="{$aLang.user_friend_del}" onclick="ajaxDeleteUserFriend(this,{$oUserProfile->getId()},'del'); return false;">{$aLang.user_friend_del}</a></li>
{elseif $oUserFriend and $oUserFriend->getStatusTo()==$USER_FRIEND_REJECT and $oUserFriend->getStatusFrom()==$USER_FRIEND_OFFER and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
<li class="add">
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'accept'); return false;">{$aLang.user_friend_add}</a>
</li>
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_REJECT and $oUserFriend->getUserTo()!=$oUserCurrent->getId()}
<li class="del">{$aLang.user_friend_offer_reject}</li>
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserFrom()==$oUserCurrent->getId()}
<li class="add">{$aLang.user_friend_offer_send}</li>
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
<li class="add">
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'accept'); return false;">{$aLang.user_friend_add}</a>
</li>
{elseif !$oUserFriend}
<li class="add">
<a href="#" title="{$aLang.user_friend_add}" onclick="toogleFriendForm(this); return false;">{$aLang.user_friend_add}</a>
<form id="add_friend_form" onsubmit="ajaxAddUserFriend(this,{$oUserProfile->getId()},'add'); return false;" style="display:none;">
<label for="add_friend_text">{$aLang.user_friend_add_text_label}</label>
<textarea id="add_friend_text"></textarea>
<input type="submit" value="{$aLang.user_friend_add_submit}" />
<input type="submit" value="{$aLang.user_friend_add_cansel}" onclick="toogleFriendForm(this); return false;" />
</form>
</li>
{else}
<li class="add">
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'link'); return false;">{$aLang.user_friend_add}</a>
</li>
{/if}

View file

@ -1,30 +0,0 @@
{if $oUserProfile}
{if $oUserCurrent && $oUserCurrent->getId()!=$oUserProfile->getId()}
<div class="block">
<ul>
{include file='actions/ActionProfile/friend_item.tpl' oUserFriend=$oUserProfile->getUserFriend()}
<li><a href="{router page='talk'}add/?talk_users={$oUserProfile->getLogin()}">{$aLang.user_write_prvmsg}</a></li>
</ul>
</div>
{/if}
<div class="block">
{if $oUserProfile->getProfileIcq()}
<h2>{$aLang.profile_social_contacts}</h2>
<ul>
{if $oUserProfile->getProfileIcq()}
<li>ICQ: <a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
{/if}
</ul>
{/if}
<br />
{if $oUserProfile->getProfileFoto()}
<img src="{$oUserProfile->getProfileFoto()}" alt="photo" />
{/if}
</div>
{/if}

View file

@ -1,195 +0,0 @@
{include file='header.tpl' menu="profile"}
{assign var="oSession" value=$oUserProfile->getSession()}
{assign var="oVote" value=$oUserProfile->getVote()}
<div class="user-profile">
<p class="strength">
{$aLang.user_skill}: <strong class="total" id="user_skill_{$oUserProfile->getId()}">{$oUserProfile->getSkill()}</strong>
</p>
<div class="voting {if $oUserProfile->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oUserProfile->getId()==$oUserCurrent->getId()}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
<a href="#" class="plus" onclick="lsVote.vote({$oUserProfile->getId()},this,1,'user'); return false;"></a>
<div class="total" title="{$aLang.user_vote_count}: {$oUserProfile->getCountVote()}">{if $oUserProfile->getRating()>0}+{/if}{$oUserProfile->getRating()}</div>
<a href="#" class="minus" onclick="lsVote.vote({$oUserProfile->getId()},this,-1,'user'); return false;"></a>
</div>
<img src="{$oUserProfile->getProfileAvatarPath(100)}" alt="avatar" class="avatar" />
<h3>{$oUserProfile->getLogin()}</h3>
{if $oUserProfile->getProfileName()}
{$oUserProfile->getProfileName()|escape:'html'}
{/if}
</div>
{if $oUserProfile->getProfileSex()!='other' || $oUserProfile->getProfileBirthday() || ($oUserProfile->getProfileCountry() || $oUserProfile->getProfileRegion() || $oUserProfile->getProfileCity()) || $oUserProfile->getProfileAbout() || $oUserProfile->getProfileSite()|| count($aUserFields)}
<h2>{$aLang.profile_privat}</h2>
<table class="table">
{if $oUserProfile->getProfileSex()!='other'}
<tr>
<td>{$aLang.profile_sex}:</td>
<td>
{if $oUserProfile->getProfileSex()=='man'}
{$aLang.profile_sex_man}
{else}
{$aLang.profile_sex_woman}
{/if}
</td>
</tr>
{/if}
{if $oUserProfile->getProfileBirthday()}
<tr>
<td>{$aLang.profile_birthday}:</td>
<td>{date_format date=$oUserProfile->getProfileBirthday() format="j F Y"}</td>
</tr>
{/if}
{if ($oUserProfile->getProfileCountry()|| $oUserProfile->getProfileRegion() || $oUserProfile->getProfileCity())}
<tr>
<td>{$aLang.profile_place}:</td>
<td>
{if $oUserProfile->getProfileCountry()}
<a href="{router page='people'}country/{$oUserProfile->getProfileCountry()|escape:'html'}/">{$oUserProfile->getProfileCountry()|escape:'html'}</a>{if $oUserProfile->getProfileCity()},{/if}
{/if}
{if $oUserProfile->getProfileCity()}
<a href="{router page='people'}city/{$oUserProfile->getProfileCity()|escape:'html'}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
{/if}
</td>
</tr>
{/if}
{if $oUserProfile->getProfileAbout()}
<tr>
<td>{$aLang.profile_about}:</td>
<td>{$oUserProfile->getProfileAbout()|escape:'html'}</td>
</tr>
{/if}
{if $oUserProfile->getProfileSite()}
<tr>
<td>{$aLang.profile_site}:</td>
<td>
<a href="{$oUserProfile->getProfileSite(true)|escape:'html'}" rel="nofollow">
{if $oUserProfile->getProfileSiteName()}
{$oUserProfile->getProfileSiteName()|escape:'html'}
{else}
{$oUserProfile->getProfileSite()|escape:'html'}
{/if}
</a>
</td>
</tr>
{/if}
{if count($aUserFields)}
{foreach from=$aUserFields item=oField}
<tr>
<td class="var">{$oField->getTitle()|escape:'html'}:</td>
<td>{$oField->getValue(true,true)}</td>
</tr>
{/foreach}
{/if}
{hook run='profile_whois_privat_item' oUserProfile=$oUserProfile}
</table>
{/if}
{hook run='profile_whois_item' oUserProfile=$oUserProfile}
<h2>{$aLang.profile_activity}</h2>
<table class="table">
{if $aUsersFriend}
<tr>
<td>{$aLang.profile_friends}:</td>
<td>
{foreach from=$aUsersFriend item=oUser}
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
{/foreach}
</td>
</tr>
{/if}
{if $oConfig->GetValue('general.reg.invite') and $oUserInviteFrom}
<tr>
<td>{$aLang.profile_invite_from}:</td>
<td>
<a href="{$oUserInviteFrom->getUserWebPath()}">{$oUserInviteFrom->getLogin()}</a>&nbsp;
</td>
</tr>
{/if}
{if $oConfig->GetValue('general.reg.invite') and $aUsersInvite}
<tr>
<td>{$aLang.profile_invite_to}:</td>
<td>
{foreach from=$aUsersInvite item=oUserInvite}
<a href="{$oUserInvite->getUserWebPath()}">{$oUserInvite->getLogin()}</a>&nbsp;
{/foreach}
</td>
</tr>
{/if}
{if $aBlogsOwner}
<tr>
<td>{$aLang.profile_blogs_self}:</td>
<td>
{foreach from=$aBlogsOwner item=oBlog name=blog_owner}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_owner.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogAdministrators}
<tr>
<td>{$aLang.profile_blogs_administration}:</td>
<td>
{foreach from=$aBlogAdministrators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogModerators}
<tr>
<td>{$aLang.profile_blogs_moderation}:</td>
<td>
{foreach from=$aBlogModerators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogUsers}
<tr>
<td>{$aLang.profile_blogs_join}:</td>
<td>
{foreach from=$aBlogUsers item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{hook run='profile_whois_activity_item' oUserProfile=$oUserProfile}
<tr>
<td>{$aLang.profile_date_registration}:</td>
<td>{date_format date=$oUserProfile->getDateRegister()}</td>
</tr>
{if $oSession}
<tr>
<td>{$aLang.profile_date_last}:</td>
<td>{date_format date=$oSession->getDateLast()}</td>
</tr>
{/if}
</table>
{include file='footer.tpl'}

View file

@ -1,107 +0,0 @@
{include file='header.tpl' menu='topic_action'}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': true // Tag support, by default comma separated
});
});
</script>
{/literal}
<div class="topic" style="display: none;">
<div class="content" id="text_preview"></div>
</div>
{if $sEvent=='add'}
<h2>{$aLang.topic_question_create}</h2>
{else}
<h2>{$aLang.topic_question_edit}</h2>
{/if}
{hook run='add_topic_question_begin'}
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_topic_question_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-wide">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script language="JavaScript" type="text/javascript">
ajaxBlogInfo($('blog_id').value);
</script>
<p><label for="topic_title">{$aLang.topic_question_create_title}:</label><br />
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" {if $bEditDisabled}disabled{/if} /><br />
<span class="note">{$aLang.topic_question_create_title_notice}</span></p>
{$aLang.topic_question_create_answers}:
<ul class="question-list">
{if count($_aRequest.answer)>=2}
{foreach from=$_aRequest.answer item=sAnswer}
<li>
<input type="text" value="{$sAnswer}" name="answer[]" class="input-200" {if $bEditDisabled}disabled{/if} />
<input type="button" name="drop_answer" value=" - " onClick="dropField(this);" {if $bEditDisabled}disabled{/if}>
<input type="button" value=" + " onClick="addField(this);" {if $bEditDisabled}disabled{/if}>
</li>
{/foreach}
{else}
<li>
<input type="text" value="" name="answer[]" class="input-200" {if $bEditDisabled}disabled{/if} />
<input type="button" name="drop_answer" value=" - " onClick="dropField(this);" {if $bEditDisabled}disabled{/if}>
<input type="button" value=" + " onClick="addField(this);" {if $bEditDisabled}disabled{/if}>
</li>
<li>
<input type="text" value="" name="answer[]" class="input-200" {if $bEditDisabled}disabled{/if} />
<input type="button" name="drop_answer" value=" - " onClick="dropField(this);" {if $bEditDisabled}disabled{/if}>
<input type="button" value=" + " onClick="addField(this);" {if $bEditDisabled}disabled{/if}>
</li>
{/if}
</ul>
{if !$bEditDisabled}
{literal}<script>checkFieldForLast();</script>{/literal}
{/if}
<p><label for="topic_text">{$aLang.topic_question_create_text}:</label><br />
<textarea name="topic_text" id="topic_text" rows="20" class="input-wide">{$_aRequest.topic_text}</textarea></p>
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label><br />
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
{if $oUserCurrent->isAdministrator()}
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label><br />
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
{hook run='form_add_topic_question_end'}
<p class="buttons">
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',true); return false;" />
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
</p>
</form>
{hook run='add_topic_question_end'}
{include file='footer.tpl'}

View file

@ -1,8 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.registration_activate_ok}</h2>
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
{include file='footer.tpl'}

View file

@ -1,10 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.registration_confirm_header}</h2>
{$aLang.registration_confirm_text}<br /><br />
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
{include file='footer.tpl'}

View file

@ -1,38 +0,0 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<div class="center">
<form action="{router page='registration'}" method="POST">
<h2>{$aLang.registration}</h2>
{hook run='form_registration_begin'}
<p><label>{$aLang.registration_login}<br />
<input type="text" name="login" value="{$_aRequest.login}" class="input-wide" /><br />
<span class="note">{$aLang.registration_login_notice}</span></label></p>
<p><label>{$aLang.registration_mail}<br />
<input type="text" name="mail" value="{$_aRequest.mail}" class="input-wide" /><br />
<span class="note">{$aLang.registration_mail_notice}</span></label></p>
<p><label>{$aLang.registration_password}<br />
<input type="password" name="password" value="" class="input-wide" /><br />
<span class="note">{$aLang.registration_password_notice}</span></label></p>
<p><label>{$aLang.registration_password_retry}<br />
<input type="password" value="" id="repass" name="password_confirm" class="input-wide" /></label></p>
{$aLang.registration_captcha}<br />
<img src="{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" onclick="this.src='{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random();" />
<p><input type="text" name="captcha" value="" maxlength="3" class="input-100" /></p>
{hook run='form_registration_end'}
<input type="submit" name="submit_register" value="{$aLang.registration_submit}" />
</form>
</div>
{include file='footer.tpl'}

View file

@ -1,17 +0,0 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<div class="center">
<form action="{router page='registration'}invite/" method="POST">
<h2>{$aLang.registration_invite}</h2>
<p><label>{$aLang.registration_invite_code}<br />
<input type="text" name="invite_code" class="input-200" /></label></p>
<input type="submit" name="submit_invite" value="{$aLang.registration_invite_check}" />
</form>
</div>
{include file='footer.tpl'}

View file

@ -1,8 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.registration_ok}</h2>
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
{include file='footer.tpl'}

View file

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>{$aChannel.title}</title>
<link>{$aChannel.link}</link>
<atom:link href="{$PATH_WEB_CURRENT}/" rel="self" type="application/rss+xml" />
<description><![CDATA[{$aChannel.description}]]></description>
<language>{$aChannel.language}</language>
<managingEditor>{$aChannel.managingEditor} ({cfg name='path.root.web'})</managingEditor>
<webMaster>{$aChannel.managingEditor} ({cfg name='path.root.web'})</webMaster>
<copyright>{cfg name='path.root.web'}</copyright>
<generator>{$aChannel.generator}</generator>
{foreach from=$aItems item=oItem}
<item>
<title>{$oItem.title|escape:'html'}</title>
<guid isPermaLink="true">{$oItem.guid}</guid>
<link>{$oItem.link}</link>
<dc:creator>{$oItem.author}</dc:creator>
<description><![CDATA[{$oItem.description}]]></description>
<pubDate>{date_format date=$oItem.pubDate format="r"}</pubDate>
<category>{$oItem.category|replace:',':'</category>
<category>'}</category>
</item>
{/foreach}
</channel>
</rss>

View file

@ -1,11 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.search}</h2>
<form action="{router page='search'}topics/" method="GET">
<input type="text" value="" name="q" />
<input type="submit" value="{$aLang.search_submit}" />
</form>
{include file='footer.tpl'}

View file

@ -1,18 +0,0 @@
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>{cfg name='view.name'}</ShortName>
<Description>{$sHtmlTitle}</Description>
<Contact>{$sAdminMail}</Contact>
<Url type="text/html" template="{router page='search'}topics/?q={literal}{searchTerms}{/literal}" />
<LongName>{$sHtmlDescription}</LongName>
<Image height="64" width="64" type="image/png">{cfg name='path.static.skin'}/images/logo.png</Image>
<Image height="16" width="16" type="image/vnd.microsoft.icon">{cfg name='path.static.skin'}/images/favicon.ico</Image>
<Developer>{cfg name='view.name'} ({cfg name='path.root.web'})</Developer>
<Attribution>
© «{cfg name='view.name'}»
</Attribution>
<SyndicationRight>open</SyndicationRight>
<AdultContent>false</AdultContent>
<Language>ru-ru</Language>
<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>
</OpenSearchDescription>

View file

@ -1,32 +0,0 @@
{include file='header.tpl'}
<h2>{$aLang.search_results}: {$aReq.q|escape:'html'}</h2>
<ul class="switcher">
{foreach from=$aRes.aCounts item=iCount key=sType name="sTypes"}
<li {if $aReq.sType == $sType}class="active"{/if}>
<a href="{router page='search'}{$sType}/?q={$aReq.q|escape:'html'}">
{$iCount}
{if $sType=="topics"}
{$aLang.search_results_count_topics}
{elseif $sType=="comments"}
{$aLang.search_results_count_comments}
{/if}
</a>
</li>
{/foreach}
</ul>
{if $bIsResults}
{if $aReq.sType == 'topics'}
{include file='topic_list.tpl'}
{elseif $aReq.sType == 'comments'}
{include file='comment_list.tpl'}
{/if}
{else}
{$aLang.search_results_empty}
{/if}
{include file='footer.tpl'}

View file

@ -1,22 +0,0 @@
{include file='header.tpl' menu='settings'}
<h2>{$aLang.settings_invite}</h2>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p>
{$aLang.settings_invite_available}: <strong>{if $oUserCurrent->isAdministrator()}{$aLang.settings_invite_many}{else}{$iCountInviteAvailable}{/if}</strong><br />
{$aLang.settings_invite_used}: <strong>{$iCountInviteUsed}</strong>
</p>
<p><label for="invite_mail">{$aLang.settings_invite_mail}:</label><br />
<input type="text" name="invite_mail" id="invite_mail" class="input-200" /><br />
<span class="note">{$aLang.settings_invite_mail_notice}</span></p>
<input type="submit" value="{$aLang.settings_invite_submit}" name="submit_invite" />
</form>
{include file='footer.tpl'}

View file

@ -1,122 +0,0 @@
{include file='header.tpl' menu='settings'}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
var inputCity = $('profile_city');
new Autocompleter.Request.LS.JSON(inputCity, aRouter['ajax']+'autocompleter/city/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': false // Tag support, by default comma separated
});
var inputCountry = $('profile_country');
new Autocompleter.Request.LS.JSON(inputCountry, aRouter['ajax']+'autocompleter/country/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': false // Tag support, by default comma separated
});
});
</script>
{/literal}
<h2>{$aLang.settings_profile_edit}</h2>
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_settings_profile_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p>
<label for="profile_name">{$aLang.settings_profile_name}:</label><br />
<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="input-200" /><br />
<span class="note">{$aLang.settings_profile_name_notice}</span>
</p>
<p>
<label for="mail">{$aLang.settings_profile_mail}:</label><br />
<input type="text" name="mail" id="mail" value="{$oUserCurrent->getMail()|escape:'html'}" class="input-200" /><br />
<span class="note">{$aLang.settings_profile_mail_notice}</span>
</p>
<p>
{$aLang.settings_profile_sex}:<br />
<label><input type="radio" name="profile_sex" id="profile_sex_m" value="man" {if $oUserCurrent->getProfileSex()=='man'}checked{/if} class="checkbox" />{$aLang.settings_profile_sex_man}</label><br />
<label><input type="radio" name="profile_sex" id="profile_sex_w" value="woman" {if $oUserCurrent->getProfileSex()=='woman'}checked{/if} class="checkbox" />{$aLang.settings_profile_sex_woman}</label><br />
<label><input type="radio" name="profile_sex" id="profile_sex_o" value="other" {if $oUserCurrent->getProfileSex()=='other'}checked{/if} class="checkbox" />{$aLang.settings_profile_sex_other}</label>
</p>
<p>
<label for="">{$aLang.settings_profile_birthday}:</label><br />
<select name="profile_birthday_day">
<option value="">{$aLang.date_day}</option>
{section name=date_day start=1 loop=32 step=1}
<option value="{$smarty.section.date_day.index}" {if $smarty.section.date_day.index==$oUserCurrent->getProfileBirthday()|date_format:"%d"}selected{/if}>{$smarty.section.date_day.index}</option>
{/section}
</select>
<select name="profile_birthday_month">
<option value="">{$aLang.date_month}</option>
{section name=date_month start=1 loop=13 step=1}
<option value="{$smarty.section.date_month.index}" {if $smarty.section.date_month.index==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.month_array[$smarty.section.date_month.index][0]}</option>
{/section}
</select>
<select name="profile_birthday_year">
<option value="">{$aLang.date_year}</option>
{section name=date_year start=1940 loop=2000 step=1}
<option value="{$smarty.section.date_year.index}" {if $smarty.section.date_year.index==$oUserCurrent->getProfileBirthday()|date_format:"%Y"}selected{/if}>{$smarty.section.date_year.index}</option>
{/section}
</select>
</p>
<p>
<label for="profile_country">{$aLang.settings_profile_country}:</label><br /><input type="text" id="profile_country" name="profile_country" value="{$oUserCurrent->getProfileCountry()|escape:'html'}" /><br />
<label for="profile_city">{$aLang.settings_profile_city}:</label><br /><input type="text" id="profile_city" name="profile_city" value="{$oUserCurrent->getProfileCity()|escape:'html'}" /><br />
</p>
<p><label for="profile_icq">{$aLang.settings_profile_icq}:</label><br /><input type="text" name="profile_icq" id="profile_icq" value="{$oUserCurrent->getProfileIcq()|escape:'html'}"/></p>
<p>
<label for="profile_site">{$aLang.settings_profile_site}:</label><br />
<label for="profile_site"><input type="text" style="margin-bottom: 5px;" id="profile_site" name="profile_site" value="{$oUserCurrent->getProfileSite()|escape:'html'}" /> &mdash; {$aLang.settings_profile_site_url}</label><br />
<label for="profile_site_name"><input type="text" id="profile_site_name" name="profile_site_name" value="{$oUserCurrent->getProfileSiteName()|escape:'html'}" /> &mdash; {$aLang.settings_profile_site_name}</label>
</p>
{if count($aUserFields)}
{foreach from=$aUserFields item=oField}
<p><label for="profile_user_field_{$oField->getId()}">{$oField->getTitle()|escape:'html'}:</label><br /><input type="text" class="w300" name="profile_user_field_{$oField->getId()}" id="profile_user_field_{$oField->getId()}" value="{$oField->getValue()|escape:'html'}"/></p>
{/foreach}
{/if}
<p>
<label for="profile_about">{$aLang.settings_profile_about}:</label><br />
<textarea class="input-300" name="profile_about" id="profile_about">{$oUserCurrent->getProfileAbout()|escape:'html'}</textarea>
</p>
<p>
<label for="password_now">{$aLang.settings_profile_password_current}:</label><br /><input type="password" name="password_now" id="password_now" value="" /><br />
<label for="password">{$aLang.settings_profile_password_new}:</label><br /><input type="password" id="password" name="password" value="" /><br />
<label for="password_confirm">{$aLang.settings_profile_password_confirm}:</label><br /><input type="password" id="password_confirm" name="password_confirm" value="" />
</p>
{if $oUserCurrent->getProfileAvatar()}
<img src="{$oUserCurrent->getProfileAvatarPath(100)}" />
<img src="{$oUserCurrent->getProfileAvatarPath(64)}" />
<img src="{$oUserCurrent->getProfileAvatarPath(24)}" /><br />
<input type="checkbox" id="avatar_delete" name="avatar_delete" value="on" class="checkbox" /><label for="avatar_delete">{$aLang.settings_profile_avatar_delete}</label><br /><br />
{/if}
<p><label for="avatar">{$aLang.settings_profile_avatar}:</label><br /><input type="file" id="avatar" name="avatar"/></p>
{if $oUserCurrent->getProfileFoto()}
<img src="{$oUserCurrent->getProfileFoto()}" /><br />
<input type="checkbox" id="foto_delete" name="foto_delete" value="on" class="checkbox" /><label for="foto_delete">{$aLang.settings_profile_foto_delete}</label><br /><br />
{/if}
<p><label for="foto">{$aLang.settings_profile_foto}:</label><br /><input type="file" id="foto" name="foto" /></p>
{hook run='form_settings_profile_end'}
<p><input type="submit" value="{$aLang.settings_profile_submit}" name="submit_profile_edit" /></p>
</form>
{include file='footer.tpl'}

View file

@ -1,27 +0,0 @@
{include file='header.tpl' menu='settings'}
<h2>{$aLang.settings_tuning}</h2>
<strong>{$aLang.settings_tuning_notice}</strong>
<form action="{router page='settings'}tuning/" method="POST" enctype="multipart/form-data">
{hook run='form_settings_tuning_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p>
<label><input {if $oUserCurrent->getSettingsNoticeNewTopic()}checked{/if} type="checkbox" id="settings_notice_new_topic" name="settings_notice_new_topic" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_topic}</label><br />
<label><input {if $oUserCurrent->getSettingsNoticeNewComment()}checked{/if} type="checkbox" id="settings_notice_new_comment" name="settings_notice_new_comment" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_comment}</label><br />
<label><input {if $oUserCurrent->getSettingsNoticeNewTalk()}checked{/if} type="checkbox" id="settings_notice_new_talk" name="settings_notice_new_talk" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_talk}</label><br />
<label><input {if $oUserCurrent->getSettingsNoticeReplyComment()}checked{/if} type="checkbox" id="settings_notice_reply_comment" name="settings_notice_reply_comment" value="1" class="checkbox" />{$aLang.settings_tuning_notice_reply_comment}</label><br />
<label><input {if $oUserCurrent->getSettingsNoticeNewFriend()}checked{/if} type="checkbox" id="settings_notice_new_friend" name="settings_notice_new_friend" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_friend}</label>
</p>
{hook run='form_settings_tuning_end'}
<input type="submit" name="submit_settings_tuning" value="{$aLang.settings_tuning_submit}" />
</form>
{include file='footer.tpl'}

View file

@ -1,34 +0,0 @@
{if count($aStreamEvents)}
{foreach from=$aStreamEvents item=oStreamEvent}
{assign var=oTarget value=$oStreamEvent->getTarget()}
<li class="stream-item-type-{$oStreamEvent->getEventType()}">
<a href="{$oStreamEvent->getUser()->getUserWebPath()}"><img src="{$oStreamEvent->getUser()->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
<span class="date" title="{date_format date=$oStreamEvent->getDateAdded()}">{date_format date=$oStreamEvent->getDateAdded() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</span>
<a href="{$oStreamEvent->getUser()->getUserWebPath()}"><strong>{$oStreamEvent->getUser()->getLogin()}</strong></a>
{if $oStreamEvent->getEventType() == 'add_topic'}
{$aLang.stream_list_event_add_topic} <a href="{$oTarget->getUrl()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'add_comment'}
{$aLang.stream_list_event_add_comment} <a href="{$oTarget->getTarget()->getUrl()}#comment{$oTarget->getId()}">{$oTarget->getTarget()->getTitle()|escape:'html'}</a>
<div class="stream-comment-preview">{$oTarget->getText()|strip_tags|truncate:200}</div>
{elseif $oStreamEvent->getEventType() == 'add_blog'}
{$aLang.stream_list_event_add_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_blog'}
{$aLang.stream_list_event_vote_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_topic'}
{$aLang.stream_list_event_vote_topic} <a href="{$oTarget->getUrl()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_comment'}
{$aLang.stream_list_event_vote_comment} <a href="{$oTarget->getTarget()->getUrl()}#comment{$oTarget->getId()}">{$oTarget->getTarget()->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_user'}
{$aLang.stream_list_event_vote_user} <a href="{$oTarget->getUserWebPath()}">{$oTarget->getLogin()}</a>
{elseif $oStreamEvent->getEventType() == 'join_blog'}
{$aLang.stream_list_event_join_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'add_friend'}
{$aLang.stream_list_event_add_friend} <a href="{$oTarget->getUserWebPath()}">{$oTarget->getLogin()}</a>
{else}
{hook run="stream_list_event_`$oStreamEvent->getEventType()`" oStreamEvent=$oStreamEvent}
{/if}
</li>
{/foreach}
{/if}

View file

@ -1,20 +0,0 @@
{include file='header.tpl'}
<h2 class="stream-header">{$aLang.stream_personal_title}</h2>
{if count($aStreamEvents)}
<ul class="stream-list" id="stream-list">
{include file='actions/ActionStream/events.tpl'}
</ul>
{if !$bDisableGetMoreButton}
<input type="hidden" id="stream_last_id" value="{$iStreamLastId}" />
<a class="stream-get-more" id="stream_get_more" href="javascript:lsStream.getMore()">{$aLang.stream_get_more} &darr;</a>
{/if}
{else}
{$aLang.stream_no_events}
{/if}
{include file='footer.tpl'}

View file

@ -1,20 +0,0 @@
{include file='header.tpl' menu="blog"}
{literal}
<script>
function submitTags(sTag) {
window.location=aRouter['tag']+encodeURIComponent(sTag)+'/';
return false;
}
</script>
{/literal}
<form action="" method="GET" onsubmit="return submitTags(this.tag.value);">
<input type="text" name="tag" value="{$sTag|escape:'html'}" />
</form>
<br />
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,109 +0,0 @@
{include file='header.tpl'}
{include file='menu.talk.tpl'}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON($('talk_users'), aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 1, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': true // Tag support, by default comma separated
});
});
</script>
{/literal}
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
{literal}
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
language : TINYMCE_LANG,
inline_styles:false,
formats : {
underline : {inline : 'u', exact : true},
strikethrough : {inline : 's', exact : true}
},
});
</script>
{/literal}
{else}
{include file='window_load_img.tpl' sToLoad='talk_text'}
{/if}
<div class="topic" style="display: none;">
<div class="content" id="text_preview"></div>
</div>
<div class="topic">
<h2>{$aLang.talk_create}</h2>
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_talk_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="talk_users">{$aLang.talk_create_users}:</label><br />
<input type="text" class="input-wide" id="talk_users" name="talk_users" value="{$_aRequest.talk_users}" /></p>
<p><label for="talk_title">{$aLang.talk_create_title}:</label><br />
<input type="text" class="input-wide" id="talk_title" name="talk_title" value="{$_aRequest.talk_title}" /></p>
<p><div class="note"></div><label for="talk_text">{$aLang.talk_create_text}:</label>
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form">
<select onchange="lsPanel.putTagAround('talk_text',this.value); this.selectedIndex=0; return false;">
<option value="">{$aLang.panel_title}</option>
<option value="h4">{$aLang.panel_title_h4}</option>
<option value="h5">{$aLang.panel_title_h5}</option>
<option value="h6">{$aLang.panel_title_h6}</option>
</select>
<select onchange="lsPanel.putList('talk_text',this); return false;">
<option value="">{$aLang.panel_list}</option>
<option value="ul">{$aLang.panel_list_ul}</option>
<option value="ol">{$aLang.panel_list_ol}</option>
</select>
<a href="#" onclick="lsPanel.putTagAround('talk_text','b'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/bold.png" title="{$aLang.panel_b}" /></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','i'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/italic.png" title="{$aLang.panel_i}" /></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','u'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/underline.png" title="{$aLang.panel_u}" /></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','s'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.png" title="{$aLang.panel_s}" /></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('talk_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.png" title="{$aLang.panel_url}" /></a>
<a href="#" onclick="lsPanel.putQuote('talk_text'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/quote.png" title="{$aLang.panel_quote}" /></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','code'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/code.png" title="{$aLang.panel_code}" /></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','video'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/video.png" title="{$aLang.panel_video}" /></a>
<a href="#" onclick="showImgUploadForm(); return false;"><img src="{cfg name='path.static.skin'}/images/panel/img.png" title="{$aLang.panel_image}" /></a>
</div>
{/if}
<textarea name="talk_text" id="talk_text" rows="12" class="input-wide">{$_aRequest.talk_text}</textarea></p>
{hook run='form_add_talk_end'}
<p><input type="submit" value="{$aLang.talk_create_submit}" name="submit_talk_add" />
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('talk_text',false); return false;" />
</p>
</form>
</div>
{include file='footer.tpl'}

View file

@ -1,149 +0,0 @@
<div class="block">
<h2>{$aLang.talk_blacklist_title}</h2>
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON(
$('talk_blacklist_add'),
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': true
}
);
});
function deleteFromBlackList(element) {
element.getParent('li').fade(0.7);
idTarget = element.get('id').replace('blacklist_item_','');
new Request.JSON({
url: aRouter['talk']+'ajaxdeletefromblacklist/',
noCache: true,
data: { idTarget: idTarget, security_ls_key: LIVESTREET_SECURITY_KEY },
onSuccess: function(result){
if (!result) {
msgErrorBox.alert('Error','Please try again later');
element.getParent().fade(1);
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
element.getParent().fade(1);
} else {
element.getParent('li').destroy();
if($('blackList').getElements('li').length==0) {
$('blackList').destroy();
$('list_uncheck_all').setProperty('style','display:none');
}
}
},
onFailure: function(){
msgErrorBox.alert('Error','Please try again later');
}
}).send();
return true;
}
function addListItem(sId,sLogin) {
if($('blackListBlock').getElements('li').length==0) {
$('list_uncheck_all').removeProperty('style');
list=new Element('ul', {'class':'list',id:'blackList'});
$('blackListBlock').adopt(list);
}
oSpan=new Element('a',
{
'href' : '#',
'class' : 'user',
'text' : sLogin
}
);
oLink=new Element('a',
{
'id' : 'blacklist_item_'+sId,
'href' : "#",
'class' : 'delete',
'text' : lsLang.get('delete'),
'events': {
'click': function() {
deleteFromBlackList(this);
return false;
}
}
}
);
oItem=new Element('li');
$('blackList').adopt(oItem.adopt(oSpan).appendText(' - ').adopt(oLink));
}
function addToBlackList() {
sUsers=$('talk_blacklist_add').get('value');
if(sUsers.length<2) {
msgErrorBox.alert('Error','Пользователь не указан');
return false;
}
$('talk_blacklist_add').set('value','');
new Request.JSON({
url: aRouter['talk']+'ajaxaddtoblacklist/',
noCache: true,
data: { users: sUsers, security_ls_key: LIVESTREET_SECURITY_KEY },
onSuccess: function(result){
if (!result) {
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
var aUsers = result.aUsers;
aUsers.each(function(item,index) {
if(item.bStateError){
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
} else {
addListItem(item.sUserId,item.sUserLogin);
}
});
}
},
onFailure: function(){
msgErrorBox.alert('Error','Please try again later');
}
}).send();
return false;
}
</script>
{/literal}
<form onsubmit="addToBlackList(); return false;">
<p><label for="talk_blacklist_add">{$aLang.talk_balcklist_add_label}:</label><br />
<input type="text" id="talk_blacklist_add" name="add" value="" class="input-wide" /></p>
</form>
<div class="block-content" id="blackListBlock">
{if $aUsersBlacklist}
{literal}
<script>
window.addEvent('domready', function() {
$('list_uncheck_all').addEvents({
'click': function(){
$('blackList').getElements('a').each(function(item,index){
deleteFromBlackList(item);
});
return false;
}
});
});
</script>
{/literal}
<ul class="list" id="blackList">
{foreach from=$aUsersBlacklist item=oUser}
<li><a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> - <a href="#" id="blacklist_item_{$oUser->getId()}" onclick="deleteFromBlackList(this); return false;" class="delete">{$aLang.blog_delete}</a></li>
{/foreach}
</ul>
{/if}
</div>
<div class="bottom"><a href="#" id="list_uncheck_all" {if !$aUsersBlacklist}style="display:none;"{/if}>{$aLang.talk_balcklist_delete_all}</a></div>
</div>

View file

@ -1,56 +0,0 @@
{include file='header.tpl'}
{include file='menu.talk.tpl'}
<h2>{$aLang.talk_favourite_inbox}</h2>
{if $aTalks}
<table class="table">
<thead>
<tr>
<td width="150">{$aLang.talk_inbox_target}</td>
<td width="20"></td>
<td>{$aLang.talk_inbox_title}</td>
<td width="170" align="center">{$aLang.talk_inbox_date}</td>
</tr>
</thead>
<tbody>
{foreach from=$aTalks item=oTalk}
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
<tr>
<td>
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
{/if}
{/foreach}
</td>
<td align="center">
<a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;" class="favorite {if $oTalk->getIsFavourite()}active{/if}"></a>
</td>
<td>
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
<a href="{router page='talk'}read/{$oTalk->getId()}/"><strong>{$oTalk->getTitle()|escape:'html'}</strong></a>
{else}
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
{/if}
&nbsp;
{if $oTalk->getCountComment()}
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}+{$oTalkUserAuthor->getCommentCountNew()}{/if}
{/if}
</td>
<td align="center">{date_format date=$oTalk->getDate()}</td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{$aLang.talk_favourite_empty}
{/if}
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,78 +0,0 @@
<div class="block">
<h2>{$aLang.talk_filter_title}</h2>
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON(
$('talk_filter_sender'),
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': false
}
);
new vlaDatePicker(
$('talk_filter_start'),
{
separator: '.',
leadingZero: true,
twoDigitYear: false,
alignX: 'center',
alignY: 'top',
offset: { y: 3 },
filePath: DIR_WEB_ROOT+'/engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/',
prefillDate: false,
startMonday: true
}
);
new vlaDatePicker(
$('talk_filter_end'),
{
separator: '.',
leadingZero: true,
twoDigitYear: false,
alignX: 'center',
alignY: 'top',
offset: { y: 3 },
filePath: DIR_WEB_ROOT+'/engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/',
prefillDate: false,
startMonday: true
}
);
});
function eraseFilterForm() {
$$("#talk_filter_sender, #talk_filter_keyword, #talk_filter_start, #talk_filter_end").each(
function(item,index){
return item.set('value','');
}
);
return false;
}
</script>
{/literal}
<div class="block-content">
<form action="{router page='talk'}" method="GET" name="talk_filter_form">
<p><label for="talk_filter_sender">{$aLang.talk_filter_label_sender}:</label><br />
<input type="text" id="talk_filter_sender" name="sender" value="{$_aRequest.sender}" class="input-wide" /><br />
<span class="note">{$aLang.talk_filter_notice_sender}</span></p>
<p><label for="talk_filter_keyword">{$aLang.talk_filter_label_keyword}:</label><br />
<input type="text" id="talk_filter_keyword" name="keyword" value="{$_aRequest.keyword}" class="input-wide" /><br />
<span class="note">{$aLang.talk_filter_notice_keyword}</span></p>
<p><label for="talk_filter_start">{$aLang.talk_filter_label_date}:</label><br />
<input type="text" id="talk_filter_start" name="start" value="{$_aRequest.start}" style="width: 43%" readonly="readonly" /> &mdash;
<input type="text" id="talk_filter_end" name="end" value="{$_aRequest.end}" style="width: 43%" readonly="readonly" /><br />
<span class="note">{$aLang.talk_filter_notice_date}</span></p>
<input type="submit" name="submit_talk_filter" value="{$aLang.talk_filter_submit}" />
</form>
</div>
<div class="bottom"><a href="#" onclick="return eraseFilterForm();">{$aLang.talk_filter_erase_form}</a> | <a href="{router page='talk'}">{$aLang.talk_filter_erase}</a></div>
</div>

View file

@ -1,82 +0,0 @@
<div class="block">
<h2>{$aLang.block_friends}</h2>
{if $aUsersFriend}
<div class="block-content">
{literal}
<script language="JavaScript" type="text/javascript">
function friendToogle(element) {
login=element.getNext('a').get('text');
to=$('talk_users')
.getProperty('value')
.split(',')
.map(function(item,index){
return item.trim();
}).filter(function(item,index){
return item.length>0;
});
$('talk_users').setProperty(
'value',
(element.getProperty('checked'))
? to.include(login).join(',')
: to.erase(login).join(',')
);
}
window.addEvent('domready', function() {
// сканируем список друзей
var lsCheckList=$('friends')
.getElements('input[type=checkbox]')
.addEvents({
'click': function(){
return friendToogle(this);
}
});
// toogle checkbox`а при клике на ссылку-логин
$('friends').getElements('a').addEvents({
'click': function() {
checkbox=this.getPrevious('input[type=checkbox]');
checkbox.setProperty('checked',!checkbox.getProperty('checked'));
friendToogle(checkbox);
return false;
}
});
// выделить всех друзей
$('friend_check_all').addEvents({
'click': function(){
lsCheckList.each(function(item,index){
if(!item.getProperty('checked')) {
item.setProperty('checked',true);
friendToogle(item);
}
});
return false;
}
});
// снять выделение со всех друзей
$('friend_uncheck_all').addEvents({
'click': function(){
lsCheckList.each(function(item,index){
if(item.getProperty('checked')) {
item.setProperty('checked',false);
friendToogle(item);
}
});
return false;
}
});
});
</script>
{/literal}
<ul class="list" id="friends">
{foreach from=$aUsersFriend item=oFriend}
<li><label><input type="checkbox" name="friend[{$oFriend->getId()}]" class="checkbox" /><a href="#">{$oFriend->getLogin()}</a></label></li>
{/foreach}
</ul>
</div>
<div class="bottom"><a href="#" id="friend_check_all">{$aLang.block_friends_check}</a> | <a href="#" id="friend_uncheck_all">{$aLang.block_friends_uncheck}</a></div>
{else}
{$aLang.block_friends_empty}
{/if}
</div>

View file

@ -1,57 +0,0 @@
{include file='header.tpl' noShowSystemMessage=false}
{include file='menu.talk.tpl'}
<form action="{router page='talk'}" method="post" id="form_talks_list">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<table class="table">
<thead>
<tr>
<td width="20"><input type="checkbox" name="" onclick="checkAllTalk(this);"></td>
<td width="150">{$aLang.talk_inbox_target}</td>
<td width="20"></td>
<td>{$aLang.talk_inbox_title}</td>
<td width="170" align="center">{$aLang.talk_inbox_date}</td>
</tr>
</thead>
<tbody>
{foreach from=$aTalks item=oTalk}
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
<tr>
<td><input type="checkbox" name="talk_del[{$oTalk->getId()}]" class="form_talks_checkbox" /></td>
<td>
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
{/if}
{/foreach}
</td>
<td align="center">
<a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;" class="favorite {if $oTalk->getIsFavourite()}active{/if}"></a>
</td>
<td>
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
<a href="{router page='talk'}read/{$oTalk->getId()}/"><strong>{$oTalk->getTitle()|escape:'html'}</strong></a>
{else}
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
{/if}
&nbsp;
{if $oTalk->getCountComment()}
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}+{$oTalkUserAuthor->getCommentCountNew()}{/if}
{/if}
</td>
<td align="center">{date_format date=$oTalk->getDate()}</td>
</tr>
{/foreach}
</tbody>
</table>
<input type="submit" name="submit_talk_del" value="{$aLang.talk_inbox_delete}" onclick="return ($$('.form_talks_checkbox:checked').length==0)?false:confirm('{$aLang.talk_inbox_delete_confirm}');" />
</form>
{include file='paging.tpl' aPaging="$aPaging"}
{include file='footer.tpl'}

View file

@ -1,39 +0,0 @@
{include file='header.tpl'}
{include file='menu.talk.tpl'}
{assign var="oUser" value=$oTalk->getUser()}
<div class="topic">
<h2 class="title">{$oTalk->getTitle()|escape:'html'}</h2>
<ul class="actions">
<li class="delete"><a href="{router page='talk'}delete/{$oTalk->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" onclick="return confirm('{$aLang.talk_inbox_delete_confirm}');" class="delete">{$aLang.talk_inbox_delete}</a></li>
</ul>
<div class="content">
{$oTalk->getText()}
</div>
<ul class="info">
<li class="username"><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
<li class="date">{date_format date=$oTalk->getDate()}</li>
<li><a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;" class="favorite {if $oTalk->getIsFavourite()}active{/if}"></a></li>
</ul>
</div>
{assign var="oTalkUser" value=$oTalk->getTalkUser()}
{if !$bNoComments}
{include
file='comment_tree.tpl'
iTargetId=$oTalk->getId()
sTargetType='talk'
iCountComment=$oTalk->getCountComment()
sDateReadLast=$oTalkUser->getDateLast()
sNoticeCommentAdd=$aLang.topic_comment_add
bNoCommentFavourites=true}
{/if}
{include file='footer.tpl'}

View file

@ -1,132 +0,0 @@
<div class="block">
<h2>{$aLang.talk_speaker_title}</h2>
{if $oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator()}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON(
$('talk_speaker_add'),
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': true
}
);
});
function deleteFromTalk(element,idTalk) {
element.getParent('li').fade(0.7);
idTarget = element.get('id').replace('speaker_item_','');
new Request.JSON({
url: aRouter['talk']+'ajaxdeletetalkuser/',
noCache: true,
data: { idTarget:idTarget,idTalk:idTalk, security_ls_key: LIVESTREET_SECURITY_KEY },
onSuccess: function(result){
if (!result) {
msgErrorBox.alert('Error','Please try again later');
element.getParent().fade(1);
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
element.getParent().fade(1);
} else {
element.getParent('li').destroy();
}
},
onFailure: function(){
msgErrorBox.alert('Error','Please try again later');
}
}).send();
return true;
}
function addListItem(sId,sLogin,sUserLink,sTalkId) {
oUser=new Element('a',
{
'class' : 'user',
'text' : sLogin,
'href' : sUserLink
}
);
oLink=new Element('a',
{
'id' : 'speaker_item_'+sId,
'href' : "#",
'class' : 'delete',
'events': {
'click': function() {
deleteFromTalk(this,sTalkId);
return false;
}
}
}
);
oItem=new Element('li');
$('speakerList').adopt(oItem.adopt(oUser,oLink));
}
function addToTalk(idTalk) {
sUsers=$('talk_speaker_add').get('value');
if(sUsers.length<2) {
msgErrorBox.alert('Error','Пользователь не указан');
return false;
}
$('talk_speaker_add').set('value','');
new Request.JSON({
url: aRouter['talk']+'ajaxaddtalkuser/',
noCache: true,
data: { users: sUsers, idTalk: idTalk, security_ls_key: LIVESTREET_SECURITY_KEY },
onSuccess: function(result){
if (!result) {
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
var aUsers = result.aUsers;
aUsers.each(function(item,index) {
if(item.bStateError){
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
} else {
addListItem(item.sUserId,item.sUserLogin,item.sUserLink,idTalk);
}
});
}
},
onFailure: function(){
msgErrorBox.alert('Error','Please try again later');
}
}).send();
return false;
}
</script>
{/literal}
<div class="block-content">
<form onsubmit="addToTalk({$oTalk->getId()}); return false;">
<p><label for="talk_speaker_add">{$aLang.talk_speaker_add_label}:</label><br />
<input type="text" id="talk_speaker_add" name="add" value="" class="input-wide" /></p>
</form>
</div>
{/if}
<div class="block-content" id="speakerListBlock">
{if $oTalk->getTalkUsers()}
<ul class="list" id="speakerList">
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
{if $oTalkUser->getUserActive()!=$TALK_USER_DELETE_BY_AUTHOR}
<li>
<a class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}" href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a> -
{if $oTalkUser->getUserActive()==$TALK_USER_ACTIVE and ($oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator())}<a href="#" id="speaker_item_{$oTalkUser->getUserId()}" onclick="deleteFromTalk(this,{$oTalk->getId()}); return false;" class="delete">{$aLang.blog_delete}</a>{/if}
</li>
{/if}
{/if}
{/foreach}
</ul>
{/if}
</div>
</div>

View file

@ -1,6 +0,0 @@
{include file='header.tpl' menu='blog'}
<h2>{$aLang.top_blogs}</h2>
{include file='blog_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,15 +0,0 @@
{include file='header.tpl' menu="blog"}
<h2>{$aLang.top_comments}</h2>
<ul class="switcher">
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{router page='top'}comment/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{router page='top'}comment/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{router page='top'}comment/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{router page='top'}comment/all/">{$aLang.blog_menu_top_period_all}</a></li>
</ul>
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,15 +0,0 @@
{include file='header.tpl' menu="blog"}
<h2>{$aLang.top_topics}</h2>
<ul class="switcher">
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{router page='top'}topic/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{router page='top'}topic/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{router page='top'}topic/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{router page='top'}topic/all/">{$aLang.blog_menu_top_period_all}</a></li>
</ul>
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,153 +0,0 @@
{include file='header.tpl' menu='topic_action'}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': true // Tag support, by default comma separated
});
});
</script>
{/literal}
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
<script type="text/javascript">
{literal}
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
inline_styles:false,
formats : {
underline : {inline : 'u', exact : true},
strikethrough : {inline : 's', exact : true}
},
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
pagebreak_separator :"<cut>",
media_strict : false,
language : TINYMCE_LANG
});
{/literal}
</script>
{else}
{include file='window_load_img.tpl' sToLoad='topic_text'}
{/if}
<div class="topic" style="display: none;">
<div class="content" id="text_preview"></div>
</div>
<div class="profile-user">
{if $sEvent=='add'}
<h2>{$aLang.topic_topic_create}</h2>
{else}
<h2>{$aLang.topic_topic_edit}</h2>
{/if}
{hook run='add_topic_topic_begin'}
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_topic_topic_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-300">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script language="JavaScript" type="text/javascript">
ajaxBlogInfo($('blog_id').value);
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label><br />
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_title_notice}</span></p>
<label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form">
{hook run='form_add_topic_panel_begin'}
<select onchange="lsPanel.putTagAround('topic_text',this.value); this.selectedIndex=0; return false;">
<option value="">{$aLang.panel_title}</option>
<option value="h4">{$aLang.panel_title_h4}</option>
<option value="h5">{$aLang.panel_title_h5}</option>
<option value="h6">{$aLang.panel_title_h6}</option>
</select>
<select onchange="lsPanel.putList('topic_text',this); return false;">
<option value="">{$aLang.panel_list}</option>
<option value="ul">{$aLang.panel_list_ul}</option>
<option value="ol">{$aLang.panel_list_ol}</option>
</select>
<a href="#" onclick="lsPanel.putTagAround('topic_text','b'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/bold.png" title="{$aLang.panel_b}" /></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','i'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/italic.png" title="{$aLang.panel_i}" /></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','u'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/underline.png" title="{$aLang.panel_u}" /></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','s'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.png" title="{$aLang.panel_s}" /></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('topic_text','{$aLang.panel_url_promt}'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/link.png" title="{$aLang.panel_url}" /></a>
<a href="#" onclick="lsPanel.putTagUser('topic_text','{$aLang.panel_user_promt}'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/user.png" title="{$aLang.panel_user}" /></a>
<a href="#" onclick="lsPanel.putQuote('topic_text'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/quote.png" title="{$aLang.panel_quote}" /></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','code'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/code.png" title="{$aLang.panel_code}" /></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/video.png" title="{$aLang.panel_video}" /></a>
<a href="#" onclick="showImgUploadForm(); return false;"><img src="{cfg name='path.static.skin'}/images/panel/img.png" title="{$aLang.panel_image}" /></a>
<a href="#" onclick="lsPanel.putText('topic_text','<cut>'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/cut.png" title="{$aLang.panel_cut}" /></a>
{hook run='form_add_topic_panel_end'}
</div>
{/if}
<textarea name="topic_text" id="topic_text" rows="20" class="input-wide">{$_aRequest.topic_text}</textarea><br /><br />
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label><br />
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
{if $oUserCurrent->isAdministrator()}
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label><br />
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
{hook run='form_add_topic_topic_end'}
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
</form>
{hook run='add_topic_topic_end'}
</div>
{include file='footer.tpl'}

View file

@ -1,3 +0,0 @@
{include file='header.tpl' menu='topic_action'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,3 +0,0 @@
{include file='header.tpl' menu='topic_action'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -1,16 +0,0 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{if count($aTopics)}
{if !$bDisableGetMoreButton}
<div id="userfeed_loaded_topics"></div>
<input type="hidden" id="userfeed_last_id" value="{$iUserfeedLastId}" />
<a class="stream-get-more" id="userfeed_get_more" href="javascript:lsUserfeed.getMore()">{$aLang.userfeed_get_more} &darr;</a>
{/if}
{else}
<p style="margin-left:30px">{$aLang.userfeed_no_events}</p>
{/if}
{include file='footer.tpl'}

View file

@ -1,10 +0,0 @@
<div class="block">
<h2>{$aLang.block_blog_info}</h2>
<p id="block_blog_info"></p>
</div>
<div class="block">
<h2>{$aLang.block_blog_info_note}</h2>
<p>{$aLang.block_blog_info_note_text}</p>
</div>

View file

@ -1,27 +0,0 @@
<div class="block blogs">
<h2>{$aLang.block_blogs}</h2>
<ul class="switcher">
<li class="active"><a href="#" id="block_blogs_top" onclick="lsBlockBlogs.toggle(this,'blogs_top'); return false;">{$aLang.block_blogs_top}</a></li>
{if $oUserCurrent}
<li><a href="#" id="block_blogs_join" onclick="lsBlockBlogs.toggle(this,'blogs_join'); return false;">{$aLang.block_blogs_join}</a></li>
<li><a href="#" id="block_blogs_self" onclick="lsBlockBlogs.toggle(this,'blogs_self'); return false;">{$aLang.block_blogs_self}</a></li>
{/if}
</ul>
<div class="block-content">
{literal}
<script language="JavaScript" type="text/javascript">
var lsBlockBlogs;
window.addEvent('domready', function() {
lsBlockBlogs=new lsBlockLoaderClass();
});
</script>
{/literal}
{$sBlogsTop}
</div>
<div class="bottom">
<a href="{router page='blogs'}">{$aLang.block_blogs_all}</a>
</div>
</div>

View file

@ -1,9 +0,0 @@
<ul class="list">
{foreach from=$aBlogs item=oBlog}
<li>
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>
{if $oBlog->getType()=='close'}<img src="{cfg name='path.static.skin'}/images/lock.png" alt="[x]" title="{$aLang.blog_closed}" />{/if}
<span class="rating">{$oBlog->getRating()}</span>
</li>
{/foreach}
</ul>

View file

@ -1,23 +0,0 @@
<div class="block stream">
<h2>{$aLang.block_stream}</h2>
<ul class="switcher">
<li class="active"><a href="#" id="block_stream_comment" onclick="lsBlockStream.toggle(this,'comment_stream'); return false;">{$aLang.block_stream_comments}</a></li>
<li><a href="#" id="block_stream_topic" onclick="lsBlockStream.toggle(this,'topic_stream'); return false;">{$aLang.block_stream_topics}</a></li>
{hook run='block_stream_nav_item'}
</ul>
<div class="block-content">
{literal}
<script language="JavaScript" type="text/javascript">
var lsBlockStream;
window.addEvent('domready', function() {
lsBlockStream=new lsBlockLoaderClass();
});
</script>
{/literal}
{$sStreamComments}
</div>
</div>

View file

@ -1,93 +0,0 @@
{if $oUserCurrent}
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.LS.JSON($('stream_users_complete'), aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 1, // We need at least 1 character
'selectMode': 'pick', // Instant completion
'multiple': false, // Tag support, by default comma separated
});
$('stream_users_complete').addEvent('keydown', function (event) {
if (event.key == 'enter') {
lsStream.appendUser()
}
});
});
</script>
{/literal}
<div class="block stream-settings">
<h2>{$aLang.stream_block_config_title}</h2>
<p class="sp-note">{$aLang.stream_settings_note_filter}</p>
<ul class="stream-settings-filter">
{foreach from=$aStreamEventTypes key=sType item=aEventType}
{if !($oConfig->get('module.stream.disable_vote_events') && substr($sType, 0, 4) == 'vote')}
<li>
<label>
<input class="streamEventTypeCheckbox input-checkbox"
type="checkbox"
id="strn_et_{$sType}"
{if in_array($sType, $aStreamTypesList)}checked="checked"{/if}
onClick="lsStream.switchEventType('{$sType}')" />
{assign var=langKey value="stream_event_type_`$sType`"}
{$aLang.$langKey}
</label>
</li>
{/if}
{/foreach}
</ul>
<h3>{$aLang.stream_block_users_title}</h3>
<p class="sp-note">{$aLang.stream_settings_note_follow_user}</p>
<div class="stream-settings-userlist">
<p><input type="text" id="stream_users_complete" autocomplete="off" />
<a href="javascript:lsStream.appendUser()">{$aLang.stream_block_config_append}</a></p>
{if count($aStreamSubscribedUsers)}
<ul id="userfeed_block_users_list">
{foreach from=$aStreamSubscribedUsers item=oUser}
{assign var=iUserId value=$oUser->getId()}
{if !isset($aStreamFriends.$iUserId)}
<li><input class="streamUserCheckbox input-checkbox"
type="checkbox"
id="strm_u_{$iUserId}"
checked="checked"
onClick="if ($(this).get('checked')) { lsStream.subscribe({$iUserId}) } else { lsStream.unsubscribe({$iUserId}) } " />
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
{/if}
{/foreach}
</ul>
{else}
<ul id="stream_block_users_list"></ul>
<p id="stream_no_subscribed_users">{$aLang.stream_no_subscribed_users}</p>
{/if}
</div>
{if count($aStreamFriends)}
<h3>{$aLang.stream_block_users_friends}</h3>
<p class="sp-note">{$aLang.stream_settings_note_follow_friend}</p>
<ul class="stream-settings-friends">
{foreach from=$aStreamFriends item=oUser}
{assign var=iUserId value=$oUser->getId()}
<li><input class="streamUserCheckbox input-checkbox"
type="checkbox"
id="strm_u_{$iUserId}"
{if isset($aStreamSubscribedUsers.$iUserId)} checked="checked"{/if}
onClick="if ($(this).get('checked')) { lsStream.subscribe({$iUserId}) } else { lsStream.unsubscribe({$iUserId}) } " />
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
{/foreach}
</ul>
{/if}
</div>
{/if}

View file

@ -1,18 +0,0 @@
<ul class="list">
{foreach from=$aComments item=oComment name="cmt"}
{assign var="oUser" value=$oComment->getUser()}
{assign var="oTopic" value=$oComment->getTarget()}
{assign var="oBlog" value=$oTopic->getBlog()}
<li>
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> &rarr;
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a> &rarr;
<a href="{if $oConfig->GetValue('module.comment.nested_per_page')}{router page='comments'}{else}{$oTopic->getUrl()}#comment{/if}{$oComment->getId()}">{$oTopic->getTitle()|escape:'html'}</a>
{$oTopic->getCountComment()}
</li>
{/foreach}
</ul>
<div class="bottom">
<a href="{router page='comments'}">{$aLang.block_stream_comments_all}</a>
</div>

View file

@ -1,18 +0,0 @@
<ul class="list">
{foreach from=$oTopics item=oTopic name="cmt"}
{assign var="oUser" value=$oTopic->getUser()}
{assign var="oBlog" value=$oTopic->getBlog()}
<li>
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a> &rarr;
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a> &rarr;
<a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
{$oTopic->getCountComment()}
</li>
{/foreach}
</ul>
<div class="bottom">
<a href="{router page='new'}">{$aLang.block_stream_topics_all}</a>
</div>

View file

@ -1,7 +0,0 @@
<div class="block">
<ul class="cloud">
{foreach from=$aTags item=oTag}
<li><a class="w{$oTag->getSize()}" rel="tag" href="{router page='tag'}{$oTag->getText()|escape:'url'}/">{$oTag->getText()|escape:'html'}</a></li>
{/foreach}
</ul>
</div>

View file

@ -1,10 +0,0 @@
{if $aCityList && count($aCityList)>0}
<div class="block">
<h2>{$aLang.block_city_tags}</h2>
<ul class="cloud">
{foreach from=$aCityList item=aCity}
<li><a class="w{$aCity.size}" rel="tag" href="{router page='people'}city/{$aCity.name|escape:'url'}/" >{$aCity.name|escape:'html'}</a></li>
{/foreach}
</ul>
</div>
{/if}

View file

@ -1,10 +0,0 @@
{if $aCountryList && count($aCountryList)>0}
<div class="block">
<h2>{$aLang.block_country_tags}</h2>
<ul class="cloud">
{foreach from=$aCountryList item=aCountry}
<li><a class="w{$aCountry.size}" rel="tag" href="{router page='people'}country/{$aCountry.name|escape:'url'}/">{$aCountry.name|escape:'html'}</a></li>
{/foreach}
</ul>
</div>
{/if}

View file

@ -1,23 +0,0 @@
{if $oUserCurrent}
<div class="block stream-settings">
<h2>{$aLang.userfeed_block_blogs_title}</h2>
<p class="sp-note">{$aLang.userfeed_settings_note_follow_blogs}</p>
{if count($aUserfeedBlogs)}
<ul class="stream-settings-blogs">
{foreach from=$aUserfeedBlogs item=oBlog}
{assign var=iBlogId value=$oBlog->getId()}
<li><input class="userfeedBlogCheckbox input-checkbox"
type="checkbox"
{if isset($aUserfeedSubscribedBlogs.$iBlogId)} checked="checked"{/if}
onClick="if ($(this).get('checked')) { lsUserfeed.subscribe('blogs',{$iBlogId}) } else { lsUserfeed.unsubscribe('blogs',{$iBlogId}) } " />
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>
</li>
{/foreach}
</ul>
{else}
<p>{$aLang.userfeed_no_blogs}</p>
{/if}
</div>
{/if}

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