a?adido comic flow con opengl a yacreaderlibrary

modificados los paginadores

soporte multidispositivo del servidor a?adido

nuevos templates de la web agregados
This commit is contained in:
Luis Ángel San Martín
2012-10-02 07:58:12 +02:00
parent 0487531bb6
commit 4e43e66df3
26 changed files with 1952 additions and 82 deletions

View File

@ -7,6 +7,8 @@
#include <QFileInfo>
#include <QDir>
#include <QDateTime>
#include "httpsession.h"
#include "static.h"
StaticFileController::StaticFileController(QSettings* settings, QObject* parent)
:HttpRequestHandler(parent)
@ -61,12 +63,14 @@ void StaticFileController::service(HttpRequest& request, HttpResponse& response)
path+="/index.html";
}
//TODO(DONE) carga sensible a la localizaci<63>n
//TODO(DONE) carga sensible al dispositivo y a la localizaci<63>n
QString stringPath = path;
QStringList paths = QString(path).split('/');
QString fileName = paths.last();
stringPath.remove(fileName);
fileName = getLocalizedFileName(fileName, request.getHeader("Accept-Language"), stringPath);
HttpSession session=Static::sessionStore->getSession(request,response);
QString device = session.getDeviceType();
fileName = getDeviceAwareFileName(fileName, device, request.getHeader("Accept-Language"), stringPath);
QString newPath = stringPath.append(fileName);
//END_TODO
QFile file(docroot+path);
@ -171,3 +175,17 @@ QString StaticFileController::getLocalizedFileName(QString fileName, QString loc
return fileName;
}
QString StaticFileController::getDeviceAwareFileName(QString fileName, QString device, QString locales, QString path) const
{
QFileInfo fi(fileName);
QString baseName = fi.baseName();
QString extension = fi.completeSuffix();
QString completeFileName = getLocalizedFileName(fileName+"_"+device+"."+extension,locales,path);
if(QFile(docroot+"/"+path+completeFileName).exists())
return completeFileName; //existe un archivo espec<65>fico para este dispositivo y locales
else
return getLocalizedFileName(fileName,locales,path); //no hay archivo espec<65>fico para el dispositivo, pero puede haberlo para estas locales
}