/** * Envoi une requette de conversion a zencoder. * * @param int $id_document l'id du document original * @param int $id_objet */ function zencoder_new_job($id_document) { spip_log('start zencoder_new_job', 'zencoder'); $cwd = getcwd(); chdir(realpath(_DIR_ZENCODER_LIB)); require_once "Services/Zencoder.php"; chdir($cwd); include_spip('inc/config'); include_spip('inc/utils'); $api_key = lire_config('zencoder/api_key'); $document = generer_url_entite_absolue($id_document, 'document'); $url_notification = generer_url_action('zencoder_notification', 'id_document=' . $id_document, true, false); $clip_length = '10'; try { // Initialize the Services_Zencoder class $zencoder = new Services_Zencoder($api_key); // New Encoding Job $encoding_job = $zencoder->jobs->create(array("input" => $document, "outputs" => array(array("label" => "webm", "size" => "640x480", "format" => "webm", "notifications" => array("format" => "json", "url" => $url_notification, "clip_length" => $clip_length)), array("label" => "ogg", "format" => "ogg", "size" => "640x480", "notifications" => array("format" => "json", "url" => $url_notification, "clip_length" => $clip_length)), array("label" => "mp4 low", "size" => "640x480", "notifications" => array("format" => "json", "url" => $url_notification, "clip_length" => $clip_length))))); // Success if we got here spip_log('success- Job ID: ' . $encoding_job->id . ' Output ID:' . $encoding_job->outputs['web']->id, 'zencoder'); } catch (Services_Zencoder_Exception $e) { // If were here, an error occured spip_log('error: ' . print_r($e), 'zencoder'); } return; }
function urls_generer_url_ecrire_forum_dist($id, $args = '', $ancre = '', $public = null, $connect = '') { $a = "id_forum=" . intval($id); if (is_null($public) and !$connect) { $public = objet_test_si_publie('forum', $id, $connect); } $h = ($public or $connect) ? generer_url_entite_absolue($id, 'forum', $args, $ancre, $connect) : generer_url_ecrire('controler_forum', "debut_forum=@{$id}" . ($args ? "&{$args}" : '')) . ($ancre ? "#{$ancre}" : ''); return $h; }
function action_editer_signatures_relance($id_article) { include_spip('formulaires/signature'); include_spip('inc/texte'); $url = generer_url_entite_absolue($id_article, 'article','','',true); list($titre, $url) = signature_langue($id_article, $url); $envoyer_mail = charger_fonction('envoyer_mail','inc'); $query = sql_select('*', 'spip_signatures', "id_article=$id_article AND NOT (statut='publie' OR statut='poubelle') AND date_time < DATE_SUB(NOW(), INTERVAL 1 DAY)", 'ad_email'); $n = 0; while ($r = sql_fetch($query)) { list($sujet, $corps) = signature_demande_confirmation($id_article, $url, $r['nom_email'], $r['nom_site'], $r['url_site'], $r['message'], $titre, $r['statut']); if ($envoyer_mail($mail, $sujet, $corps)) $n++; } spip_log("$n signatures relancees pour $titre"); }
/** * Insertion dans le pipeline formulaire_charger (SPIP) * * Surcharge du sujet et le texte du message généré par le formulaire_ecrire_auteur * Surcharge du formulaire d'inscription pour ne pas afficher l'explication * * @param array $flux * @return array $flux */ function geol_formulaire_charger($flux) { // sujet perso pour formulaire_ecrire_auteur depuis une page article (erreur de localisation) if ($flux['args']['form'] == 'ecrire_auteur' and $flux['args']['args'][1] != '') { $flux['data']['sujet_message_auteur'] .= supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site'])) . " : " . _T('geol:sujet_erreur_localisation'); $flux['data']['texte_message_auteur'] .= _T('geol:depuis_page') . " : " . generer_url_entite_absolue($flux['args']['args'][1], 'article') . "\n\nMessage :\n\n"; } // pas d'explicaltion sur le form d'inscription if ($flux['args']['form'] == 'inscription' and $flux['args']['args'][0] == '1comite') { $flux['data']['_commentaire'] = ''; } // limiter le form de polyhierarchie sur la branche des categories (dans le public) // cf http://zone.spip.org/trac/spip-zone/changeset/41280 if ($flux['args']['form'] == 'editer_polyhierarchie' and !test_espace_prive()) { $flux['data']['limite_branche'] = lire_config('geol/secteur_categories', 2); } return $flux; }
function action_relancer_signature_dist($id_signature = null) { if (!$id_signature) { $securiser_action = charger_fonction('securiser_action', 'inc'); $id_signature = $securiser_action(); } if (autoriser('relancer', 'signature', $id_signature)) { $row = sql_fetsel('*', 'spip_signatures', 'id_signature=' . intval($id_signature)); $id_article = sql_getfetsel('id_article', 'spip_petitions', 'id_petition=' . intval($row['id_petition'])); if ($id_article = intval($id_article) and autoriser('mordererpetition', 'article', $id_article)) { include_spip('action/editer_signature'); include_spip('formulaires/signature'); $url = generer_url_entite_absolue($id_article, 'article', '', '', true); if (signature_a_confirmer($id_article, $url, $row['nom_email'], $row['ad_email'], $row['nom_site'], $row['url_site'], $row['message'], $row['lang'], $row['statut'])) { signature_modifier($id_signature, array("date_time" => date('Y-m-d H:i:s'))); } } } }
function remplace_points_de_suite($texte, $id, $racc) { if (strpos($texte, _INTRODUCTION_CODE) === false) return $texte; // precaution sur le tout paragrapher de SPIP >= 2.0 ! $mem = $GLOBALS['toujours_paragrapher']; $GLOBALS['toujours_paragrapher'] = false; // des points de suite bien propres @define('_INTRODUCTION_SUITE', ' (...)'); $intro_suite = propre(_INTRODUCTION_SUITE); // si les points de suite sont cliquables if ($id && _INTRODUCTION_LIEN == 1) { $url = (defined('_SPIP19300') && test_espace_prive()) ?generer_url_entite_absolue($id, $racc, '', '', true):"$racc$id"; if (substr($intro_suite, 0, 6) == '<br />') $intro_suite = propre("<br />[".substr($intro_suite, 6)."->$url]"); else $intro_suite = propre(" [{$intro_suite}->$url]"); $intro_suite = inserer_attribut($intro_suite, 'class', extraire_attribut($intro_suite,'class') . ' pts_suite'); } $GLOBALS['toujours_paragrapher'] = $mem; return str_replace(_INTRODUCTION_CODE, $intro_suite, $texte); }
function action_redirect_dist() { $type = _request('type'); $id = intval(_request('id')); if ($m = _request('var_mode')) { $GLOBALS['var_urls'] = true; // forcer la mise a jour de l'url de cet objet ! } if (preg_match('/^\w+$/', $type)) { $h = generer_url_entite_absolue($id, $type, '', '', true); } else if ($page = _request('page') AND preg_match('/^\w+$/', $page)) { $h = generer_url_public($page, '', true); } else return; if ($m > '') $h = parametre_url($h, 'var_mode', $m); if ($m == 'preview' AND defined('_PREVIEW_TOKEN') AND _PREVIEW_TOKEN AND autoriser('previsualiser') AND $aut = $GLOBALS['visiteur_session']['id_auteur'] ) { include_spip('inc/securiser_action'); $token = _action_auteur('previsualiser', $aut, null, 'alea_ephemere'); $h = parametre_url($h, 'var_previewtoken', "$aut*$token"); } $status = '302'; if (_request('status') AND _request('status')=='301') $status = '301'; if ($h) redirige_par_entete(str_replace('&', '&', $h),'',$status); else redirige_par_entete('/','',$status); }
function action_redirect_dist() { $type = _request('type'); if (!preg_match('/^\\w+$/', $type)) { return; } if ($m = _request('var_mode')) { // forcer la mise a jour de l'url de cet objet ! if (!defined('_VAR_URLS')) { define('_VAR_URLS', true); } $m = 'var_mode=' . urlencode($m); } $h = generer_url_entite_absolue(intval(_request('id')), $type, $m, '', true); $status = '302'; if (_request('status') and _request('status') == '301') { $status = '301'; } if ($h) { redirige_par_entete(str_replace('&', '&', $h), '', $status); } else { redirige_par_entete('/', '', $status); } }
function signatures_edit_mail($id_article, $ad_email, $row) { $email = attribut_html($ad_email); if (email_valide($ad_email)) { if ($row['statut'] != 'publie' AND autoriser('modererpetition', 'article', $id_article)) { include_spip('formulaires/signature'); $url = generer_url_entite_absolue($id_article, 'article','','',true); list($titre, $url) = signature_langue($id_article, $url); list($sujet, $corps) = signature_demande_confirmation($id_article, $url, $row['nom_email'], $row['nom_site'], $row['url_site'], $row['message'], $titre, $row['statut']); include_spip('inc/filtres'); $sujet = rawurlencode(filtrer_entites($sujet)); $corps = rawurlencode(filtrer_entites($corps)); $corps = "?subject=$sujet&body=$corps"; } else $corps = ''; $email = "<a href=\"mailto:$ad_email$corps\">$email</a>"; } return "<div class='ad_email'><span class='spip_x-small'>" ._T('info_adresse_email') ."</span> " . $email . "</div>\n"; }
/** * Générer l'URL d'un objet dans l'espace privé * * L'URL est calculée en fonction de son état publié ou non, * calculé à partir de la déclaration de statut. * * @param string $objet Type d'objet * @param int $id Identifiant de l'objet * @param string $args * @param string $ancre * @param bool|null $public * @param string $connect * @return string * */ function generer_url_ecrire_objet($objet, $id, $args = '', $ancre = '', $public = null, $connect = '') { static $furls = array(); if (!isset($furls[$objet])) { if (function_exists($f = 'generer_url_ecrire_' . $objet) or $f = charger_fonction($f, 'urls', true)) { $furls[$objet] = $f; } else { $furls[$objet] = ''; } } if ($furls[$objet]) { return $furls[$objet]($id, $args, $ancre, $public, $connect); } // si pas de flag public fourni // le calculer en fonction de la declaration de statut if (is_null($public) and !$connect) { $public = objet_test_si_publie($objet, $id, $connect); } if ($public or $connect) { return generer_url_entite_absolue($id, $objet, $args, $ancre, $connect); } $a = id_table_objet($objet) . "=" . intval($id); if (!function_exists('objet_info')) { include_spip('inc/filtres'); } return generer_url_ecrire(objet_info($objet, 'url_voir'), $a . ($args ? "&{$args}" : '')) . ($ancre ? "#{$ancre}" : ''); }
function cs_urls_propres($type, $id) { global $type_urls; if(!$id) return ''; $res = ""; // SPIP >= 2.0 if(defined('_SPIP19300')) { $url = generer_url_entite_absolue($id, $type, '', '', true); $lien_public = "\n[<span>[". _T('couteau:urls_propres_lien'). "|{$url}->{$url}]</span>]\n\n"; $s = sql_select("url", "spip_urls", "id_objet=$id AND type='$type'", '', 'date DESC'); while ($t = sql_fetch($s)) $res .= ($res?'<br />':'')."• $t[url]\n"; // SPIP < 2.0 } else { // impossible de calculer l'url publique d'ici. $table = $type.($type=='syndic'?'':'s'); $r = spip_query("SELECT url_propre FROM spip_$table WHERE id_$type=$id"); if ($r && $r = spip_fetch_array($r) ) { if(!strlen($r=$r['url_propre'])) $r=_T('couteauprive:variable_vide'); $res .= "• $r\n"; } $lien_public = './?exec=action_rapide&arg=type_urls|URL_objet_191&format=iframe&type_objet='.$type.'&id_objet='.$id.'&script=foo'; $lien_public = '<iframe src="'.$lien_public.'" width="100%" style="border:none; height:4em;"></iframe>'; } $format = in_array($type_urls, array('page', 'standard', 'html')) ?_T('couteau:urls_propres_erreur') :_T('couteau:urls_propres_objet'); $mem = $GLOBALS['class_spip_plus']; $GLOBALS['class_spip_plus']=' class="spip"'; $res = propre( _T('couteau:urls_propres_format', array( 'format'=>$type_urls, 'url'=>generer_url_ecrire('admin_couteau_suisse', 'cmd=descrip&outil=type_urls#cs_infos') )). "\n\n" . $format . "\n\n" . '|{{'. _T('couteau:2pts', array( 'objet'=>strtoupper(filtrer_entites(_T('couteau:objet_'.$type))).' '.$id ))."}}|\n" . "|$res|") // bug SPIP ? . propre($lien_public); $GLOBALS['class_spip_plus'] = $mem; return cs_cadre_depliable(_T('couteau:urls_propres_titre'), 'bp_urls_propres', $res); }
function generer_url_ecrire_forum($id, $args='', $ancre='', $statut='', $connect='') { $a = "id_forum=" . intval($id); if (!$statut) { $statut = sql_getfetsel('statut', 'spip_forum', $a,'','','','',$connect); } $h = ($statut == 'publie' OR $connect) ? generer_url_entite_absolue($id, 'forum', $args, $ancre, $connect) : (generer_url_ecrire('controle_forum', "debut_id_forum=$id" . ($args ? "&$args" : '')) . ($ancre ? "#$ancre" : '')); return $h; }