rogeriossilva1
(usa Outra)
Enviado em 18/03/2013 - 09:47h
Olá pessoal preciso de ajuda para terminar de trazer os dados do Cpanel em meu gerenciador.
Seguinte preciso trazer as informações das contas de email:
Cota da e espaço usado.
Tenho as funções, mas estou com dificuldade:
Esta é a função que "captura" a cota
public function getQuota($email, $domain=''){
if (!$email || empty($email)) {
return 0;
}
if (empty($domain)) {
$domain = $this->_host;
}
$quota = array();
$response = $this->sendRequest('mail/editquota.html', array('email' => $email,'domain' => $domain));
if (!$response) {
return 0;
}
preg_match('/quota" value="([^"]*)/', $response, $quota);
return ($quota[1] == 0) ? 'Unlimited' : $quota[1] . ' MB';
}
Minha dificuldade está em fazer este array e trazer estas informações.
Sei que funciona, pois eu já consegui criar, excluir e alterar senha, sem necessidade de acessar o cpanel.
O erro que gera é no preg_match() expects parameter 2 to be string para trazer este retorno e pode exibi-lo.
Abaixo segue a função de espaço usado:
public function getUsedSpace($email, $domain='')
{
if (!$email || empty($email)) {
return 0;
}
if (empty($domain)) {
$domain = $this->_host;
}
// Fix: adding the domain would increase the email result if many emails
$response = $this->sendRequest('mail/pops.html?domain='.$domain.'&itemsperpage=5000');
$matches = array();
$values = array();
if (!$response) {
return 0;
}
preg_match_all('/>([^\\s>]*@'.$domain.')</i', $response, $matches, PREG_PATTERN_ORDER);
preg_match_all('/>([\d].*[GMK]B|None)<\/d/i', $response, $values, PREG_PATTERN_ORDER);
if (empty($matches) || !isset($matches[1]) || !isset($values[1])) {
return 0;
}
foreach ($matches[1] as $key => $match_email) {
if ($match_email == $email . '@' . $domain) {
return (!isset($values[1][$key])) ? 0 : $values[1][$key];
}
}
return 0;
}
Por favor me ajudem: