Acajoom permettre un minimum de deux arguments lors de l'importation

Appréciation moyenne:  / 0
Très mauvaisTrès bien 

Acajoom: autoriser un minimum de deux champs pour l'importation des souscripteurs

Problème: j'ai un logiciel qui m'exporte mes contacts, mais il n'a dans ses données que l'adresse mail et le nom du contact.

Or, je ne souhaite pas reprendre les lignes exportées une à une pour rajouter les deux champs (inscrit et html) supplémentaires exigés par l'import de acajoom.

Il faut donc que je trouve une technique pour remplir ses champs automatiquement s'ils n'existent pas.

Après quelques recherches, je vais modifier le code du fichier:

/administrator/components/com_acajoom/classes/class.subscribers.php

Au niveau de la fonction:

function import($listId)

je cherche la partie concernant le test sur le nombre de paramètres de la ligne importée, et le voilà: 

if(count($values) != 4){
  echo '<br />'.acajoom::printM('red' , $row.' : Acajoom needs 4 arguments for each user separated by a comma (,)' );
  continue;
}

 La modification consiste à tester, dans le cas où le nombre de paramètres est différent de 4, si ce nombre est aussi inférieur à 2, et dans ce cas on poursuit le traitement en erreur à la ligne du contact suivant, comme le code d'origine lorsque les arguments ne sont pas 4.

Si le nombre d'argument n'est pas 4 et qu'il n'est pas inférieur à 2 (car mon fichier d'import est structuré avec 2 arguments, à adapter à chaque cas à ce niveau, j'ai fait simple pour moi), je rajoute les deux arguments manquants.

Voici le code modifié:

if(count($values) != 4)
{
	if(count($values) < 2)
	{
		echo '<br />'.acajoom::printM('red' , $row.' : Acajoom needs 4 arguments for each user separated by a comma (,)' );
		continue;
	}
else
	{
		$values[2] = 1;
		$values[3] = 1;
	}
}

et c'est tout, ça fonctionne très bien ainsi pour moi.

Reste un petit problème, le logiciel utilisé pour exporter les données génère les entrées en les encadrant de guillemets, et acajoom met du coup tout ça en erreur.

Je rajoute donc au niveau du code le remplacement de guillemet si trouvée par rien du tout: