"edit",
"e" => "edit minor",
"C" => "create",
"D" => "delete",
"R" => "revert"
);
var $_summary = null;
var $_payload = null;
public function setPayload($payload){
$this->_payload = $payload;
}
public function attic_write ( $filename ) {
if ( strpos ( $filename, 'data/attic' ) !== false ) {
return true;
}
return false;
}
public function valid_namespace ( ) {
global $INFO;
$validNamespaces = $this -> getConf ( 'namespaces' );
if ( !empty ( $validNamespaces ) ) {
$validNamespacesArr = explode ( ',', $validNamespaces );
foreach ( $validNamespacesArr as $namespace ) {
if ( strpos( $namespace, $INFO['namespace'] ) === 0 ) {
return true;
}
}
return false;
}
return true;
}
public function set_event ( $event ) {
$changeType = $event -> data['changeType'];
$event_type = $this -> _event_type[$changeType];
$summary = $event -> data['summary'];
if ( !empty ( $summary ) ) {
$this -> _summary = $summary;
}
if ( $event_type == 'create' && $this -> getConf ( 'notify_create' ) == 1 ) {
$this -> _event = 'create';
return true;
} elseif ( $event_type == 'edit' && $this -> getConf ( 'notify_edit' ) == 1 ) {
$this -> _event = 'edit';
return true;
} elseif ( $event_type == 'edit minor' && ( $this -> getConf ( 'notify_edit' ) == 1 ) && ( $this -> getConf ( 'notify_edit_minor' ) == 1 ) ) {
$this -> _event = 'edit minor';
return true;
} elseif ( $event_type == 'delete' && $this -> getConf ( 'notify_delete' ) == 1 ) {
$this -> _event = 'delete';
return true;
}
return false;
}
public function set_payload_text ( $event ) {
global $conf;
global $lang;
global $INFO;
$event_name = '';
switch ( $this -> _event ) {
case 'create':
$title = $this -> getLang ( 't_created' );
$event_name = $this -> getLang ( 'e_created' );
break;
case 'edit':
$title = $this -> getLang ( 't_updated' );
$event_name = $this -> getLang ( 'e_updated' );
break;
case 'edit minor':
$title = $this -> getLang ( 't_minor_upd' );
$event_name = $this -> getLang ( 'e_minor_upd' );
break;
case 'delete':
$title = $this -> getLang ( 't_removed' );
$event_name = $this -> getLang ( 'e_removed' );
break;
}
if ( $this -> getConf ( 'notify_show_name' ) === 'real name' ) {
$user = $INFO['userinfo']['name'];
} elseif ( $this -> getConf ( 'notify_show_name' ) === 'username' ) {
$user = $_SERVER['REMOTE_USER'];
} else {
throw new Exception('invalid notify_show_name value');
}
$link = $this -> _get_url ( $event, null );
$page = $event -> data['id'];
$description = $user.' '.$event_name.' '.$page.'
';
if ( $this -> _event != 'delete' ) {
$oldRev = $INFO['meta']['last_change']['date'];
if ( !empty ( $oldRev ) ) {
$diffURL = $this -> _get_url ( $event, $oldRev );
$description .= ''.$this -> getLang ( 'compare' ).'
';
}
}
$summary = $this -> _summary;
if ( ( strpos ( $this -> _event, 'edit' ) !== false ) && $this -> getConf ( 'notify_show_summary' ) ) {
if ( $summary ) {
$description .= $lang['summary'] . ": " . $summary;
}
}
$this -> _payload = '' . $title . '