public function getItems() { $items = parent::getItems(); require_once JPATH_COMPONENT . '/helpers/dogecointipping.php'; foreach ($items as $row) { $row->balance = DogecoinTippingHelper::getBalance(array('addresses' => $row->address)); } return $items; }
protected function addToolbar() { $state = $this->get('State'); $canDo = DogecoinTippingHelper::getActions(); $user = JFactory::getUser(); $bar = JToolBar::getInstance('toolbar'); JToolbarHelper::title(JText::_('COM_DOGECOINTIPPING_CPANEL')); if ($canDo->get('core.admin')) { JToolbarHelper::preferences('com_dogecointipping'); } JHtmlSidebar::setAction('index.php?option=com_dogecointipping&view=cpanel'); }
public function display($tpl = null) { if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode('<br />', $errors)); return false; } $app = JFactory::getApplication(); $params = $app->getparams(); $this->assignRef('params', $params); $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx')); $pathway = $app->getPathway(); $pathway->addItem(JText::_('COM_DOGECOINTIPPING_PATHWAY_DASHBOARD')); require_once JPATH_COMPONENT . '/helpers/dogecointipping.php'; $this->address_count = DogecoinTippingHelper::getAddressCount(); $this->inline_amount = DogecoinTippingHelper::getInlineAmount(); $this->_prepareDocument(); parent::display($tpl); }
public function doReward($from_address, $to_address, $amounts) { $address_amounts = DogecoinTippingHelper::getBalance(array('addresses' => $from_address)); $inline_amounts = $this->getInlineAmounts($from_address); $withdraw_address_amount = 0; $withdraw_inline_amount = 0; $article_id = $_POST['article_id']; require_once JPATH_SITE . '/components/com_content/models/article.php'; $articleModel = new ContentModelArticle(); $article = $articleModel->getItem($article_id); $params = JComponentHelper::getParams('com_dogecointipping'); $email_title = $params->get('email_title'); $email_template = $params->get('email_template'); $returnInfo = new stdClass(); if ($address_amounts - 1 >= $amounts) { //withdraw from dogecoin address try { $withdrawInfo = $this->block_io->withdraw(array('from_addresses' => $from_address, 'to_addresses' => $this->withdraw_address, 'amounts' => $amounts)); } catch (Exception $e) { throw $e; } $this->add_inline($to_address, $amounts); $returnInfo->status = sprintf(JText::_('COM_DOGECOINTIPPING_WITHDRAW_BLOCKIO_SUCCESS'), $from_address, $amounts); $withdraw_address_amount = $amounts; } elseif ($address_amounts > 2 && $address_amounts - 1 + $inline_amounts - 1 >= $amounts) { //withdraw from dogecoin address and site inline amount try { $withdrawInfo = $this->block_io->withdraw(array('from_addresses' => $from_address, 'to_addresses' => $this->withdraw_address, 'amounts' => $address_amounts - 1)); } catch (Exception $e) { throw $e; } $this->add_inline($to_address, $address_amounts - 1); try { $this->rewardInline($from_address, $to_address, $amounts - $address_amounts + 1); } catch (Exception $e) { throw $e; } $returnInfo->status = sprintf(JText::_('COM_DOGECOINTIPPING_WITHDRAW_BLOCKIO_SUCCESS'), $from_address, $address_amounts - 1) . "<br>"; $returnInfo->status .= sprintf(JText::_('COM_DOGECOINTIPPING_WITHDRAW_INLINE_SUCCESS'), $amounts - $address_amounts + 1); $withdraw_address_amount = $address_amounts - 1; $withdraw_inline_amount = $amounts - $address_amounts + 1; } elseif ($inline_amounts - 1 >= $amounts) { //withdraw from site inline amount try { $withdrawInfo = $this->rewardInline($from_address, $to_address, $amounts); } catch (Exception $e) { throw $e; } $returnInfo->status = sprintf(JText::_('COM_DOGECOINTIPPING_WITHDRAW_INLINE_SUCCESS'), $amounts); $withdraw_inline_amount = $amounts; } else { // no money throw new Exception(JText::_('COM_DOGECOINTIPPING_WITHDRAW_NO_ENOUGH_MONEY')); } $desc = $_POST['reward_desc']; $to_userid = $_POST['to_userid']; $query_string = $_POST['query_string']; $data = new stdClass(); $data->from_user_id = JFactory::getUser()->id; $data->to_user_id = $to_userid; $data->amount = $amounts; $data->desc = $desc; $data->payment_result = $returnInfo->status; $data->query_string = $query_string; $data->address_amount = $withdraw_address_amount; $data->inline_amount = $withdraw_inline_amount; $data->created = JFactory::getDate()->toSql(); $data->article_id = $article_id; JFactory::getDBO()->insertObject('#__dogecointipping_reward', $data); $user = JFactory::getUser(); $email_body = JString::str_ireplace('{from_user}', $user->name, $email_template); $email_body = JString::str_ireplace('{amount}', $amounts, $email_body); $article_url = JURI::root() . 'index.php?' . $query_string; $email_body = JString::str_ireplace('{article}', '<a href="' . $article_url . '" target="_blank">' . $article->title . '</a>', $email_body); $this->sendMail($to_userid, $email_title, $email_body); return $returnInfo; }