Mira, para que me entiendas posteo los códigos:
TPL:
Functions:
Y el código que quiero instertar:
Como ves, el código del TPL va en medio del script, y resulta bastante difícil hacerlo de otra forma.
Es un widget de Wordpress, por lo que modificar el fuctions afectaría a otras areas.
Para llamar al script se debe poner en el post:
...y esto muestra la tabla. Si añado PHP al post marca error.
Como te digo, la única solución (sin tener que modificar todo el widget) es encontrar la manera de camuflar el php, o bien, como tu dices, darle otro valor al corchete, e ahí el problema.
TPL:
Código [Seleccionar]
<table cellpadding="3" width="100%" border="0">
<tr>
<td width="35" style="vertical-align: top;">
<img src="{icon}" alt="{icon}">
</td>
<td>
<b>{tdownload}:</b> <a href="{url}">{name}</a> <small>({size})</small> <b>{tclicks}:</b> {clicks} <br />
<b>{tadded}:</b> {date} <br />
<b>{tclicks}:</b> {clicks}
</td>
</tr>
<tr>
<td colspan="2">{description}</td>
</tr>
</table>
Functions:
Código [Seleccionar]
### Load Download Page Template
function DownloadsManager_DownloadsPage($content) {
global $wpdb, $table_prefix, $iconsdir;
if(!preg_match("|<!--download table-->|", $content))
return $content;
$start = strpos($content, '<!--download table-->');
$before = substr($content, 0, $start);
$after = substr($content, 21+$start);
$dmTemplate = 'wp-content/plugins/downloads-manager/page-download-template.tpl';
$handle = @fopen($dmTemplate, 'r');
if(!$handle)
return __('Error... Unable to load page template. Search page-download-template.tpl in your plugin folder!','downloads-manager');
$dmTemplateContent = fread($handle, filesize($dmTemplate));
$content = "";
$cats = $wpdb->get_results("SELECT id, name FROM ".$table_prefix."dm_category");
if(!empty($cats)) {
foreach($cats as $cat) {
$rows = $wpdb->get_results("SELECT d.id,d.name,d.link,d.icon,d.category,d.description,d.date,d.clicks FROM ".$table_prefix."dm_downloads d WHERE d.category='".$cat->id."'", ARRAY_A);
if(!empty($rows)) {
$content .= "<h2 style=\"border-bottom: 1px dotted #CCC\">".$cat->name."</h2>";
foreach($rows as $row) {
$row['icon'] = $iconsdir.'/'.$row['icon'];
$row['date'] = date('d/m/Y', $row['date']);
$row['size'] = FileSizeOf($row['link']);
$row['url'] = dm_get_url_type($row['id']);
$dmTemplateContent = preg_replace('/\{(t)([^}]*)}/e', __('\\2','downloads-manager'), $dmTemplateContent);
$content .= preg_replace('/\{([^}]*)}/e', '$row[\\1]', $dmTemplateContent);
}
}
}
}
fclose($handle);
$content = $before.$content.$after;
return $content;
}
?>
Y el código que quiero instertar:
Código [Seleccionar]
<?php
$agent = $_SERVER['HTTP_USER_AGENT'];
$pos = strpos($agent, "Firefox");
if ($pos == false) { ?>
<div>
Texto si no está usando FF
</div>
<? }else{ ?>
AQUÍ DEBE IR EL TPL
<? } ?>
Como ves, el código del TPL va en medio del script, y resulta bastante difícil hacerlo de otra forma.
Es un widget de Wordpress, por lo que modificar el fuctions afectaría a otras areas.
Para llamar al script se debe poner en el post:
Código [Seleccionar]
<!--download table-->
...y esto muestra la tabla. Si añado PHP al post marca error.
Como te digo, la única solución (sin tener que modificar todo el widget) es encontrar la manera de camuflar el php, o bien, como tu dices, darle otro valor al corchete, e ahí el problema.