Georg Hopp 18 years ago
parent
commit
2dce460b6d
  1. 64
      js/bildertool/galleryThumbs.js
  2. 5
      js/bildertool/service.js
  3. 52
      js/bildertool/strecke.js
  4. 2
      js/bildertool/xmlify.js

64
js/bildertool/galleryThumbs.js

@ -1,3 +1,4 @@
// Daten zu einem einzelnen Teaser
function c_GalleryThumb (thu, cat, tit, tex, u) function c_GalleryThumb (thu, cat, tit, tex, u)
{ {
var thumb = thu; var thumb = thu;
@ -13,30 +14,19 @@ function c_GalleryThumb (thu, cat, tit, tex, u)
this.getUrl = function () { return url; } this.getUrl = function () { return url; }
} }
function c_GalleryThumbs (_id, data, pos, _count)
// Container fuer alle Teaser wird via ajax ueber den picToolService
// gefuellt.
function c_GalleryThumbs (_id, pos, _count)
{ {
var thumbs = new Array (); var thumbs = new Array ();
var startIdx = pos; var startIdx = pos;
var id = _id; var id = _id;
var count = _count; var count = _count;
for (var d in data)
{
var expr = /(.*) [^ ]*$/;
thumbs.push (
new c_GalleryThumb (
d.getThumbUrl (),
d.getOrdnerName (0).toUpperCase (),
d.titel,
d.ffBildzeile+' '.substr (0, 100).replace (expr, '$1...'),
d.getShowUrl ()));
}
// Dies kann warscheinlich auch raus aus c_GalleryThumbs // Dies kann warscheinlich auch raus aus c_GalleryThumbs
this.popup = function (i) this.popup = function (i)
{ {
url = document.getElementById (id+'_BG_URL1_'+i).href; url = document.getElementById (id+'_BG_URL1_'+i).href;
thumbs = eval ();
if (url.match (/javascript:ftvlaunch\(/)) if (url.match (/javascript:ftvlaunch\(/))
{ {
@ -89,6 +79,16 @@ function c_GalleryThumbs (_id, data, pos, _count)
changeDisplay (client); changeDisplay (client);
if (thumbs.length - (startIdx + count) === 4)
{
nBildertool.callback = this.callback;
var url = 'http://georgs_test/_module/bildertool/' +
'fakeFotoService.php?' +
'action=latest&cnt=3&limit=10&lfrom=' + thumbs.length +
'&omit=3,7';
nBildertool.service (url);
}
return false; return false;
} }
@ -100,4 +100,40 @@ function c_GalleryThumbs (_id, data, pos, _count)
return false; return false;
} }
this.callback = function ()
{
switch (nBildertool.req.readyState)
{
case 4:
if (nBildertool.req.status != 200)
alert ("Fehler:" + nBildertool.req.status);
else
{
var data = nBildertool.deXmlify (nBildertool.req.responseXML);
for (d in data['data'])
{
var expr = /(.*) [^ ]*$/;
thumbs.push (
new c_GalleryThumb (
data['data'][d].getThumbUrl (),
data['data'][d].getOrdnerName (0).toUpperCase (),
data['data'][d].titel,
data['data'][d].ffBildzeile+
' '.substr (0, 100).replace (expr, '$1...'),
data['data'][d].getShowUrl ()));
}
}
return true;
default:
return false;
}
}
nBildertool.callback = this.callback;
var url = 'http://georgs_test/_module/bildertool/fakeFotoService.php?' +
'action=latest&cnt=3&limit=' + (startIdx+count+5) + '&lfrom=0' +
'&omit=3,7';
nBildertool.service (url);
} }

5
js/bildertool/service.js

@ -2,6 +2,7 @@ if (typeof (nBildertool) === 'undefined')
nBildertool = {}; nBildertool = {};
nBildertool.req = null; nBildertool.req = null;
nBildertool.callback = undefined;
nBildertool.service = function (url, callback) nBildertool.service = function (url, callback)
{ {
@ -36,10 +37,10 @@ nBildertool.service = function (url, callback)
nBildertool.req.open("GET", url, true); nBildertool.req.open("GET", url, true);
// Beim abschliessen des request wird diese Funktion ausgeführt // Beim abschliessen des request wird diese Funktion ausgeführt
if (typeof (callback) === 'undefined')
if (typeof (nBildertool.callback) === 'undefined')
nBildertool.req.onreadystatechange = nBildertool.cbCommon; nBildertool.req.onreadystatechange = nBildertool.cbCommon;
else else
nBildertool.req.onreadystatechange = callback;
nBildertool.req.onreadystatechange = nBildertool.callback;
nBildertool.req.setRequestHeader("Content-Type", nBildertool.req.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded"); "application/x-www-form-urlencoded");

52
js/bildertool/strecke.js

@ -35,6 +35,24 @@ nBildertool.strecke = function (data)
this.fotoCount = null; this.fotoCount = null;
this.path = null; this.path = null;
SPECIAL_CHARS = Array (
/ /g, /ä/g, /ü/g, /ö/g, /Ä/g, /Ü/g, /Ö/g, /ß/g,
/\./g, /:/g, /\!/g, /\?/g, /\,/g,
/`/g, /"/g, /\'/g,
/é/g, /è/g, /á/g, /à/g, /ó/g,
/É/g, /Á/g, /Ó/g, /È/g, /À/g, /Ò/g,
/EUR/g, /¢/g, /\$/g,
/@/g, /%/g, /&/g, /\+/g, /§/g, /\(/g, /\)/g);
SPECIAL_CHARS_MAP = Array (
'_', 'ae', 'ue', 'oe', 'Ae', 'Ue', 'Oe', 'ss',
'', '', '', '', '',
'', '', '',
'e', 'e', 'a', 'a', 'o',
'E', 'A', 'O', 'E', 'A', 'O',
'_euro_', '_cent_', '_dollar_',
'_at_', '_prozent_', '_und_', '_und_', '_paragraph_', '', '');
function getOrdnerInfo (value, idx) function getOrdnerInfo (value, idx)
{ {
var val = value.split ('|%|'); var val = value.split ('|%|');
@ -42,35 +60,35 @@ nBildertool.strecke = function (data)
return val[idx]; return val[idx];
} }
function getOrdnerId (idx)
this.getOrdnerId = function (idx)
{ {
return getOrdnerInfo (this.ordnerId, idx); return getOrdnerInfo (this.ordnerId, idx);
} }
function getConnectionId (idx)
this.getConnectionId = function (idx)
{ {
return getOrdnerInfo (this.connectionId, idx); return getOrdnerInfo (this.connectionId, idx);
} }
function getFlags (idx)
this.getFlags = function (idx)
{ {
return getOrdnerInfo (this.flags, idx); return getOrdnerInfo (this.flags, idx);
} }
function getL0Id (idx)
this.getL0Id = function (idx)
{ {
return getOrdnerInfo (this.l0Id, idx); return getOrdnerInfo (this.l0Id, idx);
} }
function getL1Id (idx)
this.getL1Id = function (idx)
{ {
return getOrdnerInfo (this.l1Id, idx); return getOrdnerInfo (this.l1Id, idx);
} }
function getL2Id (idx)
this.getL2Id = function (idx)
{ {
return getOrdnerInfo (this.l2Id, idx); return getOrdnerInfo (this.l2Id, idx);
} }
function getL3Id (idx)
this.getL3Id = function (idx)
{ {
return getOrdnerInfo (this.l3Id, idx); return getOrdnerInfo (this.l3Id, idx);
} }
function getOrdnerName (idx)
this.getOrdnerName = function (idx)
{ {
return getOrdnerInfo (this.ordnerName, idx); return getOrdnerInfo (this.ordnerName, idx);
} }
@ -85,24 +103,34 @@ nBildertool.strecke = function (data)
return FRONT_URL + teaserPath + '.jpeg'; return FRONT_URL + teaserPath + '.jpeg';
} }
this.getPath = function ()
{
var path = this.path;
for (i in SPECIAL_CHARS)
path = path.replace (SPECIAL_CHARS[i], SPECIAL_CHARS_MAP[i]);
return path;
}
this.getThumbUrl = function () this.getThumbUrl = function ()
{ {
return FRONT_URL + this.path + 'T.jpeg';
return FRONT_URL + this.getPath () + 'T.jpeg';
} }
this.getScreenUrl = function () this.getScreenUrl = function ()
{ {
return FRONT_URL + this.path + 'S.jpeg';
return FRONT_URL + this.getPath () + 'S.jpeg';
} }
this.getDownlUrl = function () this.getDownlUrl = function ()
{ {
return FRONT_URL + this.path + '.jpeg';
return FRONT_URL + this.getPath () + '.jpeg';
} }
this.getShowUrl = function () this.getShowUrl = function ()
{ {
return FRONT_URL + this.path + '.html';
return FRONT_URL + this.getPath () + '.html';
} }
nBildertool.strecke.baseConstructor.call (this, data); nBildertool.strecke.baseConstructor.call (this, data);

2
js/bildertool/xmlify.js

@ -96,7 +96,7 @@ nBildertool.xmlToArray = function (data)
case 'array': case 'array':
ret[key] = nBildertool.xmlToArray (_child); break; ret[key] = nBildertool.xmlToArray (_child); break;
case 'class': case 'class':
var cName = child.getAttribute ('class');
var cName = _child.getAttribute ('class');
switch (cName) switch (cName)
{ {

Loading…
Cancel
Save