db;
$phpgw_setup->oProc->RenameTable('phpgw_certificados','phpgw_certificados_old');
$phpgw_setup->oProc->CreateTable('phpgw_certificados',array(
'fd' => array(
'email' => array( 'type' => 'varchar', 'precision' => 60, 'nullable' => false),
'chave_publica' => array( 'type' => 'text'),
'expirado' => array('type' => 'bool', 'default' => 'false'),
'revogado' => array('type' => 'bool', 'default' => 'false'),
'serialnumber' => array('type' => 'int', 'precision' => 8, 'nullable' => false),
'authoritykeyidentifier' => array( 'type' => 'text', 'nullable' => false),
),
'pk' => array('email','serialnumber','authoritykeyidentifier'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$sql = "SELECT * FROM phpgw_certificados_old";
$phpgw_setup->oProc->query($sql,__LINE__,__FILE__);
if($phpgw_setup->oProc->num_rows())
{
echo "
Verificando certificados para inserir na nova tabela...
";
include_once(PHPGW_INCLUDE_ROOT."/seguranca/classes/CertificadoB.php");
while($phpgw_setup->oProc->next_record())
{
$email = $phpgw_setup->oProc->f('email');
$chave_publica = $phpgw_setup->oProc->f('chave_publica');
$c1 = new certificadoB();
$c1->certificado($chave_publica);
if ($c1->apresentado)
{
$c2 = new Verifica_Certificado($c1->dados,$chave_publica);
if (!$c1->dados['EXPIRADO'] && !$c2->revogado && $c2->status)
{
$insert[] = array(
'sql' => 'INSERT INTO phpgw_certificados(email,chave_publica,expirado,revogado,serialnumber,authoritykeyidentifier)'.
'VALUES (\''.$email.'\',\''.$chave_publica.'\',\'0\',\'0\',\''.$c1->dados['SERIALNUMBER'].'\',\''.$c1->dados['AUTHORITYKEYIDENTIFIER'].'\')',
'email' => $email);
// o codigo abaixo nao funciona, por isso teve q ser feito fora do if...while...
//$db2->query($insert,__LINE__,__FILE__);
//echo "
email: " . $email . " -> ok
";
}
else
{
echo "
erro no email: " . $email .
"
" . print_r($c1->dados) . "
";
}
}
}
}
foreach($insert as $item)
{
$db2->query($item['sql'],__LINE__,__FILE__);
echo "
email: " . $item['email'] . " -> ok
";
}
$GLOBALS['phpgw_setup']->oProc->DropTable('phpgw_certificados_old');
$GLOBALS['setup_info']['expressoMail1_2']['currentver'] = '1.334';
return $GLOBALS['setup_info']['expressoMail1_2']['currentver'];
}
}
if ($GLOBALS['setup_info']['expressoMail1_2']['currentver'] == '1.223'){
$test[] = '1.223';
function expressoMail1_2_upgrade1_223() {
$oProc = $GLOBALS['phpgw_setup']->oProc;
$oProc->CreateTable('phpgw_expressomail_contacts',array(
'fd' => array(
'id_owner' => array( 'type' => 'int', 'precision' => 8, 'nullable' => false),
'data' => array( 'type' => 'text')
),
'pk' => array('id_owner'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$oProc->CreateTable('phpgw_certificados',array(
'fd' => array(
'email' => array( 'type' => 'varchar', 'precision' => 60, 'nullable' => false),
'chave_publica' => array( 'type' => 'text'),
'expirado' => array('type' => 'bool', 'default' => 'false')
),
'pk' => array('email'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$GLOBALS['setup_info']['expressoMail1_2']['currentver'] = '1.333';
return $GLOBALS['setup_info']['expressoMail1_2']['currentver'];
}
}
if ($GLOBALS['setup_info']['expressoMail1_2']['currentver'] == '1.2031'){
$test[] = '1.2031';
function expressoMail1_2_upgrade1_2031() {
$oProc = $GLOBALS['phpgw_setup']->oProc;
$oProc->CreateTable('phpgw_expressomail_contacts',array(
'fd' => array(
'id_owner' => array( 'type' => 'int', 'precision' => 8, 'nullable' => false),
'data' => array( 'type' => 'text')
),
'pk' => array('id_owner'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$oProc->CreateTable('phpgw_certificados',array(
'fd' => array(
'email' => array( 'type' => 'varchar', 'precision' => 60, 'nullable' => false),
'chave_publica' => array( 'type' => 'text'),
'expirado' => array('type' => 'bool', 'default' => 'false')
),
'pk' => array('email'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$GLOBALS['setup_info']['expressoMail1_2']['currentver'] = '1.223';
return $GLOBALS['setup_info']['expressoMail1_2']['currentver'];
}
}
if ($GLOBALS['setup_info']['expressoMail1_2']['currentver'] == '1.2211'){
$test[] = '1.2211';
function expressoMail1_2_upgrade1_2211() {
$oProc = $GLOBALS['phpgw_setup']->oProc;
$oProc->CreateTable('phpgw_expressomail_contacts',array(
'fd' => array(
'id_owner' => array( 'type' => 'int', 'precision' => 8, 'nullable' => false),
'data' => array( 'type' => 'text')
),
'pk' => array('id_owner'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$oProc->CreateTable('phpgw_certificados',array(
'fd' => array(
'email' => array( 'type' => 'varchar', 'precision' => 60, 'nullable' => false),
'chave_publica' => array( 'type' => 'text'),
'expirado' => array('type' => 'bool', 'default' => 'false')
),
'pk' => array('email'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$GLOBALS['setup_info']['expressoMail1_2']['currentver'] = '1.223';
return $GLOBALS['setup_info']['expressoMail1_2']['currentver'];
}
}
if ($GLOBALS['setup_info']['expressoMail1_2']['currentver'] == '1.222'){
$test[] = '1.222';
function expressoMail1_2_upgrade1_222() {
$oProc = $GLOBALS['phpgw_setup']->oProc;
$oProc->CreateTable('phpgw_expressomail_contacts',array(
'fd' => array(
'id_owner' => array( 'type' => 'int', 'precision' => 8, 'nullable' => false),
'data' => array( 'type' => 'text')
),
'pk' => array('id_owner'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$oProc->CreateTable('phpgw_certificados',array(
'fd' => array(
'email' => array( 'type' => 'varchar', 'precision' => 60, 'nullable' => false),
'chave_publica' => array( 'type' => 'text'),
'expirado' => array('type' => 'bool', 'default' => 'false')
),
'pk' => array('email'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);
$GLOBALS['setup_info']['expressoMail1_2']['currentver'] = '1.223';
return $GLOBALS['setup_info']['expressoMail1_2']['currentver'];
}
}
?>