Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => : fedegot 01 May 2014, 09:42:51
-
Salve, dopo l'aggiornamento alla 3.3.0 Adsmanager mi da questo errore quando si invia un nuovo annuncio schermata bianca con link indirizzato a xxx.html?task=save e in modalità debug mi segnala questo errore:
Fatal error: Declaration of AdsmanagerTableContents::delete() must be compatible with that of JTableInterface::delete() in /home/etuaooot/public_html/administrator/components/com_adsmanager/tables/contents.php on line 642
[/color]Avete qualche soluzione? grazie per le future risposte :-\
-
ciao..
l'ultima versione di ads manager (ho controllato ieri l'altro) è precedente al rilascio della 3.3
ora per quanto possa stimare quel bravissimo sviluppatore non me lo immagino come mago merlino e nemmeno come nostradamus.
-
Grazie per la celere risposta, dunque devo solo attendere un update di adsmanager? ???
-
se ci sarà...
sono sviluppatori che distribuiscono gratis, è almeno la terza volta che deve ricominciare dacapo quindi la selezione è durissima..
ne rimarranno pochini tra breve.
-
bhe ha anche un pò di giroconto dalle versioni bronze, silver e gold (penso), ma che sia un errore dovuto all'incopatibilità tra J e ADS? dovrei portare alla versione precedente joomla o aspettare l'update di adsmanager.
-
vedremo..
e poi sai il lavoro, la famiglia, le vacanze..
e poi quelli che in rete è sempre tutto gratis.
comunque controlla se hai fatto tutto per bene, magari non dipende da quello, della serie che dio ce la mandi buona.
-
verifica la dichiarazione del metodo alla linea indicata nell'errore (/administrator/components/com_adsmanager/tables/contents.php linea 642).
deve essere:
public function delete($oid = null)
ciao,
marco
-
ps: ovviamente al posto di $oid può esserci un altro nome, ma è importante che vi sia '=null'
ciao
-
Grazie per le risposte,
function delete($adid,$conf,$plugins=null)
{
$adid = (int) $adid;
$this->_db->setQuery("SELECT * FROM #__adsmanager_ads WHERE id=$adid");
$ad = $this->_db->loadObject();
$this->_db->setQuery("DELETE FROM #__adsmanager_adcat WHERE adid=$adid");
$this->_db->query();
/*$this->_db->setQuery( "UPDATE #__adsmanager_ads SET published=0,recall_mail_sent = 0 WHERE id = $adid");
$this->_db->query();
$this->_db->setQuery( "INSERT INTO #__adsmanager_adcat (adid,catid) VALUES ($adid,$conf->archive_catid)");
$this->_db->query();
*/
$this->_db->setQuery("DELETE FROM #__adsmanager_ads WHERE id=$adid");
$this->_db->query();
$this->_db->setQuery( "SELECT name FROM #__adsmanager_fields WHERE `type` = 'file'");
$file_fields = $this->_db->loadObjectList();
foreach($file_fields as $file_field)
{
$filename = "\$ad->".$file_field->name;
eval("\$filename = \"$filename\";");
if ( is_file(JPATH_ROOT."/images/com_adsmanager/files/".$filename)) {
JFile::delete(JPATH_ROOT."/images/com_adsmanager/files/".$filename);
}
}
$current_images = json_decode($ad->images);
if ($current_images == null)
$current_images = array();
foreach($current_images as $img)
{
$pict = JPATH_ROOT."/images/com_adsmanager/ads/".$img->image;
if ( is_file( $pict)) {
JFile::delete($pict);
}
$pic = JPATH_ROOT."/images/com_adsmanager/ads/".$img->thumbnail;
if ( is_file( $pic)) {
JFile::delete($pic);
}
$pic = JPATH_ROOT."/images/com_adsmanager/ads/".$img->medium;
if ( is_file( $pic)) {
JFile::delete($pic);
}
}
foreach($plugins as $plugin)
{
$plugin->onDelete(0,$adid);
}
if (function_exists('deletePaidAd')){
deletePaidAd($adid);
}
}
}
Però non funziona :( , ho visto che è stato segnalato sul forum joomprod, aspetto e incrocio le dita :-[
-
ci credo che non funziona, le dichiarazioni non coincidono.
per poter derivare da un'interfaccia astratta le dichiarazioni devono essere coincidenti. dovranno riscrivere un bel po' di codice.
puoi:
- fare un downgrade
- aspettare l' upgrade dell'upgrade
- mettere le mani sul codice (ma devi essere esperto)
ciao
-
meglio usare estensioni aggiornate, ne va della sicurezza.
-
solo se l'aggiornamento è di sicurezza, al limite si può sempre fare un patch sulla parte incriminata.
se ci stai smenando dei soldi non è il caso di parlare troppo in via teorica: mala tempora currunt!! :( :(
ciao,
marco
-
che ciodo >:( mi tocca fare il downgrade?
-
HUHUHUHU hanno annunciato un fix entro oggi 8)
-
http://www.joomprod.com/adsmanager è uscito l'aggiornamento 2911, è tutto ok 8)
-
sono contento, è una delle mie estensioni preferite e poi mi piace il suo motto:
kiss = acronimo di "fai le cose semplici, stupido"
-
un [risolto] nel titolo del post di apertura aiuta anche gli altri...