I would suggest you look at creating a plugin to send the email that responds to a onContentChangeState event trigger. The plugin would check that it is an item of your component being changed($context in the params) and then it will provide the ID and the value(Published/Unplublished) that you can use in your email subject or body.
This should be a ...
To answer the question about what is core and what isn't when you look at the extensions under the Extensions->Manage->Manage menu look at the ID column on the far right and if the ID is less than 999(or only has three digits) then it is core, if it above 10000 then it is 3rd party.
If the site has been progressively migrated from early versions of Joomla ...
I also made a few changes to Lodder's excellent post to go back to listing all items:
echo '| <a href="#" data-alpha="000">All</a> | ';
$alphas = range('A', 'Z');
foreach ($alphas as $item)
echo '<a href="#" data-alpha="' . $item . '">' . $item . '</a> | ';
and for the JS script:
Any layout or view can be overridden in Joomla.
You can do this in your Joomla admin panel, by going to:
Extensions (top menu) >> Templates >> Templates >> Details and Files
Once there, go to the "Create Overrides" tab, and you will be able to select your component annd the view.
So let's say you create an override for com_content/archive. This will ...