Je m'auto réponds
Pour ceux que ça intéresse, j'ai trouvé la solution :
Voici le code de la fonction theme_html_picture à modifier ou à ajouter dans theme.php de votre thème :
function theme_html_picture()
{
global $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER;
global $album, $comment_date_fmt, $template_display_media;
global $lang_display_image_php, $lang_picinfo;
$pid = $CURRENT_PIC_DATA['pid'];
$pic_title = '';
if (!isset($USER['liv']) || !is_array($USER['liv'])) {
$USER['liv'] = array();
}
// Add 1 to hit counter
if (!USER_IS_ADMIN && !in_array($pid, $USER['liv']) && isset($_COOKIE[$CONFIG['cookie_name'] . '_data'])) {
add_hit($pid);
if (count($USER['liv']) > 4) array_shift($USER['liv']);
array_push($USER['liv'], $pid);
}
if ($CONFIG['thumb_use'] == 'ht' && $CURRENT_PIC_DATA['pheight'] > $CONFIG['picture_width']) { // The wierd comparision is because only picture_width is stored
$condition = true;
} elseif ($CONFIG['thumb_use'] == 'wd' && $CURRENT_PIC_DATA['pwidth'] > $CONFIG['picture_width']) {
$condition = true;
} elseif ($CONFIG['thumb_use'] == 'any' && max($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight']) > $CONFIG['picture_width']) {
$condition = true;
} else {
$condition = false;
}
if ($CURRENT_PIC_DATA['title'] != '') {
$pic_title .= $CURRENT_PIC_DATA['title'] . "\n";
}
if ($CURRENT_PIC_DATA['caption'] != '') {
$pic_title .= $CURRENT_PIC_DATA['caption'] . "\n";
}
if ($CURRENT_PIC_DATA['keywords'] != '') {
$pic_title .= $lang_picinfo['Keywords'] . ": " . $CURRENT_PIC_DATA['keywords'];
}
if (!$CURRENT_PIC_DATA['title'] && !$CURRENT_PIC_DATA['caption']) {
template_extract_block($template_display_media, 'img_desc');
} else {
if (!$CURRENT_PIC_DATA['title']) {
template_extract_block($template_display_media, 'title');
}
if (!$CURRENT_PIC_DATA['caption']) {
template_extract_block($template_display_media, 'caption');
}
}
$CURRENT_PIC_DATA['menu'] = html_picture_menu(); //((USER_ADMIN_MODE && $CURRENT_ALBUM_DATA['category'] == FIRST_USER_CAT + USER_ID) || ($CONFIG['users_can_edit_pics'] && $CURRENT_PIC_DATA['owner_id'] == USER_ID && USER_ID != 0) || GALLERY_ADMIN_MODE) ? html_picture_menu($pid) : '';
if ($CONFIG['make_intermediate'] && $condition) {
$picture_url = get_pic_url($CURRENT_PIC_DATA, 'normal');
} else {
$picture_url = get_pic_url($CURRENT_PIC_DATA, 'fullsize');
}
$image_size = compute_img_size($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight'], $CONFIG['picture_width']);
$pic_title = '';
$mime_content = cpg_get_type($CURRENT_PIC_DATA['filename']);
if ($mime_content['content'] == 'movie' || $mime_content['content'] == 'audio') {
if ($CURRENT_PIC_DATA['pwidth'] == 0 || $CURRENT_PIC_DATA['pheight'] == 0) {
$CURRENT_PIC_DATA['pwidth'] = 320; // Default width
// Set default height; if file is a movie
if ($mime_content['content'] == 'movie') {
$CURRENT_PIC_DATA['pheight'] = 240; // Default height
}
}
$ctrl_offset['mov'] = 15;
$ctrl_offset['wmv'] = 45;
$ctrl_offset['swf'] = 0;
$ctrl_offset['rm'] = 0;
$ctrl_offset_default = 45;
$ctrl_height = (isset($ctrl_offset[$mime_content['extension']]))?($ctrl_offset[$mime_content['extension']]):$ctrl_offset_default;
$image_size['whole'] = 'width="' . $CURRENT_PIC_DATA['pwidth'] . '" height="' . ($CURRENT_PIC_DATA['pheight'] + $ctrl_height) . '"';
}
if ($mime_content['content'] == 'image') {
if (isset($image_size['reduced'])) {
$winsizeX = $CURRENT_PIC_DATA['pwidth'] + 5; //the +'s are the mysterious FF and IE paddings
$winsizeY = $CURRENT_PIC_DATA['pheight'] + 3; //the +'s are the mysterious FF and IE paddings
$pic_html = "<a href=\"javascript:;\" onclick=\"MM_openBrWindow('displayimage.php?pid=$pid&fullsize=1','" . uniqid(rand()) . "','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=$winsizeX,height=$winsizeY')\">";
$pic_title = $lang_display_image_php['view_fs'] . "\n==============\n" . $pic_title;
$pic_html .= "<small class=\"user_thumb_infobox\">" . $lang_display_image_php['view_fs'] . "</small><br>";
$pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\"{$lang_display_image_php['view_fs']}\" title=\"{$lang_display_image_php['view_fs']}\" /><br />";
$pic_html .= "</a>\n";
} else {
$pic_html = "<img src=\"" . $picture_url . "\" {$image_size['geom']} class=\"image\" border=\"0\" alt=\"\" /><br />\n";
}
} elseif ($mime_content['content'] == 'document') {
$pic_thumb_url = get_pic_url($CURRENT_PIC_DATA, 'thumb');
$pic_html = "<a href=\"{$picture_url}\" target=\"_blank\" class=\"document_link\"><img src=\"" . $pic_thumb_url . "\" border=\"0\" class=\"image\" /></a>\n<br />";
} else {
$autostart = ($CONFIG['media_autostart']) ? ('true'):('false');
$players['WMP'] = array('id' => 'MediaPlayer',
'clsid' => 'classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" ',
'codebase' => 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112" ',
'mime' => 'type="application/x-mplayer2" ',
);
$players['RMP'] = array('id' => 'RealPlayer',
'clsid' => 'classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" ',
'codebase' => '',
'mime' => 'type="audio/x-pn-realaudio-plugin" '
);
$players['QT'] = array('id' => 'QuickTime',
'clsid' => 'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" ',
'codebase' => 'codebase="http://www.apple.com/qtactivex/qtplugin.cab" ',
'mime' => 'type="video/x-quicktime" '
);
$players['SWF'] = array('id' => 'SWFlash',
'clsid' => ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ',
'codebase' => 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ',
'mime' => 'type="application/x-shockwave-flash" '
);
$players['UNK'] = array('id' => 'DefaultPlayer',
'clsid' => '',
'codebase' => '',
'mime' => ''
);
$players['DM'] = array('id' => 'Dailymotion',
'clsid' => '',
'codebase' => '',
'mime' => 'dailymotion'
);
if (isset($_COOKIE[$CONFIG['cookie_name'] . '_' . $mime_content['extension'] . 'player'])) {
$user_player = $_COOKIE[$CONFIG['cookie_name'] . '_' . $mime_content['extension'] . 'player'];
} else {
$user_player = $mime_content['player'];
}
// There isn't a player selected or user wants client-side control
if (!$user_player) {
$user_player = 'UNK';
}
$player = $players[$user_player];
if ($player['mime'] == 'dailymotion')
{
$code_cle = file_get_contents($picture_url);
$pic_html = "<object " . $image_size['whole'] . "><param name=\"movie\" value=\"http://www.dailymotion.com/swf/".$code_cle."&related=1\">
</param><param name=\"allowfullscreen\" value=\"true\"></param><param name=\"allowScriptAccess\" value=\"always\"></param>
<embed src=\"http://www.dailymotion.com/swf/".$code_cle."&related=1\" type=\"application/x-shockwave-flash\" " . $image_size['whole'] . " allowfullscreen=\"true\" allowScriptAccess=\"always\">
</embed></object>";
}
else
{
$pic_html = '<object id="' . $player['id'] . '" ' . $player['clsid'] . $player['codebase'] . $player['mime'] . $image_size['whole'] . '>';
$pic_html .= "<param name=\"autostart\" value=\"$autostart\" /><param name=\"src\" value=\"" . $picture_url . "\" />";
$pic_html .= '<embed ' . $image_size['whole'] . ' src="' . $picture_url . '" autostart="' . $autostart . '" ' . $player['mime'] . '></embed>';
$pic_html .= "</object><br />\n";
}
}
$CURRENT_PIC_DATA['html'] = $pic_html;
$CURRENT_PIC_DATA['header'] = '';
$CURRENT_PIC_DATA['footer'] = '';
$CURRENT_PIC_DATA = CPGPluginAPI::filter('file_data', $CURRENT_PIC_DATA);
$params = array('{CELL_HEIGHT}' => '100',
'{IMAGE}' => $CURRENT_PIC_DATA['header'] . $CURRENT_PIC_DATA['html'] . $CURRENT_PIC_DATA['footer'],
'{ADMIN_MENU}' => $CURRENT_PIC_DATA['menu'],
'{TITLE}' => bb_decode($CURRENT_PIC_DATA['title']),
'{CAPTION}' => bb_decode($CURRENT_PIC_DATA['caption']),
);
return template_eval($template_display_media, $params);
}
Ensuite, vous devez ajouter une entrée dans la table pictures de votre base de données :
extension : cequevousvoulez
mime : dailymotion
content : movie
player : DM
Une fois ceci fait, pour envoyer une vidéo, vous devez créer un fichier :
récupérez la clé de la vidéo dailymotion à partir du code qui vous est proposé pour les lecteurs exportables. Exemple : k6we110Kc1pGDcNETT
Créez un fichier avec le bloc notes, collez y votre clé, et enregistrez le tout sous l'extension cequevousvoulez. Exemple : k6we110Kc1pGDcNETT.cequevousvoulez
N'oubliez pas de sélectionner dans la fenêtre d'enregistrement Type = Tous les fichiers.
Il ne vous reste plus qu'à envoyer ce fichier comme si vous envoyez une image.
Il vous sera donné la possibilité de donner une largeur et hauteur à la vidéo : récupérez les à partir du code du lecteur exportable de Dailymotion. Si vous ne remplissez pas ces champs, alors votre vidéo aura la taille standard d'une vidéo sous Coppermine : 320 x 240.
Mais il reste un truc qui me tracasse : les vignettes des vidéos sont la vignette standard d'une vidéo sous Coppermine. Pour personnaliser la vignette, récupérez une miniature de votre vidéo sur Dailymotion, et mettez la dans le dossier où a été envoyé le fichier précédent : albums -> userpics -> numéro, et sous la forme thumb_clé ; exemple : thumb_k6we110Kc1pGDcNETT. Et c'est là que ça se complique : il faut savoir où a été envoyé le fichier précédent ! Si c'est vous qui avez envoyé le fichier, pas de problème, vous n'avez qu'à connaitre votre numéro d'userpics, mais si c'est un autre utilisateur ............... Il faut connaitre son numéro !!!!!!!!!
Il faudrait donc corriger ce problèm de vignette, mais je ne vois pas de solutions : il n'y a aucun rapport dans les clés des miniatures Dailymotion et leur vidéos. On pourrait remplacer les vignettes par un mini-player de 160 x 160px par exemple, mais il faudrait dans ce cas que en plus de la vignette qui peut être "cliquable", il faudrait aussi que le titre en dessous soit cliquable, car on ne peut pas cliquer sur un player : on serait redirigé sur le site de Dailymotion !
Voilà, si des âmes courageuses se sentent l'envie de m'aider