J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.
5138 links
Voici ce que je propose. Les modifications sont à faire dans index.php de shaarli.
Tout d'abord, ajouter deux variables de configuration, après la ligne 25 :
{code$GLOBALS['config']['respawnUrl'] = 'http://url-de-ton-respawn/';
$GLOBALS['config']['tagToOpenRespawn'] = 'Respawned';//On choisi ce que l'on veut mais de préférence un mot assez typique
code}
Puis, après la ligne 1462, remplacer les lignes :
{code
$LINKSDB[$linkdate] = $link;
$LINKSDB->savedb(); // save to disk
pubsubhub();
// If we are called from the bookmarklet, we must close the popup:
if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script language="JavaScript">self.close();</script>'; exit; }
$returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' );
$returnurl .= '#'.smallHash($linkdate); // Scroll to the link which has been edited.
code}
Par :
{code
$openRespawn = (strpos($link['tags'], $GLOBALS['config']['tagToOpenRespawn']) !== false && $GLOBALS['config']['respawnUrl'] != '') ? 'window.open("'.$GLOBALS['config']['respawnUrl'].'?q="+ encodeURIComponent(\''.$url.'\'),"_blank","menubar=yes,height=600,width=1000,toolbar=yes,scrollbars=yes,status=yes");' : '';
$link['tags'] = trim(str_replace($GLOBALS['config']['tagToOpenRespawn'],'',$link['tags']));
$LINKSDB[$linkdate] = $link;
$LINKSDB->savedb(); // save to disk
pubsubhub();
$returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' );
$returnurl .= '#'.smallHash($linkdate); // Scroll to the link which has been edited.
// If we are called from the bookmarklet, we must close the popup:
if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script language="JavaScript">'.$openRespawn.'self.close();</script>'; exit; } elseif ($openRespawn != '') {echo '<script language="JavaScript">'.$openRespawn.'document.location="'.$returnurl.'";</script>'; exit;}
code}
Si on tague une page dans shaarli avec le tag permettant d'ouvrir respawn (ici le tag Respawned), le lien sera sauvegardé dans shaarli et respawn tentera la sauvegarde de la page. Il faut au préalable que l'on soit loggué dans respawn sinon la sauvegarde ne se fera pas.
Si cette solution fonctionne et convient, je proposerai une modification dans shaarli avec panneau de configuration.
Edit : Pour activer le respawn à chaque entrée, il suffit d'ajouter dans shaarli ces quelques lignes :
après le ligne 27, une variable de configuration pour dire si l'on souhaite toujours activer respawn :
{code$GLOBALS['config']['alwaysRespawn'] = false; // ou true en fonction du choixcode}
après la ligne 1455 environ
{code$tags = trim(preg_replace('/\s\s+/',' ', $_POST['lf_tags'])); // Remove multiple spaces.code}
ajouter les lignes :
{code
if ($GLOBALS['config']['alwaysRespawn']) {
$tags .= ','.$GLOBALS['config']['tagToOpenRespawn'];
}code}