mirror of
https://github.com/xuthus83/pigallery2.git
synced 2025-01-14 14:43:17 +08:00
fixing sharing bugs
This commit is contained in:
parent
7896b5ae28
commit
6be0d308b7
@ -18,10 +18,12 @@ export class GalleryMWs {
|
|||||||
|
|
||||||
|
|
||||||
public static async listDirectory(req: Request, res: Response, next: NextFunction) {
|
public static async listDirectory(req: Request, res: Response, next: NextFunction) {
|
||||||
|
console.log("listDirectory");
|
||||||
let directoryName = req.params.directory || "/";
|
let directoryName = req.params.directory || "/";
|
||||||
let absoluteDirectoryName = path.join(ProjectPath.ImageFolder, directoryName);
|
let absoluteDirectoryName = path.join(ProjectPath.ImageFolder, directoryName);
|
||||||
|
|
||||||
if (!fs.statSync(absoluteDirectoryName).isDirectory()) {
|
if (!fs.statSync(absoluteDirectoryName).isDirectory()) {
|
||||||
|
console.log("not dir");
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,12 +31,15 @@ export class GalleryMWs {
|
|||||||
|
|
||||||
const directory = await ObjectManagerRepository.getInstance().GalleryManager.listDirectory(directoryName, req.query.knownLastModified, req.query.knownLastScanned);
|
const directory = await ObjectManagerRepository.getInstance().GalleryManager.listDirectory(directoryName, req.query.knownLastModified, req.query.knownLastScanned);
|
||||||
if (directory == null) {
|
if (directory == null) {
|
||||||
|
console.log("null dir");
|
||||||
req.resultPipe = new ContentWrapper(null, null, true);
|
req.resultPipe = new ContentWrapper(null, null, true);
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
|
console.log(req.session.user);
|
||||||
|
console.log(directory);
|
||||||
if (req.session.user.permissions &&
|
if (req.session.user.permissions &&
|
||||||
req.session.user.permissions.length > 0 &&
|
req.session.user.permissions.length > 0 &&
|
||||||
req.session.user.permissions[0] != "/") {
|
req.session.user.permissions[0] != "/*") {
|
||||||
(<DirectoryDTO>directory).directories = (<DirectoryDTO>directory).directories.filter(d =>
|
(<DirectoryDTO>directory).directories = (<DirectoryDTO>directory).directories.filter(d =>
|
||||||
UserDTO.isDirectoryAvailable(d, req.session.user.permissions));
|
UserDTO.isDirectoryAvailable(d, req.session.user.permissions));
|
||||||
}
|
}
|
||||||
|
@ -62,8 +62,7 @@ export class RenderingMWs {
|
|||||||
if (err instanceof ErrorDTO) {
|
if (err instanceof ErrorDTO) {
|
||||||
if (err.details) {
|
if (err.details) {
|
||||||
if (!(req.session.user && req.session.user.role >= UserRoles.Developer)) {
|
if (!(req.session.user && req.session.user.role >= UserRoles.Developer)) {
|
||||||
console.log(err);
|
Logger.warn("Handled error:", err);
|
||||||
Logger.warn("Handled error:", err.details.toString() || err.details);
|
|
||||||
delete (err.details);
|
delete (err.details);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
@ -90,15 +90,15 @@ export class AuthenticationMWs {
|
|||||||
public static authoriseDirectory(req: Request, res: Response, next: NextFunction) {
|
public static authoriseDirectory(req: Request, res: Response, next: NextFunction) {
|
||||||
if (req.session.user.permissions == null ||
|
if (req.session.user.permissions == null ||
|
||||||
req.session.user.permissions.length == 0 ||
|
req.session.user.permissions.length == 0 ||
|
||||||
req.session.user.permissions[0] == "/") {
|
req.session.user.permissions[0] == "/*") {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
|
|
||||||
const directoryName = req.params.directory || "/";
|
const directoryName = req.params.directory || "/";
|
||||||
if (UserDTO.isPathAvailable(directoryName, req.session.user.permissions) == true) {
|
if (UserDTO.isPathAvailable(directoryName, req.session.user.permissions) == true) {
|
||||||
return next();
|
return next();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return next(new ErrorDTO(ErrorCodes.PERMISSION_DENIED));
|
return next(new ErrorDTO(ErrorCodes.PERMISSION_DENIED));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,18 +130,6 @@ export class AuthenticationMWs {
|
|||||||
return next();
|
return next();
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
//if its a shared link, login as guest
|
|
||||||
/* try {
|
|
||||||
const user = Utils.clone(await AuthenticationMWs.getSharingUser(req));
|
|
||||||
if (user) {
|
|
||||||
delete (user.password);
|
|
||||||
req.session.user = user;
|
|
||||||
return next();
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
return next(new ErrorDTO(ErrorCodes.CREDENTIAL_NOT_FOUND, null, err));
|
|
||||||
}*/
|
|
||||||
|
|
||||||
return next(new ErrorDTO(ErrorCodes.CREDENTIAL_NOT_FOUND));
|
return next(new ErrorDTO(ErrorCodes.CREDENTIAL_NOT_FOUND));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +155,7 @@ export class AuthenticationMWs {
|
|||||||
});
|
});
|
||||||
if (!sharing || sharing.expires < Date.now() ||
|
if (!sharing || sharing.expires < Date.now() ||
|
||||||
(Config.Client.Sharing.passwordProtected === true
|
(Config.Client.Sharing.passwordProtected === true
|
||||||
&& sharing.password && !PasswordHelper.comparePassword(password, sharing.password))) {
|
&& sharing.password && !PasswordHelper.comparePassword(password, sharing.password))) {
|
||||||
return next(new ErrorDTO(ErrorCodes.CREDENTIAL_NOT_FOUND));
|
return next(new ErrorDTO(ErrorCodes.CREDENTIAL_NOT_FOUND));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,8 +44,7 @@ export class SharingManager implements ISharingManager {
|
|||||||
if (sharing.timeStamp < Date.now() - Config.Server.sharing.updateTimeout) {
|
if (sharing.timeStamp < Date.now() - Config.Server.sharing.updateTimeout) {
|
||||||
throw "Sharing is locked, can't update anymore"
|
throw "Sharing is locked, can't update anymore"
|
||||||
}
|
}
|
||||||
|
sharing.password = PasswordHelper.cryptPassword(inSharing.password);
|
||||||
sharing.password = inSharing.password;
|
|
||||||
sharing.includeSubfolders = inSharing.includeSubfolders;
|
sharing.includeSubfolders = inSharing.includeSubfolders;
|
||||||
sharing.expires = inSharing.expires;
|
sharing.expires = inSharing.expires;
|
||||||
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
export var MessageTypes = {
|
|
||||||
Client: {
|
|
||||||
Login: {
|
|
||||||
Authenticate: "Authenticate"
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
Server: {
|
|
||||||
Login: {
|
|
||||||
Authenticated: "Authenticated"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
@ -1,6 +1,7 @@
|
|||||||
import {DirectoryDTO} from "./DirectoryDTO";
|
import {DirectoryDTO} from "./DirectoryDTO";
|
||||||
import {Utils} from "../Utils";
|
import {Utils} from "../Utils";
|
||||||
export enum UserRoles{
|
|
||||||
|
export enum UserRoles {
|
||||||
LimitedGuest = 0,
|
LimitedGuest = 0,
|
||||||
Guest = 1,
|
Guest = 1,
|
||||||
User = 2,
|
User = 2,
|
||||||
@ -20,7 +21,7 @@ export interface UserDTO {
|
|||||||
export module UserDTO {
|
export module UserDTO {
|
||||||
|
|
||||||
export const isPathAvailable = (path: string, permissions: string[]): boolean => {
|
export const isPathAvailable = (path: string, permissions: string[]): boolean => {
|
||||||
if (permissions == null || permissions.length == 0 || permissions[0] == "/") {
|
if (permissions == null || permissions.length == 0 || permissions[0] == "/*") {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
for (let i = 0; i < permissions.length; i++) {
|
for (let i = 0; i < permissions.length; i++) {
|
||||||
@ -28,19 +29,20 @@ export module UserDTO {
|
|||||||
if (permission[permission.length - 1] == "*") {
|
if (permission[permission.length - 1] == "*") {
|
||||||
permission = permission.slice(0, -1);
|
permission = permission.slice(0, -1);
|
||||||
if (path.startsWith(permission)) {
|
if (path.startsWith(permission)) {
|
||||||
return true
|
return true;
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (path == permission) {
|
|
||||||
return true
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} else if (path == permission) {
|
||||||
|
return true;
|
||||||
|
} else if (path == "." && permission == "/") {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const isDirectoryAvailable = (direcotry: DirectoryDTO, permissions: string[]): boolean => {
|
export const isDirectoryAvailable = (directory: DirectoryDTO, permissions: string[]): boolean => {
|
||||||
return isPathAvailable(Utils.concatUrls(direcotry.path, direcotry.name), permissions);
|
|
||||||
|
return isPathAvailable(Utils.concatUrls(directory.path, directory.name), permissions);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-3">
|
||||||
<label class="control-label" i18n>Sharing:</label>
|
<label class="control-label" i18n>Sharing:</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-9">
|
||||||
<input disabled type="text"
|
<input disabled type="text"
|
||||||
class="full-width form-control"
|
class="full-width form-control"
|
||||||
[ngModel]="currentDir">
|
[ngModel]="currentDir">
|
||||||
@ -48,7 +48,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-3">
|
||||||
<label class="control-label" i18n>Include subfolders:</label>
|
<label class="control-label" i18n>Include subfolders:</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
@ -62,23 +62,25 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-3">
|
||||||
<label class="control-label">
|
<label class="control-label">
|
||||||
<ng-container i18n>Password</ng-container>
|
<ng-container i18n>Password</ng-container>
|
||||||
:</label>
|
:
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-6">
|
||||||
<input id="password"
|
<input id="password"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
type="password"
|
type="password"
|
||||||
(change)="update()"
|
(change)="update()"
|
||||||
[(ngModel)]="input.password"
|
[(ngModel)]="input.password"
|
||||||
|
i18n-placeholder
|
||||||
placeholder="Password">
|
placeholder="Password">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-3">
|
||||||
<label class="control-label" i18n>Valid:</label>
|
<label class="control-label" i18n>Valid:</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3" style="padding-right: 1px">
|
<div class="col-sm-3" style="padding-right: 1px">
|
||||||
@ -89,13 +91,13 @@
|
|||||||
<div class="col-sm-3" style="padding-left: 1px">
|
<div class="col-sm-3" style="padding-left: 1px">
|
||||||
<select class="form-control col-md-3" [(ngModel)]="input.valid.type" (change)="update()" name="validType"
|
<select class="form-control col-md-3" [(ngModel)]="input.valid.type" (change)="update()" name="validType"
|
||||||
required>
|
required>
|
||||||
<option *ngFor="let repository of validityTypes" [value]="repository.key">{{repository.value}}
|
<option value="{{ValidityTypes.Minutes}}" i18n>Minutes</option>
|
||||||
</option>
|
<option value="{{ValidityTypes.Hours}}" i18n>Hours</option>
|
||||||
|
<option value="{{ValidityTypes.Days}}" i18n>Days</option>
|
||||||
|
<option value="{{ValidityTypes.Months}}" i18n>Months</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -29,18 +29,16 @@ export class GalleryShareComponent implements OnInit, OnDestroy {
|
|||||||
},
|
},
|
||||||
password: ""
|
password: ""
|
||||||
};
|
};
|
||||||
validityTypes = [];
|
|
||||||
currentDir: string = "";
|
currentDir: string = "";
|
||||||
sharing: SharingDTO = null;
|
sharing: SharingDTO = null;
|
||||||
contentSubscription = null;
|
contentSubscription = null;
|
||||||
passwordProtection = false;
|
passwordProtection = false;
|
||||||
|
ValidityTypes: any;
|
||||||
|
|
||||||
constructor(private _sharingService: ShareService,
|
constructor(private _sharingService: ShareService,
|
||||||
public _galleryService: GalleryService,
|
public _galleryService: GalleryService,
|
||||||
private _notification: NotificationService) {
|
private _notification: NotificationService) {
|
||||||
this.validityTypes = Utils.enumToArray(ValidityTypes);
|
this.ValidityTypes = ValidityTypes;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -87,13 +85,14 @@ export class GalleryShareComponent implements OnInit, OnDestroy {
|
|||||||
async get() {
|
async get() {
|
||||||
this.url = "loading..";
|
this.url = "loading..";
|
||||||
this.sharing = await this._sharingService.createSharing(this.currentDir, this.input.includeSubfolders, this.calcValidity());
|
this.sharing = await this._sharingService.createSharing(this.currentDir, this.input.includeSubfolders, this.calcValidity());
|
||||||
console.log(this.sharing);
|
|
||||||
this.url = Config.Client.publicUrl + "/share/" + this.sharing.sharingKey
|
this.url = Config.Client.publicUrl + "/share/" + this.sharing.sharingKey
|
||||||
}
|
}
|
||||||
|
|
||||||
async showModal() {
|
async showModal() {
|
||||||
await this.get();
|
await this.get();
|
||||||
|
this.input.password = "";
|
||||||
this.childModal.show();
|
this.childModal.show();
|
||||||
|
document.body.style.paddingRight = "0px";
|
||||||
}
|
}
|
||||||
|
|
||||||
onCopy() {
|
onCopy() {
|
||||||
|
@ -39,9 +39,7 @@
|
|||||||
|
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label><input type="checkbox" name="rememberMe" [(ngModel)]="loginCredential.rememberMe" value="">
|
<label><input type="checkbox" name="rememberMe" [(ngModel)]="loginCredential.rememberMe" value="">
|
||||||
<ng-container i18n>Remember
|
<ng-container i18n>Remember me</ng-container>
|
||||||
me
|
|
||||||
</ng-container>
|
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ import {ToastsManager} from "ng2-toastr/ng2-toastr";
|
|||||||
import {NetworkService} from "./network/network.service";
|
import {NetworkService} from "./network/network.service";
|
||||||
import {AuthenticationService} from "./network/authentication.service";
|
import {AuthenticationService} from "./network/authentication.service";
|
||||||
import {NotificationDTO, NotificationType} from "../../../common/entities/NotificationDTO";
|
import {NotificationDTO, NotificationType} from "../../../common/entities/NotificationDTO";
|
||||||
import {UserDTO} from "../../../common/entities/UserDTO";
|
import {UserDTO, UserRoles} from "../../../common/entities/UserDTO";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class NotificationService {
|
export class NotificationService {
|
||||||
@ -22,7 +22,8 @@ export class NotificationService {
|
|||||||
this._authService.user.subscribe(() => {
|
this._authService.user.subscribe(() => {
|
||||||
if (this._authService.isAuthenticated() &&
|
if (this._authService.isAuthenticated() &&
|
||||||
(!this.lastUser ||
|
(!this.lastUser ||
|
||||||
this.lastUser.id != this._authService.user.value.id)) {
|
this.lastUser.id != this._authService.user.value.id) &&
|
||||||
|
this._authService.user.value.role >= UserRoles.Guest) {
|
||||||
this.getServerNotifications();
|
this.getServerNotifications();
|
||||||
}
|
}
|
||||||
this.lastUser = this._authService.user.value;
|
this.lastUser = this._authService.user.value;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body style="overflow-y: scroll">
|
<body style="overflow-y: scroll; padding-right: 0 !important;">
|
||||||
<pi-gallery2-app>Loading...</pi-gallery2-app>
|
<pi-gallery2-app>Loading...</pi-gallery2-app>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
||||||
<context context-type="linenumber">66</context>
|
<context context-type="linenumber">67</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/usermanager/usermanager.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/usermanager/usermanager.settings.component.ts</context>
|
||||||
@ -60,12 +60,11 @@
|
|||||||
</context-group>
|
</context-group>
|
||||||
<target>Jelszó</target>
|
<target>Jelszó</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="c67b8aed16c2f80bd4a8d5df636bb333feaa8c78" datatype="html">
|
<trans-unit id="3eb49d60bd859eb2d9d3a6d380cdf4e0b8252333" datatype="html">
|
||||||
<source>Remember
|
<source>Remember me</source>
|
||||||
me</source>
|
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/login/login.component.ts</context>
|
<context context-type="sourcefile">app/login/login.component.ts</context>
|
||||||
<context context-type="linenumber">41</context>
|
<context context-type="linenumber">42</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Jegyezzen meg</target>
|
<target>Jegyezzen meg</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -74,7 +73,7 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/login/login.component.ts</context>
|
<context context-type="sourcefile">app/login/login.component.ts</context>
|
||||||
<context context-type="linenumber">51</context>
|
<context context-type="linenumber">52</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Belépés</target>
|
<target>Belépés</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -109,7 +108,7 @@
|
|||||||
<source>Link availability</source>
|
<source>Link availability</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
||||||
<context context-type="linenumber">7</context>
|
<context context-type="linenumber">8</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Link érvényes</target>
|
<target>Link érvényes</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -117,7 +116,7 @@
|
|||||||
<source>days</source>
|
<source>days</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
||||||
<context context-type="linenumber">7</context>
|
<context context-type="linenumber">10</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>nap</target>
|
<target>nap</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -127,7 +126,7 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
||||||
<context context-type="linenumber">35</context>
|
<context context-type="linenumber">39</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Túl sok találat. Pontosítsd a keresést.</target>
|
<target>Túl sok találat. Pontosítsd a keresést.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -135,7 +134,7 @@
|
|||||||
<source>Searching for:</source>
|
<source>Searching for:</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
<context context-type="sourcefile">app/gallery/gallery.component.ts</context>
|
||||||
<context context-type="linenumber">40</context>
|
<context context-type="linenumber">44</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Keresés:</target>
|
<target>Keresés:</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -143,7 +142,7 @@
|
|||||||
<source>Logout</source>
|
<source>Logout</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/frame/frame.component.ts</context>
|
<context context-type="sourcefile">app/frame/frame.component.ts</context>
|
||||||
<context context-type="linenumber">44</context>
|
<context context-type="linenumber">45</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Kijelentkezés</target>
|
<target>Kijelentkezés</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -188,10 +187,42 @@
|
|||||||
<source>Valid:</source>
|
<source>Valid:</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
||||||
<context context-type="linenumber">80</context>
|
<context context-type="linenumber">82</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Érvényes:</target>
|
<target>Érvényes:</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="41e62daa962947c0d23ded0981975d1bddf0bf38" datatype="html">
|
||||||
|
<source>Minutes</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
||||||
|
<context context-type="linenumber">92</context>
|
||||||
|
</context-group>
|
||||||
|
<target>Perc</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3bbce5fef7e1151da052a4e529453edb340e3912" datatype="html">
|
||||||
|
<source>Hours</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
||||||
|
<context context-type="linenumber">93</context>
|
||||||
|
</context-group>
|
||||||
|
<target>Óra</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
|
||||||
|
<source>Days</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
||||||
|
<context context-type="linenumber">94</context>
|
||||||
|
</context-group>
|
||||||
|
<target>Nap</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="12cc9773650706e6b16eec367da84f99a1e6399c" datatype="html">
|
||||||
|
<source>Months</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">app/gallery/share/share.gallery.component.ts</context>
|
||||||
|
<context context-type="linenumber">95</context>
|
||||||
|
</context-group>
|
||||||
|
<target>Hónap</target>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="f0acecaa22df19767da6d9990458470b17da3d7a" datatype="html">
|
<trans-unit id="f0acecaa22df19767da6d9990458470b17da3d7a" datatype="html">
|
||||||
<source>Server notifications</source>
|
<source>Server notifications</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
@ -404,7 +435,7 @@
|
|||||||
<source>is need</source>
|
<source>is need</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/map/map.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/map/map.settings.component.ts</context>
|
||||||
<context context-type="linenumber">32</context>
|
<context context-type="linenumber">33</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>van szükség</target>
|
<target>van szükség</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -413,11 +444,11 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/map/map.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/map/map.settings.component.ts</context>
|
||||||
<context context-type="linenumber">40</context>
|
<context context-type="linenumber">41</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">96</context>
|
<context context-type="linenumber">98</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/search/search.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/search/search.settings.component.ts</context>
|
||||||
@ -442,11 +473,11 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/map/map.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/map/map.settings.component.ts</context>
|
||||||
<context context-type="linenumber">43</context>
|
<context context-type="linenumber">44</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">99</context>
|
<context context-type="linenumber">101</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/search/search.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/search/search.settings.component.ts</context>
|
||||||
@ -474,20 +505,22 @@
|
|||||||
</context-group>
|
</context-group>
|
||||||
<target>Thumbnail beállítások</target>
|
<target>Thumbnail beállítások</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6daacb1e448ebb5f72f1d6b1d6f9882dd3ad21f2" datatype="html">
|
<trans-unit id="1b239b0422945f36c35b5559b4b0c135922fe299" datatype="html">
|
||||||
<source>It is highly recommended to use hardware accelerated (sharp or gm) lib for thumbnail generation
|
<source>It is highly recommended to use hardware accelerated (sharp or gm) lib for thumbnail
|
||||||
|
generation
|
||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">10</context>
|
<context context-type="linenumber">10</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Nagyon ajánlott hardveresen gyorsított (sharp vagy gm) könyvtár használata a thumbnail generálásához</target>
|
<target>Nagyon ajánlott hardveres gyorsított (éles vagy gm) lib használata a miniatűrökhöz
|
||||||
|
generáció</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6f49ee2673fb82fe8dd1a7da0bada14a4156bf30" datatype="html">
|
<trans-unit id="6f49ee2673fb82fe8dd1a7da0bada14a4156bf30" datatype="html">
|
||||||
<source>Thumbnail generation library</source>
|
<source>Thumbnail generation library</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">15</context>
|
<context context-type="linenumber">16</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Thumbnail generáló könyvtár</target>
|
<target>Thumbnail generáló könyvtár</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -495,7 +528,7 @@
|
|||||||
<source>Make sure that sharp node module is installed (npm install sharp).</source>
|
<source>Make sure that sharp node module is installed (npm install sharp).</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">24</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Győződj meg arról, hogy a sharp node modul telepítve van (npm telepítés sharp).</target>
|
<target>Győződj meg arról, hogy a sharp node modul telepítve van (npm telepítés sharp).</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -503,7 +536,7 @@
|
|||||||
<source>Make sure that gm node module and</source>
|
<source>Make sure that gm node module and</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Győződjd meg arról, hogy a gm node modul és</target>
|
<target>Győződjd meg arról, hogy a gm node modul és</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -511,7 +544,7 @@
|
|||||||
<source>GraphicsMagick</source>
|
<source>GraphicsMagick</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">27</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>GraphicsMagick</target>
|
<target>GraphicsMagick</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -519,7 +552,7 @@
|
|||||||
<source>are installed (npm install sharp).</source>
|
<source>are installed (npm install sharp).</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">27</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>telepítve van (npm install éles).</target>
|
<target>telepítve van (npm install éles).</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -527,7 +560,7 @@
|
|||||||
<source>Thumbnail folder</source>
|
<source>Thumbnail folder</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">32</context>
|
<context context-type="linenumber">33</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Thumbnail mappa</target>
|
<target>Thumbnail mappa</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -535,7 +568,7 @@
|
|||||||
<source>Thumbnails will be saved in this folder. Write access is required</source>
|
<source>Thumbnails will be saved in this folder. Write access is required</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">38</context>
|
<context context-type="linenumber">39</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>A thumbnail-ek ebben a mappában lesznek elmentve. Írási jog szükséges</target>
|
<target>A thumbnail-ek ebben a mappában lesznek elmentve. Írási jog szükséges</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -543,7 +576,7 @@
|
|||||||
<source>Thumbnail Quality</source>
|
<source>Thumbnail Quality</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">43</context>
|
<context context-type="linenumber">44</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Thumbnail minőség</target>
|
<target>Thumbnail minőség</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -551,7 +584,7 @@
|
|||||||
<source>High quality may be slow. Especially with Jimp.</source>
|
<source>High quality may be slow. Especially with Jimp.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">57</context>
|
<context context-type="linenumber">58</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>A jó minőségű lassú lehet. Különösen a Jimp esetén.</target>
|
<target>A jó minőségű lassú lehet. Különösen a Jimp esetén.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -559,7 +592,7 @@
|
|||||||
<source>Icon size (used on maps)</source>
|
<source>Icon size (used on maps)</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">72</context>
|
<context context-type="linenumber">73</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Ikonméret (térképeken használva)</target>
|
<target>Ikonméret (térképeken használva)</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -567,7 +600,7 @@
|
|||||||
<source>Thumbnail sizes</source>
|
<source>Thumbnail sizes</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">78</context>
|
<context context-type="linenumber">79</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Thumbnail méretek</target>
|
<target>Thumbnail méretek</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -575,7 +608,7 @@
|
|||||||
<source>Size of the thumbnails.</source>
|
<source>Size of the thumbnails.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">85</context>
|
<context context-type="linenumber">86</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>A thumbnail mérete.</target>
|
<target>A thumbnail mérete.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -583,7 +616,7 @@
|
|||||||
<source>The best matching size will be generated. (More size gives better quality, but use storage to store and CPU to render.)</source>
|
<source>The best matching size will be generated. (More size gives better quality, but use storage to store and CPU to render.)</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">86</context>
|
<context context-type="linenumber">87</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>A legjobban egyezett méret lesz generálva. (Több méret lehetőség jobb minőségéet eredményez, de processzort és tárhelyet fogyaszt)</target>
|
<target>A legjobban egyezett méret lesz generálva. (Több méret lehetőség jobb minőségéet eredményez, de processzort és tárhelyet fogyaszt)</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -591,7 +624,7 @@
|
|||||||
<source>';' separated integers. If size is 200, tha thumbnail will have 200^2 pixels.</source>
|
<source>';' separated integers. If size is 200, tha thumbnail will have 200^2 pixels.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/thumbnail/thumbanil.settings.component.ts</context>
|
||||||
<context context-type="linenumber">87</context>
|
<context context-type="linenumber">89</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>';'-val elválasztott egész számok. Ha a méret 200, akkor a thumnail-ok 200^2 pixelből fognak állni.</target>
|
<target>';'-val elválasztott egész számok. Ha a méret 200, akkor a thumnail-ok 200^2 pixelből fognak állni.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -861,7 +894,7 @@
|
|||||||
<source>Set the reindexing sensitivity. High value check the folders for change more often</source>
|
<source>Set the reindexing sensitivity. High value check the folders for change more often</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">44</context>
|
<context context-type="linenumber">45</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Állítsa be az újraindexelés érzékenységét. A magasabb érzékenység gyarkabban ellenőrzi a mappákat válztozás</target>
|
<target>Állítsa be az újraindexelés érzékenységét. A magasabb érzékenység gyarkabban ellenőrzi a mappákat válztozás</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -870,7 +903,7 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">51</context>
|
<context context-type="linenumber">52</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Mentés</target>
|
<target>Mentés</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -879,7 +912,7 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">54</context>
|
<context context-type="linenumber">55</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Visszaállítás</target>
|
<target>Visszaállítás</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -887,7 +920,7 @@
|
|||||||
<source>If you add a new folder to your gallery, the site indexes it automatically.</source>
|
<source>If you add a new folder to your gallery, the site indexes it automatically.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">60</context>
|
<context context-type="linenumber">61</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Ha új mappát ad hozzá a galériához, a webhely automatikusan indexeli.</target>
|
<target>Ha új mappát ad hozzá a galériához, a webhely automatikusan indexeli.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -895,7 +928,7 @@
|
|||||||
<source>If you would like to trigger indexing manually, click index button.</source>
|
<source>If you would like to trigger indexing manually, click index button.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">61</context>
|
<context context-type="linenumber">62</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Ha kézzel szeretné indítani az indexelést, kattintson az index gombra.</target>
|
<target>Ha kézzel szeretné indítani az indexelést, kattintson az index gombra.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -903,7 +936,7 @@
|
|||||||
<source>Note: search ony searched among the indexed directories</source>
|
<source>Note: search ony searched among the indexed directories</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">62</context>
|
<context context-type="linenumber">65</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Megjegyzés: a keresés csak az indexelet mappákban működik</target>
|
<target>Megjegyzés: a keresés csak az indexelet mappákban működik</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -912,7 +945,7 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">84</context>
|
<context context-type="linenumber">88</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Index</target>
|
<target>Index</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -921,7 +954,7 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">89</context>
|
<context context-type="linenumber">93</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Mégse</target>
|
<target>Mégse</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -930,10 +963,10 @@
|
|||||||
</source>
|
</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
<context context-type="sourcefile">app/settings/indexing/indexing.settings.component.ts</context>
|
||||||
<context context-type="linenumber">93</context>
|
<context context-type="linenumber">97</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
<target>Indexek törlése</target>
|
<target>Indexek törlése</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
@ -17,6 +17,7 @@ gulp.task('build-backend', function () {
|
|||||||
|
|
||||||
});
|
});
|
||||||
var createFornendTask = function (tpye, script) {
|
var createFornendTask = function (tpye, script) {
|
||||||
|
//console.log(tpye, script);
|
||||||
gulp.task(tpye, function (cb) {
|
gulp.task(tpye, function (cb) {
|
||||||
exec(script, function (err, stdout, stderr) {
|
exec(script, function (err, stdout, stderr) {
|
||||||
console.log(stdout);
|
console.log(stdout);
|
||||||
@ -38,7 +39,7 @@ gulp.task('build-frontend', function (done) {
|
|||||||
createFornendTask('build-frontend-release default', "ng build --aot -prod --output-path=./release/dist --no-progress");
|
createFornendTask('build-frontend-release default', "ng build --aot -prod --output-path=./release/dist --no-progress");
|
||||||
tasks.push('build-frontend-release default');
|
tasks.push('build-frontend-release default');
|
||||||
for (var i = 0; i < files.length; i++) {
|
for (var i = 0; i < files.length; i++) {
|
||||||
createFornendTask('build-frontend-release ' + languages[i], "ng build --aot -prod --output-path=./release/dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
createFornendTask('build-frontend-release ' + languages[i], "ng build --aot -prod --output-path=./release/dist/" + languages[i] + " --no-progress --locale=" + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
||||||
tasks.push('build-frontend-release ' + languages[i]);
|
tasks.push('build-frontend-release ' + languages[i]);
|
||||||
}
|
}
|
||||||
tasks.push(function () {
|
tasks.push(function () {
|
||||||
@ -100,7 +101,7 @@ var simpleBuild = function (isProd) {
|
|||||||
createFornendTask('build-frontend default', cmd + "--output-path=./dist --no-progress");
|
createFornendTask('build-frontend default', cmd + "--output-path=./dist --no-progress");
|
||||||
tasks.push('build-frontend default');
|
tasks.push('build-frontend default');
|
||||||
for (var i = 0; i < files.length; i++) {
|
for (var i = 0; i < files.length; i++) {
|
||||||
createFornendTask('build-frontend ' + languages[i], cmd + "--output-path=./dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
createFornendTask('build-frontend ' + languages[i], cmd + "--output-path=./dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format=xlf --i18n-file=frontend/locale/" + files[i] + " --missing-translation warning");
|
||||||
tasks.push('build-frontend ' + languages[i]);
|
tasks.push('build-frontend ' + languages[i]);
|
||||||
}
|
}
|
||||||
tasks.push(function () {
|
tasks.push(function () {
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
"install": "tsc && gulp build-prod",
|
"install": "tsc && gulp build-prod",
|
||||||
"build-release": "gulp build-release",
|
"build-release": "gulp build-release",
|
||||||
"pretest": "tsc",
|
"pretest": "tsc",
|
||||||
"test": "ng test --single-run && mocha --recursive test/backend/unit && mocha --recursive test/backend/integration",
|
"test": "ng test --single-run && mocha --recursive test/backend/unit && mocha --recursive test/backend/integration && mocha --recursive test/common/unit ",
|
||||||
"start": "node ./backend/index",
|
"start": "node ./backend/index",
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"lint": "ng lint",
|
"lint": "ng lint",
|
||||||
|
1
test/common/mocha.opts
Normal file
1
test/common/mocha.opts
Normal file
@ -0,0 +1 @@
|
|||||||
|
--recursive
|
26
test/common/unit/UserDTO.ts
Normal file
26
test/common/unit/UserDTO.ts
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import {expect} from "chai";
|
||||||
|
import {UserDTO} from "../../../common/entities/UserDTO";
|
||||||
|
|
||||||
|
describe('UserDTO', () => {
|
||||||
|
|
||||||
|
|
||||||
|
it('should check available path', () => {
|
||||||
|
expect(UserDTO.isPathAvailable("/", ["/"])).to.be.equals(true);
|
||||||
|
expect(UserDTO.isPathAvailable("/", ["/subfolder", "/"])).to.be.equals(true);
|
||||||
|
expect(UserDTO.isPathAvailable("/abc", ["/subfolder", "/"])).to.be.equals(false);
|
||||||
|
expect(UserDTO.isPathAvailable("/abc", ["/subfolder", "/*"])).to.be.equals(true);
|
||||||
|
expect(UserDTO.isPathAvailable("/abc", ["/subfolder"])).to.be.equals(false);
|
||||||
|
expect(UserDTO.isPathAvailable("/abc/two", ["/subfolder"])).to.be.equals(false);
|
||||||
|
expect(UserDTO.isPathAvailable("/abc/two", ["/"])).to.be.equals(false);
|
||||||
|
expect(UserDTO.isPathAvailable("/abc/two", ["/*"])).to.be.equals(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should check directory', () => {
|
||||||
|
expect(UserDTO.isDirectoryAvailable(<any>{path: "/", name: "abc"}, ["/*"])).to.be.equals(true);
|
||||||
|
expect(UserDTO.isDirectoryAvailable(<any>{path: "/", name: "abc"}, ["/"])).to.be.equals(false);
|
||||||
|
expect(UserDTO.isDirectoryAvailable(<any>{path: ".\\", name: "."}, ["/"])).to.be.equals(true);
|
||||||
|
expect(UserDTO.isDirectoryAvailable(<any>{path: "/", name: "abc"}, ["/*", "/asdad"])).to.be.equals(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user