本文整理汇总了PHP中couper函数的典型用法代码示例。如果您正苦于以下问题:PHP couper函数的具体用法?PHP couper怎么用?PHP couper使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了couper函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: blocs_callback
function blocs_callback($matches) {
list($titre, $corps) = preg_split(',(\n\n|\r\n\r\n|\r\r),', trim($matches[3]), 2);
// pas de corps !
if(!strlen($corps = trim($corps))) {
$corps = $titre;
$titre = preg_replace(',[\n\r]+,s', ' ', couper(propre($titre), 30));
}
// pas d'intertitre !
$titre = preg_replace(',^{{{(.*)}}}$,', '$1', trim($titre));
if(!strlen($titre)) $titre = '???';
// un resume facultatif
if(preg_match(',<resume>(.*)</resume>\s?(.*)$,ms', $corps, $res))
{ $corps = $res[2]; $res = $res[1]; } else $res = '';
// types de blocs : bloc|invisible|visible
if ($matches[1]=='visible' || defined('_CS_PRINT')) {
$h = $d = '';
$r = ' blocs_invisible blocs_slide';
} else {
$h = ' blocs_replie';
$d = ' blocs_invisible blocs_slide';
$r = '';
}
// blocs numerotes
$b = strlen($matches[2])?" cs_bloc$matches[2]":'';
// title
$title = function_exists('blocs_title')
?"<div class='blocs_title blocs_invisible'>".join(_BLOC_TITLE_SEP, blocs_title($titre, $corps, $matches[2], $h<>'')).'</div>'
:''; // valeur par defaut geree en JS
return "<div class='cs_blocs$b'><"._BLOC_TITRE_H." class='blocs_titre$h blocs_click'><a href='javascript:;'>$titre</a></"._BLOC_TITRE_H.">"
.(strlen($res)?"<div class='blocs_resume$r'>\n$res\n</div>":"")
."<div class='blocs_destination$d'>\n\n".blocs_rempl($corps)."\n\n</div>$title</div>";
}
示例2: sommaire_d_une_page
function sommaire_d_une_page(&$texte, &$nbh3, $page = 0, $num_pages = 0)
{
static $index;
if (!$index || $page === false) {
$index = 0;
}
if ($page === false) {
return;
}
// trouver quel <hx> est utilise
$hierarchie = preg_match(',<h(\\d),', $GLOBALS['debut_intertitre'], $regs) ? $regs[1] : '3';
@define('_sommaire_NB_CARACTERES', 30);
$self = nettoyer_uri();
//self();//$GLOBALS['REQUEST_URI'];
// si on n'est pas en mode impression, on calcule l'image de retour au sommaire
if (!defined('_CS_PRINT')) {
$titre = _T('couteau:sommaire_titre');
$haut = "<a title=\"{$titre}\" href=\"" . $self . "#sommaire\" class=\"sommaire_ancre\"> </a>";
// modif cld
} else {
$haut = '';
}
// traitement des intertitres <hx>
preg_match_all(",(<h{$hierarchie}[^>]*)>(.*)</h{$hierarchie}>,Umsi", $texte, $regs);
$nbh3 += count($regs[0]);
$pos = 0;
$sommaire = '';
// calcul de la page
$p = $page ? _T('couteau:sommaire_page', array('page' => $page)) : '';
for ($i = 0; $i < count($regs[0]); $i++, $index++) {
$ancre = " id=\"sommaire_{$index}\">";
// modif cld
if (($pos2 = strpos($texte, $regs[0][$i], $pos)) !== false) {
$titre = preg_replace(',^<p[^>]*>(.*)</p>$,Umsi', '\\1', trim($regs[2][$i]));
// ancre 'haut', sauf si les blocs depliables utilisent h3...
$texte = substr($texte, 0, $pos2) . $regs[1][$i] . $ancre . (strpos($regs[0][$i], 'blocs_titre') === false ? $haut : '') . $titre . substr($texte, $pos2 + strlen($regs[1][$i]) + 1 + strlen($regs[2][$i]));
$pos = $pos2 + strlen($ancre) + strlen($regs[0][$i]);
// tout le texte, sans les notes
$brut = preg_replace(',\\[<a href=["\']#nb.*?</a>\\],', '', echappe_retour($regs[2][$i], 'CS'));
// pas de glossaire
if (function_exists('cs_retire_glossaire')) {
$brut = cs_retire_glossaire($brut);
}
// texte brut
$brut = preg_replace(',[\\n\\r]+,', ' ', textebrut($brut));
$lien = cs_propre(couper($brut, _sommaire_NB_CARACTERES));
$lien = preg_replace('/( |\\s)*[!?,;.:]+$/', '', $lien);
// eviter une ponctuation a la fin
$titre = attribut_html(couper($brut, 100));
// si la decoupe en page est active...
$artpage = function_exists('decoupe_url') && (strlen(_request('artpage')) || $page > 1) ? decoupe_url($self, $page, $num_pages) : $self;
$sommaire .= "<dd><a {$st} title=\"{$titre}\" href=\"{$artpage}#sommaire_{$index}\">{$lien}</a>{$p}</dd>";
// modif cld
}
}
return $sommaire;
}
示例3: sommaire_d_une_page
function sommaire_d_une_page(&$texte, &$nbh3, $page=0, $num_pages=0) {
static $index = 0;
if($page===false) $index = 0;
static $self = NULL;
if(!isset($self))
$self = str_replace('&', '&', nettoyer_uri());//self();//$GLOBALS['REQUEST_URI'];
if($page===false) return;
// trouver quel <hx> est utilise
$root = $niveau = $match = preg_match(',<h(\d),',$GLOBALS['debut_intertitre'],$regs)?$regs[1]:'3';
@define('_sommaire_NB_CARACTERES', 30);
@define('_sommaire_PROFONDEUR', 1);
if(_sommaire_PROFONDEUR>1)
$match = $match .'-' . ($match+_sommaire_PROFONDEUR-1);
// traitement des intertitres <hx>
preg_match_all(",(<h([$match])[^>]*)>(.*)</h\\2>,Umsi", $texte, $regs);
$nbh3 += count($regs[0]);
$pos = 0; $sommaire = '';
// calcul de la page
$suffixe = $page?_T('couteau:sommaire_page', array('page'=>$page)):'';
$fct_lien_retour = function_exists('sommaire_lien_retour')?'sommaire_lien_retour':'sommaire_lien_retour_dist';
$fct_id_ancre = defined('_sommaire_JOLIES_ANCRES')?'sommaire_id_ancre_ex'
:(function_exists('sommaire_id_ancre')?'sommaire_id_ancre':'sommaire_id_ancre_dist');
$nb = count($regs[0]);
for($i=0;$i<$nb;$i++,$index++){
$w = &$regs[0][$i]; $h = &$regs[1][$i]; $n = &$regs[2][$i];
if (($pos2 = strpos($texte, $w, $pos))!==false) {
$t = $regs[3][$i];
// calcul de l'ancre, $t peut etre modifie
$ancre = $fct_id_ancre($index, $t, $n);
$id = " id=\"$ancre\">";
//$titre = preg_replace(',^<p[^>]*>(.*)</p>$,Umsi', '\\1', trim($t));
// ancre 'retour au sommaire', sauf :
// si on imprime, ou si les blocs depliables utilisent h{$n}...
$titre = (defined('_CS_PRINT') OR (strpos($w, 'blocs_titre')!==false))
?$t//$titre
:$fct_lien_retour($self, $t);//$titre);
$texte = substr($texte, 0, $pos2) . $h . $id . $titre
. substr($texte, $pos2 + strlen($h)+1 + strlen($regs[3][$i]));
$pos = $pos2 + strlen($id) + strlen($w);
$brut = sommaire_nettoyer_titre($t);
// pas trop long quand meme...
$lien = cs_propre(couper($brut, _sommaire_NB_CARACTERES));
// eviter une ponctuation a la fin, surtout si la page est precisee
$lien = preg_replace('/( |\s)*'.($page?'[!?,;.:]+$/':'[,;.:]+$/'), '', $lien);
$titre = attribut_html(couper($brut, 100));
// si la decoupe en page est active...
$artpage = (function_exists('decoupe_url') && (strlen(_request('artpage')) || $page>1) )
?decoupe_url($self, $page, $num_pages):$self;
$artpage = "\n<li><a $st title=\"$titre\" href=\"{$artpage}#$ancre\">$lien</a>$suffixe";
if($niveau==$n) $sommaire .= ($sommaire?'</li>':'').$artpage;
elseif($niveau<$n) $sommaire .= "\n<ul>".$artpage;
else $sommaire .= '</li></ul></li>'.$artpage;
$niveau = $n;
}
}
return $sommaire?$sommaire.'</li>'.($niveau!=$root?'</ul>':''):'';
}
示例4: dump_nom_fichier
/**
* Nom du fichier de sauvegarde
* la fourniture de l'extension permet de verifier que le nom n'existe pas deja
*
* @param string $dir
* @param string $extension
* @return string
*/
function dump_nom_fichier($dir, $extension = 'sqlite')
{
include_spip('inc/texte');
$site = isset($GLOBALS['meta']['nom_site']) ? preg_replace(array(",\\W,is", ",_(?=_),", ",_\$,"), array("_", "", ""), couper(translitteration(trim($GLOBALS['meta']['nom_site'])), 30, "")) : 'spip';
$site .= '_' . date('Ymd');
$nom = $site;
$cpt = 0;
while (file_exists($dir . $nom . ".{$extension}")) {
$nom = $site . sprintf('_%03d', ++$cpt);
}
return $nom . ".{$extension}";
}
示例5: BOUCLE_documents_portfoliohtml_4dc0f36e18dd7a26ebc382429cbc9835
function BOUCLE_documents_portfoliohtml_4dc0f36e18dd7a26ebc382429cbc9835(&$Cache, &$Pile, &$doublons, &$Numrows, $SP)
{
static $command = array();
static $connect;
$command['connect'] = $connect = '';
$doublons_index = array();
$in = array();
$in[] = 'png';
$in[] = 'jpg';
$in[] = 'gif';
// Initialise le(s) critère(s) doublons
if (!isset($doublons[$d = 'documents'])) {
$doublons[$d] = '';
}
if (!isset($command['table'])) {
$command['table'] = 'documents';
$command['id'] = '_documents_portfolio';
$command['from'] = array('documents' => 'spip_documents', 'L1' => 'spip_documents_liens', 'L2' => 'spip_types_documents');
$command['type'] = array();
$command['groupby'] = array();
$command['select'] = array("0+documents.titre AS num", "documents.date", "documents.id_document", "L2.mime_type", "L1.id_objet AS id_rubrique", "documents.titre", "documents.fichier");
$command['orderby'] = array('num', 'documents.date');
$command['join'] = array('L1' => array('documents', 'id_document'), 'L2' => array('documents', 'extension'));
$command['limit'] = '';
$command['having'] = array();
}
$command['where'] = array(quete_condition_statut('documents.statut', 'publie,prop,prepa', 'publie', ''), array('(documents.taille > 0 OR documents.distant=\'oui\')'), array('=', 'L1.id_objet', sql_quote(@$Pile[0]['id_rubrique'], '', 'bigint(21) NOT NULL DEFAULT \'0\'')), array('=', 'L1.objet', sql_quote('rubrique')), array('=', 'documents.mode', "'document'"), sql_in('documents.extension', sql_quote($in)), array('=', 'L1.vu', "'non'"), array(sql_in('documents.id_document', $doublons[$doublons_index[] = 'documents'], 'NOT')));
if (defined("_BOUCLE_PROFILER")) {
$timer = time() + microtime();
}
$t0 = "";
// REQUETE
$iter = IterFactory::create("SQL", $command, array('squelettes/inc/inc-rub-documents.html', 'html_4dc0f36e18dd7a26ebc382429cbc9835', '_documents_portfolio', 2, $GLOBALS['spip_lang']));
if (!$iter->err()) {
$SP++;
// RESULTATS
while ($Pile[$SP] = $iter->fetch()) {
foreach ($doublons_index as $k) {
$doublons[$k] .= "," . $Pile[$SP]['id_document'];
}
// doublons
$t0 .= ($t1 = strval(vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_document'], 'document', '', '', true))))) !== '' ? '
<a href="' . $t1 . ('" type="' . interdire_scripts($Pile[$SP]['mime_type']) . '" onclick="location.href=\'' . parametre_url(vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_rubrique'], 'rubrique', '', '', true))), 'id_document', $Pile[$SP]['id_document']) . '#documents_portfolio\';return false;"' . (($t2 = strval(interdire_scripts(@$Pile[0]['exposer']))) !== '' ? ' class="' . $t2 . '"' : '') . (($t2 = strval(interdire_scripts(couper(attribut_html(traiter_doublons_documents($doublons, typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))), '80')))) !== '' ? ' title="' . $t2 . '"' : '') . '>' . interdire_scripts(inserer_attribut(inserer_attribut(filtrer('image_graver', filtrer('image_reduire', copie_locale(get_spip_doc($Pile[$SP]['fichier'])), '0', '100')), 'class', 'spip_vignette_portfolio'), 'alt', interdire_scripts(couper(attribut_html(traiter_doublons_documents($doublons, typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))), '80')))) . '</a>
') : '';
}
$iter->free();
}
if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) {
spip_log(intval(1000 * $timer) . "ms BOUCLE_documents_portfolio @ squelettes/inc/inc-rub-documents.html", "profiler" . _LOG_AVERTISSEMENT);
}
return $t0;
}
示例6: formulaires_configurer_identite_traiter_dist
function formulaires_configurer_identite_traiter_dist()
{
include_spip('inc/config');
set_request('adresse_site', appliquer_adresse_site(_request('adresse_site')));
include_spip('inc/meta');
foreach (array('nom_site', 'slogan_site', 'descriptif_site', 'email_webmaster') as $k) {
ecrire_meta($k, _request($k));
}
include_spip('inc/texte_mini');
$reload = texte_script(couper(_request('nom_site'), 35));
$reload = "<script type='text/javascript'>if (window.jQuery) jQuery('#bando_identite .nom_site_spip .nom').html('{$reload}');</script>";
return array('message_ok' => _T('config_info_enregistree') . $reload, 'editable' => true);
}
示例7: couper_intro3
function couper_intro3($texte, $long, $suite) {
$texte = extraire_multi(preg_replace(",(</?)intro>,i", "\\1intro>", $texte)); // minuscules
$intro = '';
while ($fin = strpos($texte, "</intro>")) {
$zone = substr($texte, 0, $fin);
$texte = substr($texte, $fin + strlen("</intro>"));
if ($deb = strpos($zone, "<intro>") OR substr($zone, 0, 7) == "<intro>")
$zone = substr($zone, $deb + 7);
$intro .= $zone;
}
$texte = nettoyer_raccourcis_typo($intro ? $intro : $texte);
return PtoBR(traiter_raccourcis(preg_replace(',([|]\s*)+,S', '; ', couper($texte, $long, _INTRODUCTION_CODE))));
}
示例8: lien_objet
function lien_objet($id, $type, $longueur = 80, $connect = NULL)
{
include_spip('inc/liens');
$titre = traiter_raccourci_titre($id, $type, $connect);
// lorsque l'objet n'est plus declare (plugin desactive par exemple)
// le raccourcis n'est plus valide
$titre = isset($titre['titre']) ? typo($titre['titre']) : '';
if (!strlen($titre)) {
$titre = _T('info_sans_titre');
}
$url = generer_url_entite($id, $type);
return "<a href='{$url}' class='{$type}'>" . couper($titre, $longueur) . "</a>";
}
示例9: inc_formater_auteur_dist
function inc_formater_auteur_dist($id_auteur, $row=NULL) {
global $connect_id_auteur, $connect_statut;
$id_auteur = intval($id_auteur);
if ($row===NULL)
$row = sql_fetsel("*, (en_ligne<DATE_SUB(NOW(),INTERVAL 15 DAY)) AS parti", "spip_auteurs", "id_auteur=$id_auteur");
$vals = array();
$statut = $row['statut'];
$href = generer_url_ecrire("auteurs","statut=$statut");
$vals[] = "<a href='$href'>" . bonhomme_statut($row) . '</a>';
if (($id_auteur == $connect_id_auteur) OR $row['parti'])
$vals[]= ' ';
else $vals[]= formater_auteur_mail($row, $id_auteur);
if (!$nom = typo($row['nom']))
$nom = "<span style='color: red'>" . _T('texte_vide') . '</span>';
$vals[] = "<a href='"
. generer_url_ecrire('auteur_infos', "id_auteur=$id_auteur")
. "'"
. (!$row['bio'] ? '' : (" title=\"" . attribut_html(couper(textebrut($row["bio"]), 200)) ."\""))
. ">$nom</a>";
$url = traiter_lien_explicite($row["url_site"]);
$vals[] = !$url ? " "
: "<a href='$url'>".couper(sinon(typo($row['nom_site']), $row["url_site"]),30)."</a>";
$contributions = array();
if (autoriser('modifier', 'auteur', $id_auteur, $row)) {
$in = sql_in('statut',
($connect_statut == "0minirezo"
? array('prepa', 'prop', 'publie', 'refuse')
: array('prop', 'publie')));
if ($cpt = sql_countsel("spip_auteurs_articles AS L LEFT JOIN spip_articles AS A ON A.id_article=L.id_article", "L.id_auteur=$id_auteur AND $in"))
$contributions[] = ($cpt>1?$cpt.' '._T('info_article_2'):_T('info_1_article'));
} else {
if ($cpt = sql_countsel("spip_forum AS F", "F.id_auteur=$id_auteur"))
$contributions[] = ($cpt>1?$cpt.' '._T('public:messages_forum'):('1 ' . _T('public:message')));
}
$contributions = pipeline('compter_contributions_auteur',array('args'=>array('id_auteur'=>$id_auteur,'row'=>$row),'data'=>$contributions));
$vals[] = count($contributions)?implode('<br />',$contributions):" ";
return $vals;
}
示例10: formulaires_configurer_relayeur_verifier_dist
function formulaires_configurer_relayeur_verifier_dist()
{
$erreurs = array();
$http_proxy = relayeur_saisie_ou_config(_request('http_proxy'), lire_config('http_proxy', ''));
$http_noproxy = _request('http_noproxy');
if ($http_proxy and !tester_url_absolue($http_proxy)) {
$erreurs['http_proxy'] = _T('info_url_proxy_pas_conforme');
}
if (!isset($erreurs['http_proxy']) and _request('tester_proxy')) {
if (!$http_proxy) {
$erreurs['http_proxy'] = _T('info_obligatoire');
} else {
include_spip('inc/distant');
$test_proxy = _request('test_proxy');
$t = parse_url($test_proxy);
if (!@$t['host']) {
$erreurs['test_proxy'] = _T('info_adresse_non_indiquee');
} else {
include_spip('inc/texte');
// pour aide, couper, lang
$info = "";
if (!need_proxy($t['host'], $http_proxy, $http_noproxy)) {
$info = "<strong>" . _T('page_pas_proxy') . "</strong><br />";
}
// il faut fausser le proxy actuel pour faire le test !
$cur_http_proxy = $GLOBALS['meta']['http_proxy'];
$cur_http_noproxy = $GLOBALS['meta']['http_noproxy'];
$GLOBALS['meta']['http_proxy'] = $http_proxy;
$GLOBALS['meta']['http_noproxy'] = $http_noproxy;
$page = recuperer_page($test_proxy, true);
$GLOBALS['meta']['http_proxy'] = $cur_http_proxy;
$GLOBALS['meta']['http_noproxy'] = $cur_http_noproxy;
if ($page) {
$erreurs['message_ok'] = _T('info_proxy_ok') . "<br />{$info}\n<tt>" . couper(entites_html($page), 300) . "</tt>";
$erreurs['message_erreur'] = '';
} else {
$erreurs['message_erreur'] = $info . _T('info_impossible_lire_page', array('test_proxy' => "<tt>{$test_proxy}</tt>")) . " <b><tt>" . no_password_proxy_url($http_proxy) . "</tt></b>." . aide('confhttpproxy');
}
}
}
}
return $erreurs;
}
示例11: http_auteurs_ressemblants
function http_auteurs_ressemblants($cherche_auteur, $id_message)
{
$cherche_auteur = htmlspecialchars($cherche_auteur);
global $connect_id_auteur;
$query = sql_select("id_auteur, nom", "spip_auteurs", "messagerie<>'non' AND id_auteur<>'$connect_id_auteur' AND pass<>'' AND login<>''");
$table_auteurs = array();
$table_ids = array();
while ($row = sql_fetch($query)) {
$table_auteurs[] = $row['nom'];
$table_ids[] = $row['id_auteur'];
}
$resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
if (!$resultat) {
return '<b>' . _T('info_recherche_auteur_zero', array('cherche_auteur' => $cherche_auteur))."</b><br />";
}
else if (count($resultat) == 1) {
// action/editer_message a du prendre en compte ce cas
list(, $nouv_auteur) = each($resultat);
$row = sql_fetsel("nom", "spip_auteurs", "id_auteur=$nouv_auteur");
$nom_auteur = $row['nom'];
return "<b>"._T('info_ajout_participant')."</b><br />" .
"<ul><li><span class='verdana1 spip_small'><b><span class='spip_medium'>$nom_auteur</span></b></span></li>\n</ul>";
}
else if (count($resultat) < 16) {
$res = '';
$query = sql_select("*", "spip_auteurs", "id_auteur IN (" . join(',', $resultat) . ")", "", "nom");
while ($row = sql_fetch($query)) {
$id_auteur = $row['id_auteur'];
$nom_auteur = $row['nom'];
$email_auteur = $row['email'];
$bio_auteur = $row['bio'];
$res .= "\n<li><span class='spip_medium verdana1'><b>$nom_auteur</b></span>" .
($email_auteur ? " ($email_auteur)" : '') .
"\n <a href='" . redirige_action_auteur("editer_message","$id_message/@$id_auteur", 'message', "id_message=$id_message")
. "'>"
. _T('lien_ajout_destinataire').
"</a>" .
(!trim($bio_auteur) ? '' :
("<br />\n<span class='spip_x-small'>".propre(couper($bio_auteur, 100))."</span>\n")) .
"</li>\n";
}
return "<b>"._T('info_recherche_auteur_ok', array('cherche_auteur' => $cherche_auteur))."</b><br />" .($res ? "<ul>$res</ul>" : '');
}
else {
return "<b>"._T('info_recherche_auteur_a_affiner', array('cherche_auteur' => $cherche_auteur))."</b><br />";
}
}
示例12: debusquer_source
function debusquer_source($objet, $affiche)
{
$quoi = $GLOBALS['debug_objets'][$affiche][$objet];
if (!empty($GLOBALS['debug_objets']['boucle'][$objet]->id_boucle)) {
$nom = $GLOBALS['debug_objets']['boucle'][$objet]->id_boucle;
} else {
$nom = $GLOBALS['debug_objets']['sourcefile'][$objet];
}
$res2 = "";
if ($affiche == 'resultat') {
$legend = $nom;
$req = $GLOBALS['debug_objets']['requete'][$objet];
if (function_exists('_mysql_traite_query')) {
$c = strtolower(_request('connect'));
$c = $GLOBALS['connexions'][$c ? $c : 0]['prefixe'];
$req = _mysql_traite_query($req, '', $c);
}
// permettre le copier/coller facile
// $res = ancre_texte($req, array(), true);
$res = "<div id='T" . md5($req) . "'>\n<pre>\n" . $req . "</pre>\n</div>\n";
// formatage et affichage des resultats bruts de la requete
$ress_req = spip_query($req);
$brut_sql = '';
$num = 1;
// eviter l'affichage de milliers de lignes
// personnalisation possible dans mes_options
$max_aff = defined('_MAX_DEBUG_AFF') ? _MAX_DEBUG_AFF : 50;
while ($retours_sql = sql_fetch($ress_req)) {
if ($num <= $max_aff) {
$brut_sql .= "<h3>" . ($num == 1 ? $num . " sur " . sql_count($ress_req) : $num) . "</h3>";
$brut_sql .= "<p>";
foreach ($retours_sql as $key => $val) {
$brut_sql .= "<strong>" . $key . "</strong> => " . spip_htmlspecialchars(couper($val, 150)) . "<br />\n";
}
$brut_sql .= "</p>";
}
$num++;
}
$res2 = interdire_scripts($brut_sql);
foreach ($quoi as $view) {
// ne pas afficher les $contexte_inclus
$view = preg_replace(",<\\?php.+\\?[>],Uims", "", $view);
if ($view) {
$res2 .= "\n<br /><fieldset>" . interdire_scripts($view) . "</fieldset>";
}
}
} elseif ($affiche == 'code') {
$legend = $nom;
$res = ancre_texte("<" . "?php\n" . $quoi . "\n?" . ">");
} elseif ($affiche == 'boucle') {
$legend = _T('zbug_boucle') . ' ' . $nom;
// Le compilateur prefixe le nom des boucles par l'extension du fichier source.
$gram = preg_match('/^([^_]+)_/', $objet, $r) ? $r[1] : '';
$res = ancre_texte(public_decompiler($quoi, $gram, 0, 'boucle'));
} elseif ($affiche == 'squelette') {
$legend = $GLOBALS['debug_objets']['sourcefile'][$objet];
$res = ancre_texte($GLOBALS['debug_objets']['squelette'][$objet]);
}
return array($legend, $res, $res2);
}
示例13: spiplistes_cherche_auteur
function spiplistes_cherche_auteur () {
if (!$cherche_auteur = _request('cherche_auteur')) return;
$col = strpos($cherche_auteur, '@') !== false ? 'email' : 'nom';
$like = '';
if (strpos($cherche_auteur, '%') !== false) {
$like = " WHERE $col LIKE '" . $cherche_auteur . "'";
$cherche_auteur = str_replace('%', ' ', $cherche_auteur);
}
$sql_result = sql_select("id_auteur,$col", "spip_auteurs", $like);
while($row = sql_fetch($sql_result)) {
$table_auteurs[] = $row[$col];
$table_ids[] = $row['id_auteur'];
}
$resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
$result = ""
. "<div id='boite-result-chercher-auteur'>"
. debut_boite_info(true)
;
if (!$resultat) {
$result .= ""
. "<strong>"._T('texte_aucun_resultat_auteur', array('cherche_auteur' => $cherche_auteur)).".</strong><br />\n"
;
}
else if (count($resultat) == 1) {
list(, $nouv_auteur) = each($resultat);
$result .= ""
. "<strong>"._T('spiplistes:une_inscription')."</strong>:<br />\n"
. "<ul>"
;
$sql_result = sql_select("id_auteur,nom,email,bio", "spip_auteurs", "id_auteur=".sql_quote($nouv_auteur), '', '', 1);
while ($row = sql_fetch($sql_result)) {
$id_auteur = $row['id_auteur'];
$nom_auteur = $row['nom'];
$email_auteur = $row['email'];
$bio_auteur = $row['bio'];
$result .= ""
. "<li class='auteur'>"
. "<a class='nom_auteur' href=\"".generer_url_ecrire(_SPIPLISTES_EXEC_ABONNE_EDIT, "id_auteur=$id_auteur")."\">".typo($nom_auteur)."</a>"
. " | $email_auteur"
. "</li>\n"
;
}
$result .= ""
. "</ul>\n"
;
}
else if (count($resultat) < 16) {
reset($resultat);
unset($les_auteurs);
while (list(, $id_auteur) = each($resultat)) {
$les_auteurs[] = $id_auteur;
}
if($les_auteurs) {
$les_auteurs = join(',', $les_auteurs);
$result .= ""
. "<strong>"._T('texte_plusieurs_articles', array('cherche_auteur' => $cherche_auteur))."</strong><br />"
. "<ul>"
;
$sql_select = array('id_auteur','nom','email','bio');
$sql_result = sql_select($sql_select, "spip_auteurs", "id_auteur IN ($les_auteurs)", '', array('nom'));
while ($row = sql_fetch($sql_result)) {
$id_auteur = $row['id_auteur'];
$nom_auteur = $row['nom'];
$email_auteur = $row['email'];
$bio_auteur = $row['bio'];
$result .= ""
. "<li class='auteur'><span class='nom_auteur'>".typo($nom_auteur)."</span>"
;
if ($email_auteur) {
$result .= ""
. " ($email_auteur)"
;
}
$result .= ""
. " | <a href=\"".generer_url_ecrire(_SPIPLISTES_EXEC_ABONNE_EDIT,"id_auteur=$id_auteur")."\">"
. _T('spiplistes:choisir')."</a>"
;
if (trim($bio_auteur)) {
$result .= ""
. "<br /><font size=1>".couper(propre($bio_auteur), 100)."</font>\n"
;
}
$result .= ""
. "</li>\n"
;
}
$result .= ""
. "</ul>\n"
;
}
}
else {
$result .= ""
//.........这里部分代码省略.........
示例14: couper_intro
function couper_intro($texte, $long)
{
$texte = preg_replace("/(<\\/?)intro>/i", "\\1intro>", $texte);
// minuscules
while ($fin = strpos($texte, "</intro>")) {
$zone = substr($texte, 0, $fin);
$texte = substr($texte, $fin + strlen("</intro>"));
if ($deb = strpos($zone, "<intro>") or substr($zone, 0, 7) == "<intro>") {
$zone = substr($zone, $deb + 7);
}
$intro .= $zone;
}
if ($intro) {
$intro = $intro . ' (...)';
} else {
$intro = couper($texte, $long);
}
// supprimer un eventuel chapo redirecteur =http:/.....
$intro = preg_replace("/^=[^[:space:]]+/", "", $intro);
return $intro;
}
示例15: plugins_afficher_plugin_distant_dist
function plugins_afficher_plugin_distant_dist($url_page, $zip_file, $info, $expose=false, $class_li="item"){
static $id_input=0;
static $versions = array();
static $charger_plugin = null;
$erreur = false;
$s = "";
$titre = $info[0];
$url_doc = $info[1];
$info = $info[2]; // recuperer le tableau
$titre = typo('<multi>'.$titre.'</multi>'); // recuperer les blocs multi du flux de la zone (temporaire?)
$nick = strtolower(basename($zip_file, '.zip'));
$info['prefix'] = $nick;
$plug_file = $zip_file;
// numerotons les occurences d'un meme prefix
$versions[$info['prefix']] = isset($versions[$info['prefix']]) ? $versions[$info['prefix']] + 1 : '';
$id = $info['prefix'] . $versions[$info['prefix']];
$class = $class_li;
$class .= $actif?" actif":"";
$class .= $expose?" on":"";
$erreur = isset($info['erreur']);
if ($erreur)
$class .= " erreur";
$s .= "<li id='$id' class='$class'>";
// checkbox pour activer ou desactiver
// si $actif vaut -1, c'est actif, et ce n'est pas desactivable (extension)
/*
if (!$erreur AND $actif>=0){
$id_input++;
$check = "\n<input type='radio' name='url_zip_plugin' id='label_$id_input' value='O'";
$check .= $actif?" checked='checked'":"";
$check .= " class='checkbox' />";
$check .= "<label for='label_$id_input'>".$titre."</label>";
$s .= "<div class='check'>$check</div>";
}*/
if (!$erreur){
// bouton de telechargement
if (!$charger_plugin)
$charger_plugin = generer_action_auteur('charger_plugin',"charger_zip","./");
$balise_img = chercher_filtre('balise_img');
$action = parametre_url($charger_plugin,'url_zip_plugin',$plug_file);
$s .= "<div class='download'>".
"<a href='$action' title='"._T('plugin_charger')."'>"
. $balise_img(find_in_path("images/telecharger-16.png"),_T('plugin_charger'))
."</a></div>"
;
}
// Cartouche Resume
$s .= "<div class='resume'>";
$desc = $info['descriptif'];
$url_stat = parametre_url($url_page, "plugin",$plug_file);
$s .= "<h3 class='nom'><a href='$url_stat' rel='info'>".$titre."</a></h3>";
$s .= "<div class='short'>".couper($desc,60)."</div>";
if (isset($info['icon']) and $info['icon']) {
include_spip("inc/filtres_images_mini");
$s.= "<div class='icon'><a href='$url_stat' rel='info'><img src='".$info['icon']."' width='32' height='auto' /></a></div>";
}
$s .= "</div>";
if ($erreur){
$s .= "<div class='erreur'>";
foreach($info['erreur'] as $err)
$s .= "$err <br/>";
$s .= "</div>";
}
// afficher les details d'un plug en secours ; la div sert pour l'ajax
$s .= "<div class='details'>";
if ($expose)
$s .= affiche_bloc_plugin_distant($plug_file, $info);
$s .= "</div>";
$s .= "</li>";
return $s;
}