*/
class Thread extends BaseObject
{
- private $parents = array();
+ private $parents = [];
private $mode = null;
private $writable = false;
private $profile_owner = 0;
* Constructor
*
* @param string $mode The mode
- * @param boolean $preview boolean value
+ * @param boolean $preview Are we in the preview mode?
+ * @param boolean $writable Override the writable check
*/
- public function __construct($mode, $preview)
+ public function __construct($mode, $preview, $writable = false)
{
- $this->setMode($mode);
+ $this->setMode($mode, $writable);
$this->preview = $preview;
}
* Set the mode we'll be displayed on
*
* @param string $mode The mode to set
+ * @param boolean $writable Override the writable check
*
* @return void
*/
- private function setMode($mode)
+ private function setMode($mode, $writable)
{
if ($this->getMode() == $mode) {
return;
break;
case 'profile':
$this->profile_owner = $a->profile['profile_uid'];
- $this->writable = can_write_wall($a, $this->profile_owner);
+ $this->writable = can_write_wall($this->profile_owner);
break;
case 'display':
$this->profile_owner = $a->profile['uid'];
- $this->writable = can_write_wall($a, $this->profile_owner);
+ $this->writable = can_write_wall($this->profile_owner) || $writable;
+ break;
+ case 'community':
+ $this->profile_owner = 0;
+ $this->writable = $writable;
break;
default:
logger('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').', LOGGER_DEBUG);
public function getTemplateData($conv_responses)
{
$a = self::getApp();
- $result = array();
+ $result = [];
$i = 0;
foreach ($this->parents as $item) {