123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- /**
- *
- * PHP Pro Bid $Id$ hkZjoGLOWZ0cqGeM/U8ASu1lgLmkR9qJZSNvnWbjuSI=
- *
- * @link http://www.phpprobid.com
- * @copyright Copyright (c) 2016 Online Ventures Software & CodeCube SRL
- * @license http://www.phpprobid.com/license Commercial License
- *
- * @version 7.8
- */
- /**
- * blocked user table row object model
- */
- namespace Ppb\Db\Table\Row;
- class BlockedUser extends AbstractRow
- {
- /**
- * types of variables/values accepted for blocking
- */
- const TYPE_IP = 'ip';
- const TYPE_EMAIL = 'email';
- const TYPE_USERNAME = 'username';
- /**
- * types of actions that can be blocked
- */
- const ACTION_REGISTER = 'register';
- const ACTION_PURCHASE = 'purchase';
- const ACTION_MESSAGING = 'messaging';
- /**
- *
- * block types
- *
- * @var array
- */
- public static $blockTypes = array(
- self::TYPE_IP => 'IP Address',
- self::TYPE_EMAIL => 'Email Address',
- self::TYPE_USERNAME => 'Username',
- );
- /**
- *
- * blocked actions
- *
- * @var array
- */
- public static $blockedActions = array(
- self::ACTION_REGISTER => 'Registering / Logging In',
- self::ACTION_PURCHASE => 'Purchasing',
- self::ACTION_MESSAGING => 'Messaging',
- );
- /**
- *
- * get blocked actions as an array
- * or for display purposes
- *
- * @param bool|string $separator
- *
- * @return array
- */
- public function getBlockedActions($separator = false)
- {
- $blockedActions = array_filter(\Ppb\Utility::unserialize($this->getData('blocked_actions'), array()));
- if ($separator !== false) {
- $output = array();
- $translate = $this->getTranslate();
- foreach ($blockedActions as $blockedAction) {
- $output[] = $translate->_(self::$blockedActions[$blockedAction]);
- }
- return implode($separator, $output);
- }
- return $blockedActions;
- }
- /**
- *
- * return the block message that the blocked user sees
- *
- * @return string
- */
- public function blockMessage()
- {
- $translate = $this->getTranslate();
- $blocker = $this->findParentRow('\Ppb\Db\Table\Users');
- $type = $this->getData('type');
- $value = $this->getData('value');
- $blockReason = $this->getData('block_reason');
- $showReason = $this->getData('show_reason');
- $message = sprintf(
- $translate->_('Your %s (%s) has been blocked from %s by %s.'),
- self::$blockTypes[$type],
- $value,
- $this->getBlockedActions(', '),
- ($blocker) ? $blocker['username'] : $translate->_('the administrator'));
- if ($showReason && !empty($blockReason)) {
- $message .= '<br>' . sprintf($translate->_('Block Reason: %s'), $blockReason);
- }
- return $message;
- }
- }
|