Example #1
0
 function perform(&$in)
 {
     global $pommo;
     $dbo =& $pommo->_dbo;
     $logger =& $pommo->_logger;
     if (!is_numeric($in['id']) || !is_numeric($in['subscriber_id'])) {
         $logger->addErr('PommoPending::perform() -> invalid pending object sent.');
         return false;
     }
     switch ($in['type']) {
         case 'add':
             // subscribe
             $query = "\n\t\t\t\t\tUPDATE " . $dbo->table['subscribers'] . "\n\t\t\t\t\tSET status=1\n\t\t\t\t\tWHERE subscriber_id=%i";
             $query = $dbo->prepare($query, array($in['subscriber_id']));
             if (!$dbo->query($query)) {
                 $logger->addErr('PommoPending::perform() -> Error updating subscriber.');
                 return false;
             }
             break;
         case 'change':
             // update
             $pommo->requireOnce($pommo->_baseDir . 'inc/helpers/subscribers.php');
             $subscriber =& $in['array'];
             if (!PommoSubscriber::update($subscriber, 'REPLACE_ACTIVE')) {
                 $logger->addErr('PommoPending::perform() -> Error updating subscriber.');
                 return false;
             }
             break;
         case 'password':
             // change (admin) password
             $pommo->requireOnce($pommo->_baseDir . 'inc/helpers/subscribers.php');
             $password = PommoHelper::makePassword();
             $config = PommoAPI::configGet(array('admin_username', 'admin_email'));
             if (!PommoAPI::configUpdate(array('admin_password' => md5($password)), TRUE)) {
                 $logger->addMsg('Error updating password.');
                 return false;
             }
             $logger->addErr(sprintf(Pommo::_T('You may now %1$s login %2$s with username: %3$s and password: %4$s '), '<a href="' . $pommo->_baseUrl . 'index.php">', '</a>', '<span style="font-size: 130%">' . $config['admin_username'] . '</span>', '<span style="font-size: 130%">' . $password . '</span>'));
             break;
     }
     $query = "\n\t\t\tDELETE FROM " . $dbo->table['subscriber_pending'] . "\n\t\t\tWHERE pending_id=%i";
     $query = $dbo->prepare($query, array($in['id']));
     if (!$dbo->query($query)) {
         $logger->addErr('PommoPending::perform() -> Error removing pending entry.');
         return false;
     }
     return true;
 }