Aller au contenu
Aurelienazerty

Accéder à des parties précises de la config contenues dans la Bdd

Publications recommandées

Bonjour,

Je suis en train de refaire un espace Bench sur mon site (lien ici) et au lieu de faire rentrer par l'utilisateur sa config à la main, j'ai fais le choix d'utiliser le plugin ma-config.com.

Si globalement ça fonctionne sans problème, j'ai quand même un regrêt, celui de ne pas pouvoir avoir accès simplement au type de carte graphique ou CPU. En fait le but étant de pouvoir faire le distingo entre AMD / Intel, et AMD / Nvidia. Alors certes, si je parse le HTML de la config qui est dans la table profile_maconfig je peux arriver à mes fins... Mais comment dire, c'est un peu barbare !

Y a t'il d'autre possibilité ? Y a t'il des expressions régulières déjà faites qui font le job ?

Cordialement,

Aurélien

Partager cette publication


Lien à poster
Partager sur d’autres sites

Bonjour aurélien, au départ je ne voulais pas donner l'accès complet au xml pour éviter de me faire voler le concept. Par contre je peux imaginer de fournir une api xml pour ce qui est accessible. Je n'ai plus trop fait évoluer ce SDK car il n'a pas atteint de gros sites qui était le but au départ. Il est prévu que je repense complètement la vision sur ce SDK pour proposer quelque chose de bien meilleur. J'ai quelque idées mais ce n'est pas dans l'immédiat.

Partager cette publication


Lien à poster
Partager sur d’autres sites

C'est bon, j'ai fais ça à la sale (pour ceux que ça interesse) :

class config {

var $carte_graphique = false;
var $processeur = false;
var $images = null;

public function config($html) {
$dom = new DOMDocument;
$dom->loadHTML($html);

$xpath = "//table/tr/td";
$dom_xpath = new DOMXPath($dom);
$nodes = $dom_xpath->query($xpath);

foreach($nodes as $node) {
$val = trim($node->nodeValue);
if ($this->processeur === true) {
$this->processeur = $val;
}
if ($this->carte_graphique === true) {
$this->carte_graphique = $val;
}
if (preg_match('/Processeur/i', $val)) {
$this->processeur = true;
}
if (preg_match('/Carte graphique/i', $val)) {
$this->carte_graphique = true;
}
}

$this->images = scannageRep(REALPATH . '/images/benchmarks/');

}

public function processeur() {
return $this->processeur;
}

public function carteGraphique() {
return $this->carte_graphique;
}

/**
* Retrouve quel est el bon logo
*/
private function getLogo($attrib) {
$logo = 'autre.jpg';
foreach ($this->images as $img) {
$nomImg = substr($img, 0, -4);
if (preg_match("/" . $nomImg . "/i", $attrib)) {
$logo = $img;
break;
}
}
return '/images/benchmarks/' . $logo;
}

public function logo_cpu() {
return $this->getLogo($this->processeur());
}

public function logo_gpu() {
return $this->getLogo($this->carteGraphique());
}
}

Partager cette publication


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Se connecter dès maintenant

×