mirror of
https://github.com/YACReader/yacreader
synced 2025-07-22 23:15:14 -04:00
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:
@ -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
|
||||
}
|
Reference in New Issue
Block a user