Salut
J'ai fait un petit script pour poster automatiquement des vidéos uptostream dans xoopstube.
Les posts se font à partir de l'url des fichiers uptobox (même id de vidéo) qui ont déja été posté manuellement
Le soucis que j'ai c'est que je doit entrer manuellement le dernier id du miroir que mon script à créer pour éviter les doublons au prochain appel.
Le script en mode manuel:
<?php
include 'header.php';
include XOOPS_ROOT_PATH . '/header.php';
global $xoopsModule, $xtubemyts, $xoopsModuleConfig;
$sql = 'SELECT * FROM ' . $xoopsDB->prefix('xoopstube_videos') . '
WHERE lid > 11055 AND vidsource = 120
AND published > 0 AND published <= ' . time() . ' AND (expired = 0 OR expired > ' . time() . ')
AND offline = 0
ORDER by lid DESC';
$result = $xoopsDB->query($sql);
while ($video_arr = $xoopsDB->fetchArray($result)) {
$lid = 0;
$cid = $video_arr['cid'];
$title = $xtubemyts->addslashes(ltrim($video_arr['title']));
$vidid = $xtubemyts->addslashes(ltrim(removeuptobox($video_arr['vidid'])));
$screenshot = $xtubemyts->addslashes(ltrim($video_arr['screenshot']));
$submitter = $video_arr['submitter'];
$publisher = $xtubemyts->addslashes(trim($video_arr['publisher']));
$date = time();
$vidsource = 121;
$offline = $video_arr['offline'];
$notifypub = $video_arr['notifypub'];
$description = $xtubemyts->addslashes(ltrim($video_arr['description']));
$time = $xtubemyts->addslashes(ltrim($video_arr['time']));
$keywords = $xtubemyts->addslashes(trim($video_arr['keywords']));
$item_tag = $xtubemyts->addslashes(ltrim($video_arr['item_tag']));
$picurl = $xtubemyts->addslashes(ltrim($video_arr['picurl']));
$hd_video = $video_arr['hd_video'];
$vidrating = $video_arr['vidrating'];
$ipaddress = $_SERVER['REMOTE_ADDR'];
if ($lid == 0) {
$status = 0;
$publishdate = 0;
$message = _MD_XTUBE_THANKSFORINFO;
if (TRUE == xtube_checkgroups($cid, 'XTubeAutoApp')) {
$publishdate = time();
$status = 1;
$message = _MD_XTUBE_ISAPPROVED;
}
$sql = 'INSERT INTO ' . $xoopsDB->prefix('xoopstube_videos')
. ' (lid, cid, title, vidid, submitter, publisher, status, date, hits, rating, votes, comments, vidsource, published, expired, offline, description, ipaddress, notifypub, vidrating, time, keywords, item_tag, picurl, hd_video) ';
$sql .= " VALUES ('', $cid, '$title', '$vidid', '$submitter', '$publisher', '$status', '$date', 0, 0, 0, 0, '$vidsource', '$publishdate', 0, '$offline', '$description', '$ipaddress', '$notifypub', '$vidrating', '$time', '$keywords', '$item_tag', '$picurl', $hd_video)";
if ($xoopsDB->queryF($sql)){
echo 'bravo, copie des champs réussi pour ' . $title . '<br />';
}
}
}
include XOOPS_ROOT_PATH . '/footer.php';
?>
Il faut donc remplacer le LID de la requête par une variable qui aura comme valeur au prochain appel, la valeur du dernier id créer par la requete insert ci dessus de manière à ce que le script redémarre de la ou il s'est arrété sans tenir compte des nouveaux id créé entre temps.
Je sais pas si ont peu faire ça avec un get insert id car au moment du rappel, je ne veut pas du dernier id créé dans la table, mais je veut garder le dernier id créé au moment de la dernière exécution du script.
Je sais pas si je suis bien clair et je sais pas si c'est possible en fait sans créer une table qui gardera l'enregistrement.