function fontyourface_delete_unused_tags in @font-your-face 7
Same name and namespace in other branches
- 6.2 fontyourface.module \fontyourface_delete_unused_tags()
- 7.2 fontyourface.module \fontyourface_delete_unused_tags()
Deletes all unused tags.
3 calls to fontyourface_delete_unused_tags()
- fontyourface_admin_edit_form_submit in ./
fontyourface.module - Edit form submit handler.
- fontyourface_provider_disable in ./
fontyourface.module - Removes all fonts and related tags from given provider.
- local_fonts_delete_font in modules/
local_fonts/ local_fonts.module - Deletes given font.
File
- ./
fontyourface.module, line 1114
Code
function fontyourface_delete_unused_tags() {
// Delete all unused font-tag relationships.
$missing_font_query = db_select('fontyourface_tag_font', 'tf');
$font_alias = $missing_font_query
->leftJoin('fontyourface_font', 'f', 'tf.fid = f.fid');
$missing_fonts = $missing_font_query
->isNull($font_alias . '.fid')
->fields('tf', array(
'fid',
))
->execute();
$missing_fids = array();
foreach ($missing_fonts as $missing_font) {
$missing_fids[] = $missing_font->fid;
}
// foreach
if (count($missing_fids) > 0) {
db_delete('fontyourface_tag_font')
->condition('fid', $missing_fids, 'IN')
->execute();
}
// if
// Delete all unused tags.
$missing_tag_font_query = db_select('fontyourface_tag', 't');
$tag_font_alias = $missing_tag_font_query
->leftJoin('fontyourface_tag_font', 'tf', 'tf.tid = t.tid');
$missing_tags = $missing_tag_font_query
->isNull($tag_font_alias . '.fid')
->fields('t', array(
'tid',
))
->execute();
$missing_tids = array();
foreach ($missing_tags as $missing_tag) {
$missing_tids[] = $missing_tag->tid;
}
// foreach
if (count($missing_tids) > 0) {
db_delete('fontyourface_tag')
->condition('tid', $missing_tids, 'IN')
->execute();
}
// if
}