
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (57)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (8233)
-
Unable to probe
8 mai 2017, par EtsonI’m using php-ffmpeg on windows with cakephp3, and encountered an issue that says :
Unable to probe /var/www/blogchild.dev/webroot/uploads/records//Танец довольного теннисиста.mp4
MultimediaController
<?php
namespace App\Controller;
use App\Controller\AppController;
class MultimediaController extends AppController
{
public function initialize()
{
parent::initialize(); // TODO: Change the autogenerated stub
$this->Auth->allow(['index', 'addvideo']);
$this->loadModel('Posts');
$this->loadComponent('File');
$this->loadComponent('Flash');
$this->loadComponent('Upload');
}
public function addvideo()
{
$this->viewBuilder()->template('addvideo');
$posts = $this->Posts->newEntity();
// $posts = $this->MsPosts->find()->toArray();
// dump($posts);
// die();
if ($this->request->is('post')) {
$data = $this->request->data;
$data['mentor_id'] = '1';
$data['nbr_of_views'] = '0';
$data['nbr_of_loves'] = '0';
$data['nbr_of_smiles'] = '0';
$data['mentor_id'] = '1';
$data['child_id'] = '1';
$post = $this->Posts->patchEntity($posts, $data);
// var_dump($data);
// die();
// debug($this->MsPosts->save($post));die();
// $upload = $this->File->uploadFile($this->request->data['file'], $post['id']);
// $post->file = $upload['url'];
if (!empty($this->request->data['file']['name'])) {
$path = '/uploads' . DS . 'records' . DS . $post->id;
$this->uploadFile($_FILES['file'], $path, $post->id);
$post->file = $path . DS . $_FILES['file']['name'];
$this->Posts->save($post);
} else {
$this->Posts->save($post);
}
$this->Flash->success(__('The post saved'));
return $this->redirect(['action' => 'addvideo']);AppController
<?php
/**
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* For full copyright and license information, please see the LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @since 0.2.9
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
namespace App\Controller;
use Cake\Controller\Controller;
use Cake\Event\Event;
use Cake\Filesystem\Folder;
use FFMpeg\Coordinate\TimeCode;
use FFMpeg\FFMpeg;
use Cake\Controller\Component;
use Cake\I18n\I18n;
/**
* Application Controller
*
* Add your application-wide methods in the class below, your controllers
* will inherit them.
*
* @link http://book.cakephp.org/3.0/en/controllers.html#the-app-controller
*/
class AppController extends Controller
{
/**
* Initialization hook method.
*
* Use this method to add common initialization code like loading components.
*
* e.g. `$this->loadComponent('Security');`
*
* @return void
*/
public function initialize()
{
parent::initialize();
$this->loadComponent('Cookie');
$this->loadComponent('RequestHandler');
$this->loadComponent('Flash');
$provider = $this->request->query('provider');
//if ($provider === null) {
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'finder' => 'auth',
'fields' => [
'username' => 'email',
'password' => 'password'
],
'loginAction' => [
'controller' => 'Auth',
'action' => 'login'
],
'loginRedirect' => [
'controller' => 'Auth',
'action' => 'login'
],
'logoutRedirect' => [
'controller' => 'Auth',
'action' => 'login'
]
],
'ADmad/HybridAuth.HybridAuth' => [
// All keys shown below are defaults
'fields' => [
'provider' => 'provider',
'openid_identifier' => 'openid_identifier',
'email' => 'email'
],
'profileModel' => 'ADmad/HybridAuth.SocialProfiles',
'profileModelFkField' => 'user_id',
// The URL Hybridauth lib should redirect to after authentication.
// If no value is specified you are redirect to this plugin's
// HybridAuthController::authenticated() which handles persisting
// user info to AuthComponent and redirection.
'hauth_return_to' => null,
'loginRedirect' => [
'controller' => 'Auth',
'action' => 'login'
],
'logoutRedirect' => [
'controller' => 'Auth',
'action' => 'login'
]
],
],
]);
// } else {
// $this->loadComponent('Auth', [
// 'authenticate' => [
// 'Form',
//
//
// ]
//
// ]);
// }
}
/**
* Before render callback.
*
* @param \Cake\Event\Event $event The beforeRender event.
* @return void
*/
public function beforeRender(Event $event)
{
if (!array_key_exists('_serialize', $this->viewVars) &&
in_array($this->response->type(), ['application/json', 'application/xml'])
) {
$this->set('_serialize', true);
}
if ($this->request->session()->read('Auth.User')) {
$this->set('loggedIn', true);
} else {
$this->set('loggedIn', false);
}
}
protected function uploadFile(array $file, $path, $postId)
{
$objFile = $file;
$path = $_SERVER['DOCUMENT_ROOT'] . $path;
//@TODO check file size|Return error
$folder = new Folder();
$folder->create($path, 0755);
move_uploaded_file($objFile['tmp_name'], $path . DS . $objFile['name']);
$ffmpeg = FFMpeg::create(
array(
'ffmpeg.binaries' => '/usr/bin/ffmpeg',
'ffprobe.binaries' => '/usr/bin/ffprobe',
'timeout' => 3600, // The timeout for the underlying process
'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
)
);
$temp = explode('.', $objFile['name']);
$video = $ffmpeg->open(WWW_ROOT . 'uploads/records' . DS . $postId . DS . $objFile['name']);
$frame = $video->frame(TimeCode::fromSeconds(1));
$userPath = 'uploads/records' . DS . $postId . DS . $temp[0] . '.jpg';
$frame->save(WWW_ROOT . $userPath);
}WARNING !!!!! Help me......
enter image description here -
Evolution #3791 : Driver generic acces base de données
13 février 2017, par Alain G.Merci d’avoir pris un peu de temps pour regarder ma proposition
En fait, je me suis inspiré de ce qui se fait ailleurs et à quelques exceptions, on utilise des requêtes très similaires au moteur de base de données . PDO en php est en soi un exemple.
Le chainage est tout a fait possible mais brise la compatibilité avec l’existant. De plus à la base SPIP est plutôt fonctionnel qu’objet
L’intérêt des evals est de fournir une possibilité de surcharge d’une classe dite _Core par une classe spécifique de façon transparente. Cela ne présente pas de risque de sécurité car de portée très limitée et contrôlée.
PS : je suis plus habitué à un environnement orienté objet que SPIP qui me déconcerte.
De : redmine@spip.org
Envoyé le :vendredi 10 février 2017 15:21
Objet :[Développement - Evolution #3791] Driver generic acces base de donnéesLa demande #3791 a été mise à jour par marcimat Ÿ
-
Anomalie #3814 : Onglet {Mes articles} erroné en SPIP3.0
9 août 2016, par Olivier DutertreJ’ai effectivement un ensemble de plugins installés, mais j’ai déja pu
évacuer agenda et inscription 2.5 comme source puisqu’un autre
internaute à testé avec ces deux plugins et ne reproduis pas.Le 09/08/2016 21:01, redmine@spip.org a écrit :
La demande #3814 a été mise à jour par Pierre KUHN.
Bonsoir,
Tu utilises des plugins précis pour avoir ce problème ?
Anomalie #3814 : Onglet Mes articles erroné en SPIP3.0
<https://core.spip.net/issues/3814#change-11946>- Auteur : Olivier Dutertre
- Statut : Nouveau
- Priorité : Normal
- Assigné à :
- Catégorie : base de données
- Version cible : 3.0
- Resolution :
- Navigateur :
Je rencontre le soucis avec SPIP 3.0.22 reproduis sur deux versions du
même site (prod et dev). Je n’ai pas eu de réponse sur la liste.
J’ignore si ici est le bon endroit pour signaler ce genre de problème,
alors merci de votre bienveillance.Dans la partie privée, l’onglet /mes articles/ de la page /articles/
affiche des information incorrectes, c’est à dire des article qui ne
sont pas forcément de l’auteur passé en paramètre.En explorant avec le mode debug, voila ce que j’ai découvert :
la boucle telle que prévue initialement est :
Elle donne le code suivant :
SELECT articles.id_article, 0 as points, ’’, articles.titre, articles.statut, articles.id_rubrique, articles.titre AS titre_rang, articles.lang, articles.date, articles.id_rubrique, articles.id_article
FROM info_articles AS `articles`
INNER JOIN info_evenements AS L2 ON ( L2.id_article = articles.id_article )
WHERE (L2.id_auteur = 3)
AND ((articles.statut IN (’prepa’,’publie’,’refuse’,’prepa’)))
GROUP BY articles.id_article
ORDER BY articles.date DESC, articles.titreJe ne comprends pas la raison du recours à la table événements. et j’y
vois une raison des résultats aberrant de la boucleSi par contre Je modifie la boucle avec une jointure :
auteurs_liens)id_article ?id_rubrique ?id_mot ?id_auteur ?where ?statut ?recherche ?tri #ENVpar,date,#GETdefaut_tripar titrepagination #ENVnb,10 !lang_select>
Cela me donne un code plus encourageant :
SELECT articles.id_article, 0 as points, ’’, articles.titre, articles.statut, articles.id_rubrique, articles.titre AS titre_rang, articles.lang, articles.date, articles.id_rubrique, articles.id_article
FROM info_articles AS `articles`
INNER JOIN info_auteurs_liens AS L2 ON ( L2.id_objet = articles.id_article AND L2.objet=’article’)
WHERE (L2.id_auteur = 3)
AND ((articles.statut IN (’prepa’,’publie’,’refuse’,’prepa’)))
GROUP BY articles.id_article
ORDER BY articles.date DESC, articles.titreet surtout le résultat est conforme à mes attentes.
Quelqu’un pourra-t’il éclaircir la raison de ce mystère ?
Vous recevez ce mail car vous êtes impliqués sur ce projet.
Pour changer les préférences d’envoi de mail, allez sur
http://core.spip.org/my/account