I announce that I cease all development and activity in the programming universe indefinitely. My career has reached the turning point I was not expecting for at least another year, leaving me highly off guard and without laid-out plans for this hobby's continuity. I have begun a 5-year residency program in Neurosurgery which is clearly not compatible, time-wise, with programming.
I gave in all my passion for developing, and you gave me back your loyalty and trust, even when I did not deserve that much. Now it is the time for payback. I release all my present and past work as Open Source software, in the hope some talented developer will continue maintaining and expanding my vision of a modern, sleek forum software. The intrinsic flexibility of MyBB is the true hidden gem of an otherwise outdated codebase; I do hope the project can continue and be updated complying to the latest coding standards.
I hereby thank Euan, kawaii, andrewjs18, Ben, Matt, Omar G., effone, Eric J., Devilshakerz, Wildcard, JordanMussi and all the other team members I have had the opportunity to work with when I was a MyBB team member. I thank Tomm M, my mentor, who inspired me to pick up coding with his piece-of-art plugins. And finally, I thank all of you MyBBoost subscribers who have helped me getting through my toughest university years economically.
Yours sincerely, Filippo
<a href="{$mybb->settings['bburl']}/alerts.php?action=markread&id={$alert['id']}&my_post_key={$mybb->post_code}" class="markReadAlertButton" id="markread_alert_{$alert['id']}" title="Mark as read" uk-tooltip uk-icon="icon: check"></a>
<a href="{$mybb->settings['bburl']}/alerts.php?action=delete&id={$alert['id']}&my_post_key={$mybb->post_code}" class="deleteAlertButton uk-text-danger" id="delete_alert_{$alert['id']}" title="{$lang->myalerts_delete}" uk-tooltip uk-icon="icon: close"></a>
<tr class="alert {$alert['alert_status']} alert--{$alert['alert_code']}"
id="alert_row_popup_{$alert['id']}">
<td class="{$altbg} align-center alert__avatar" align="center">
<a class="avatar" href="{$alert['from_user_raw_profilelink']}"><img
src="{$alert['avatar']['image']}"
alt="{$alert['username']}'s avatar" {$alert['avatar']['width_height']}/></a>
</td>
<td class="{$altbg} alert__content">
<a href="{$mybb->settings['bburl']}/alerts.php?action=view&id={$alert['id']}">
{$alert['message']}
</a>
</td>
<td class="{$altbg} alert__time">
{$alert['received_at']}
<a href="{$mybb->settings['bburl']}/alerts.php?action=markread&id={$alert['id']}&my_post_key={$mybb->post_code}" id="markread_alert_{$alert['id']}" <i class="fa fa-fw fa-check"></i></a>
<a href="{$mybb->settings['bburl']}/alerts.php?action=delete&id={$alert['id']}&my_post_key={$mybb->post_code}" id="delete_alert_{$alert['id']}" title="{$lang->myalerts_delete}" <i class="fa fa-fw fa-times"></i></a>
</td>
</tr>
module.prototype.markReadAlert = function markReadAlert(event) {
event.preventDefault();
var button = $(event.currentTarget),
alertId = button.attr("id").substring(15);
$.getJSON('xmlhttp.php?action=myalerts_mark_read', {
accessMethod: 'js',
id: alertId,
my_post_key: my_post_key
}, function (data) {
if (data.success) {
$(button.parents('tr').get(0)).removeClass('alert--unread').addClass('alert--read');
}
else {
for (var i = 0; i < data.errors.length; ++i) {
console.log(data.errors[i]);
}
alert(data.errors[0]);
}
});
return false;
};
inc/plugins/myalerts.php, add after line 1520:if ($mybb->get_input('action') == 'myalerts_mark_read') {
header('Content-Type: application/json');
$id = $mybb->get_input('id', MyBB::INPUT_INT);
$userId = (int) $mybb->user['uid'];
$toReturn = array();
if ($id > 0) {
if (!verify_post_check($mybb->get_input('my_post_key'), true)) {
$toReturn = array(
'errors' => array($lang->invalid_post_code),
);
} else {
MybbStuff_MyAlerts_AlertManager::getInstance()->markRead([$id]);
$toReturn = array(
'success' => true
);
}
} else {
$toReturn = array(
'errors' => array($lang->myalerts_error_alert_not_found),
);
}
echo json_encode($toReturn);
}