Aller au contenu

Indexer Automatiquement Vos Films Au Moyen De La Base De Donn


teebo

Messages recommandés

Ah, et :

3.Ajout de nouvelles fonctionnalités

Version format tablette ou smartphone! Ca, je n'ai pas du tout commencé, et ça m'intéressera (objectif à terme : s'en servir comme télécommande, équivalent Squeeze box pour ceux qui connaissent :))

Modifié par Shampra
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 658
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Bonjour,

J'essaye d'installer cette appli sur mon syno DS110J depuis quelques jours. mais je tombe toujours sur le même problème.

J'ai suivit les étapes 1 à 3 sans aucun problème. Il m'a fallut un peu de temps pour comprendre comment fonctionne Telnet (et surtout pour l'activer sous Win7), mais toutes les étapes ce sont déroulées correctement, pour autant que j'ai pus le constater.

Pour l’étape 4, j'ai un peu galéré pour trouver le ZIP avec le script, car le lien ne marchait pas. j'ai trouvé le lien suivant (/).

Question 1 : je dois copier le contenu du ZIP dans /web/video/ ou dans /web/video/lib/ ? dois je écraser les fichiers existants ?

Question 2 : a défaut d'avoir le réponse à la question 1, j'ai copié l'ensemble des fichiers dans /web/video/ et dans /web/video/lib/, mais sans ecraser les fichiers existants.

J'obtient systématiquement le message d’erreur suivant en bas de la page d'accueil du Video Station : "Warning: opendir(./video): failed to open dir: No such file or directory in /volume1/web/video/lib/functions.php on line 262 Echec ouverture repertoire./video"

A noter que j'ai bien édité en modifié le fichier config.php.

Une idée de ce qui manque ?

Merci d'avance pour toute aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour a tous et encore merci à Teebo pour ce superbe package et tous ces efforts.

Mais je suis toujours bloqué sur la page de Login.

J'ai bien relu tout ce tuto est essayé les différentes solutions proposées à savoir :

- suppression des cookies et sur les differents navigateurs que j'utilise ainsi que des essais depuis un autre pc

- suppression du package, des dossiers web/video de PMA

- modification du mot de passe admin sans caractères spéciaux

- dans PMA, suppression de toutes les bases de test et de la base "video"

- raz de l'open base dir avec la méthode depuis le dsm (cocher 'personnaliser open base dir' APPLIQUER puis décocher 'open base dir' puis APPLIQUER- c'est la bonne méthode ???????)

- vérification de mon open base dir qui contient "/etc.defaults:/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog:/var/services/homes:/volume1/video"

(avec ou sans ":/volume/video" ça ne fonctionne pas)

- essai du package sur mon autre syno à savoir un DS110+ et là ça fonctionne !!!! (forcément sur le "gros" nas à savoir le DS411J ça ne fonctionne plus - "plus "parce que j'avais testé avec succès les 1eres versions- voir mon post de la *

veille)

- tous les essais du tuto de ceux qui ont le meme pb que moi...etc....

- essais avec "root" ou "admin" en login

Et enfin, entre 2 essai de login, j’aperçois (parce que c'est très fugitif) le msg d'erreur suivant :

Warning: file_get_contents(http://IPDEMONSYNO/w...e=admin&passwd=): failed to open stream: Connection refused in /volume1/web/video/lib/functions.php on line 36

Mauvais login/password

En bref je ne sais plus quoi faire......

Si qq à d'autres idées ou suggestions...

Je précise à nouveau que je ne suis pas un expert de linux mais je sais me connecter en telnet à mon syno et y taper les commandes requises.

Merci d'avance.

Christophe

DS411J DS110+

Salut, Je ne sais pas si ton pb est toujours d'actaulité mais moi j'ai eu le problème car DSM était sur un autre port que le 5000. Lors du 1er lancement, il essaye de se connecter a DSM sur ce port, après tu peux le modifier.

Lien vers le commentaire
Partager sur d’autres sites

I don't know, whether I'm the only one with this problem, but it seems that there is a problem with the js(jquery.ui.popup.js). All the js functions don't work anymore(no popup, no mouseover effects, dropdown menu not opening).

i tried a completete reinstall of videostation but didn't help either. Do you have those problems too?

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais pas aussi.. Probablement ca: The only thing that has changed is http://code.jquery.c...uery-ui-git.js (->/*! jQuery UI - v1.9.0pre - 2012-06-15)

It is a git version, so its always up to date(also pre/beta versions). Its not recommended for production use. So I think this is the problem. But I didn't succeed to solve the problem with replacing it by older versions(1.8.x or 1.7.x). So I don't know the reason of this bug(and I don't know that much about javascript to solve the problem myself).

Modifié par garrisson
Lien vers le commentaire
Partager sur d’autres sites

Merci Kramlech,

J'ai tout viré dans le PMA, j'ai télécharge la dernière version du Package, et l'installation c'est déroulé sans problèmes.

L'indexation c'est a priori bien déroulée. Pour chaque film je vois la vignette de l'affiche.

Par contre, qu'est il supposé ce passer en cliquant sur l'affiche ?

Dans mon cas il ne se passe rien. Le même lien apparaît derrière chaque affiche "http://81.56.240.47/video/index.php?rep=.%2Fvideo%2FFilms%2FDivx#null". Mais il n'as aucun effet.

Est ce normal ?

Lien vers le commentaire
Partager sur d’autres sites

I don't know that much about js, but for those who need a very basic(!) workaround is the following a solution. It will not recover all functions, but at least the mouseover effect works again.

Remove all "_" in the jquery.ui.popup.js

Or copy this an create a new jquery.ui.popup.js:


/*

* jQuery UI Popup @VERSION

*

* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)

* Dual licensed under the MIT or GPL Version 2 licenses.

* http://jquery.org/license

*

* http://docs.jquery.com/UI/Popup

*

* Depends:

* jquery.ui.core.js

* jquery.ui.widget.js

* jquery.ui.position.js

*/

(function($) {

var idIncrement = 0,

suppressExpandOnFocus = false;

$.widget( "ui.popup", {

version: "@VERSION",

options: {

  position: {

   my: "left top",

   at: "left bottom"

  },

  managed: false,

  expandOnFocus: false,

  show: {

   effect: "slideDown",

   duration: "fast"

  },

  hide: {

   effect: "slideUp",

   duration: "fast"

  }

},

create: function() {

  if ( !this.options.trigger ) {

   this.options.trigger = this.element.prev();

  }

  if ( !this.element.attr( "id" ) ) {

   this.element.attr( "id", "ui-popup-" + idIncrement++ );

   this.generatedId = true;

  }

  if ( !this.element.attr( "role" ) ) {

   if ( !this.options.managed  ) {

	this.element.attr( "role", "dialog" );

	this.generatedRole = true;

   }

  }

  this.options.trigger

   .attr( "aria-haspopup", "true" )

   .attr( "aria-owns", this.element.attr( "id" ) );

  this.element

   .addClass( "ui-popup" );

  this.beforeClose();

  this.element.hide();

  this.bind(this.options.trigger, {

   keydown: function( event ) {

	switch ( event.keyCode ) {

	 case $.ui.keyCode.TAB:

	  // Waiting for close() will make popup hide too late, which breaks tab key behavior

	  this.element.hide();

	  this.close( event );

	  break;

	 case $.ui.keyCode.ESCAPE:

	  if ( this.isOpen ) {

	   this.close( event );

	  }

	  break;

	 case $.ui.keyCode.SPACE:

	  // prevent space-to-open to scroll the page, only happens for anchor ui.button

	  // TODO check for $.ui.button before using custom selector, once more below

	  if ( this.options.trigger.is( "a:ui-button" ) ) {

	   event.preventDefault();

	  }

	  else if (this.options.trigger.is( "a:not(:ui-button)" ) ) {

	   this.options.trigger.trigger( "click", event );

	  }

	  break;

	 case $.ui.keyCode.DOWN:

	 case $.ui.keyCode.UP:

	  // prevent scrolling

	  event.preventDefault();

	  clearTimeout( this.closeTimer );

	  this.delay(function() {

	   this.open( event );

	   this.focusPopup( event );

	  }, 1);

	  break;

	}

   },

   click: function( event ) {

	event.stopPropagation();

	event.preventDefault();

   },

   mousedown: function( event ) {

	var noFocus = true;

	/* TODO: Determine in which cases focus should stay on the trigger after the popup opens

	(should apply for any trigger that has other interaction besides opening the popup, e.g. a text field) */

	if ( $( event.target ).is( "input" ) ) {

	 noFocus = true;

	}

	if (this.isOpen) {

	 suppressExpandOnFocus = false;

	 this.close();

	 return;

	}

	this.open( event );

	clearTimeout( this.closeTimer );

	this.delay( function() {

	 if ( !noFocus ) {

	  this.focusPopup();

	 }

	}, 1 );

   }

  });

  if ( this.options.expandOnFocus ) {

   this.bind( this.options.trigger, {

	focus : function( event ) {

	 if ( !suppressExpandOnFocus ) {

	  this.delay( function() {

	   if ( !this.isOpen ) {

		this.open( event );

	   }

	  }, 1);

	 }

	 this.delay( function() {

	  suppressExpandOnFocus = false;

	 }, 100);

	},

	blur: function( event ) {

	 suppressExpandOnFocus = false;

	}

   });

  }

  if ( !this.options.managed ) {

   //default use case, wrap tab order in popup

   this.bind({ keydown : function( event ) {

	 if ( event.keyCode !== $.ui.keyCode.TAB ) {

	  return;

	 }

	 var tabbables = $( ":tabbable", this.element ),

	  first = tabbables.first(),

	  last  = tabbables.last();

	 if ( event.target === last[ 0 ] && !event.shiftKey ) {

	  first.focus( 1 );

	  event.preventDefault();

	 } else if ( event.target === first[ 0 ] && event.shiftKey ) {

	  last.focus( 1 );

	  event.preventDefault();

	 }

	}

   });

  }

  this.bind({

   focusout: function( event ) {

	// use a timer to allow click to clear it and letting that

	// handle the closing instead of opening again

	this.closeTimer = this.delay( function() {

	 this.close( event );

	}, 150);

   },

   focusin: function( event ) {

	clearTimeout( this.closeTimer );

   },

   mouseup: function( event ) {

	clearTimeout( this.closeTimer );

   }

  });

  this.bind({

   keyup: function( event ) {

	if ( event.keyCode == $.ui.keyCode.ESCAPE && this.element.is( ":visible" ) ) {

	 this.close( event );

	 this.focusTrigger();

	}

   }

  });

  this.bind( this.document, {

   click: function( event ) {

	if ( this.isOpen && !$( event.target ).closest( this.element.add( this.options.trigger ) ).length ) {

	 this.close( event );

	}

   }

  });

},

destroy: function() {

  this.element

   .show()

   .removeClass( "ui-popup" )

   .removeAttr( "aria-hidden" )

   .removeAttr( "aria-expanded" )

   .unbind( "keypress.ui-popup");

  this.options.trigger

   .removeAttr( "aria-haspopup" )

   .removeAttr( "aria-owns" );

  if ( this.generatedId ) {

   this.element.removeAttr( "id" );

  }

  if ( this.generatedRole ) {

   this.element.removeAttr( "role" );

  }

},

open: function( event ) {

  var position = $.extend( {}, {

   of: this.options.trigger

  }, this.options.position );

  this.show( this.element, this.options.show );

  this.element

   .attr( "aria-hidden", "false" )

   .attr( "aria-expanded", "true" )

   .position( position );

  // take trigger out of tab order to allow shift-tab to skip trigger

  this.options.trigger.attr( "tabindex", -1 );

  this.isOpen = true;

  this.trigger( "open", event );

},

focusPopup: function( event ) {

  if ( !this.options.managed ) {

   // set focus to the first tabbable element in the popup container

   // if there are no tabbable elements, set focus on the popup itself

   var tabbables = this.element.find( ":tabbable" );

   this.removeTabIndex = false;

   if ( !tabbables.length ) {

	if ( !this.element.is(":tabbable") ) {

	 this.element.attr("tabindex", "0");

	 this.removeTabIndex = true;

	}

	tabbables = tabbables.add( this.element[ 0 ] );

   }

   tabbables.first().focus( 1 );

  }

  this.trigger( "focusPopup", event );

},

focusTrigger: function( event ) {

  suppressExpandOnFocus = true;

  this.options.trigger.focus();

  this.trigger( "focusTrigger", event );

},

close: function( event ) {

  this.beforeClose();

  this.hide( this.element, this.options.hide );

  this.options.trigger.attr( "tabindex" , 0 );

  if ( this.removeTabIndex ) {

   this.element.removeAttr( "tabindex" );

  }

  this.isOpen = false;

  this.trigger( "close", event );

},

beforeClose: function() {

  this.element

   .attr( "aria-hidden", "true" )

   .attr( "aria-expanded", "false" );

}

});

}(jQuery));

Modifié par garrisson
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne comprends plus rien.

De chez moi, en local cela fonctionne, via internet cela fonctionne (mot de passe compliqué et https)

Chez un ami : mauvais login/password

Pour la free, c'est ok car de chez moi je peux bien me connecter sur mon ip exterieur ...

J'ai testé :

- en annulant le https -> donc que du http via 5000 : ko

- avec un mot de passe bidon : 123456 : ko

je ne comprends vraiment plus rien :(

Pouvez vous m'aider ?

EDIT: Option :

- comment filtrer des répertoires ?

- comment créer d'autre utilisateur ? (j'aimerai avoir un user juste pour visualiser les films et un pour télécharger les films et l'admin)

EDIT2 :

Quel est la derniere version du package ? j'ai la 1.0-009 et je lis qu'il y a des 1.9 ... mais où :)

Modifié par TuluT
Lien vers le commentaire
Partager sur d’autres sites

Chez ton ami: As tus login avec user admin du diskstation? Tu pourrais creer un nouveau account sur la diskstation sans mot de passe et tester avec cela.

EDIT1:

-tu as les repertoires que tu as defini a la page d'administration. la on peut faire des subfolders(videostation reconnaisse ceux automatiquement).

-tu dois creer un nouveau utilisateur pour ta diskstation(seulment un user, pas admin).Il ne peut pas voir les infos d'admin, seulment voir les infos des films et download.

EDIT2:

-1.0-009 est la derniere version.

Lien vers le commentaire
Partager sur d’autres sites

Chez ton ami: As tus login avec user admin du diskstation? Tu pourrais creer un nouveau account sur la diskstation sans mot de passe et tester avec cela.

Je ne comprends pas trop : "As tus login avec user admin du diskstation?"

Je viens de créer un compte 'user' qui a accés à tout sans mot de passe : ko

j'accéde bien a la base de donée via phpMyAdmin.

-tu as les repertoires que tu as defini a la page d'administration. la on peut faire des subfolders(videostation reconnaisse ceux automatiquement).

j'essayerai quand je pourrais me reconnecter

-tu dois creer un nouveau utilisateur pour ta diskstation(seulment un user, pas admin).Il ne peut pas voir les infos d'admin, seulment voir les infos des films et download.

fait pour le test

-1.0-009 est la derniere version.

cool merci

EDIT: c'est bien le port 80 a ouvrir (et 5000 et 5001 pour la Diskstation) ?

Modifié par TuluT
Lien vers le commentaire
Partager sur d’autres sites

pardon pour mon mauvais francais, ma langue maternelle est allemand.

Je ne comprends pas le mot "ko". Ca veut dire "ok" ou "ne marche pas"? :D

Pourquoi as-tu accedé la base de donée via phpMyAdmin?

=>Edit: ouvrir pur l'access d'exterieur? je ne le fais pas et je ne le recommande pas, mais on peut. je pense que c'est pas necessaire pour un NAS(=>utilisage seulement locale parce que ta ligne d'internet n'est pas si rapide). mais comme j'ai deja dit, on peut ouvrir les ports pour avoir acces de l'exterieur. dans ce cas je recommande de utilisire des tres bons mot de passe.

Lien vers le commentaire
Partager sur d’autres sites

HAAAAAAAAAAAAAAAAAAAAAAAAAAA MERCI :wub:

C'est bien : $PORT_SYNO = "5001";

:D :D :D

EDIT Question

Est ce que je peux avoir deux repertoires serie ? : ./video/Series/,./video/Anime

(Les series et les Animes (Naruto, bleach,Omega etc) sont dans deux reps)

Modifié par TuluT
Lien vers le commentaire
Partager sur d’autres sites

Est ce que je peux avoir deux repertoires serie ? : ./video/Series/,./video/Anime

A priori non ...

La gestion des séries est sans doute la partie la moins finalisée du produit (très rigide au niveau des noms, pas de possibilité de renommer manuellement, etc ....)

[sOS on]

Teeboo, si tu nous entends .... ;)

[sOS off]

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.