示例#1
0
/**
 * 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;
}
示例#3
0
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");
}
示例#4
0
/**
 * 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')));
            }
        }
    }
}
示例#6
0
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', '&nbsp;(...)');
	$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("&nbsp;[{$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);
}
示例#7
0
文件: redirect.php 项目: rhertzog/lcs
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('&amp;', '&', $h),'',$status);
	else
		redirige_par_entete('/','',$status);
}
示例#8
0
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('&amp;', '&', $h), '', $status);
    } else {
        redirige_par_entete('/', '', $status);
    }
}
示例#9
0
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&amp;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";

}
示例#10
0
/**
 * 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}" : '');
}
示例#11
0
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 />':'')."&bull;&nbsp;$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 .= "&bull;&nbsp;$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);
}
示例#12
0
文件: urls.php 项目: rhertzog/lcs
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;
}