function automedia_deactivate() { global $db, $mybb, $cache; change_admin_permission('tools', 'automedia', -1); automedia_cache(true); /** * * Restore templates * **/ require_once MYBB_ROOT . "/inc/adminfunctions_templates.php"; find_replace_templatesets("usercp_nav_misc", "#" . preg_quote('</a></td></tr><tr><td class="trow1 smalltext"><a href="usercp.php?action=userautomedia" class="usercp_nav_item usercp_nav_options">{$lang->av_ucp_menu}') . "#s", '', '', false); find_replace_templatesets("usercp_nav_misc", "#" . preg_quote('<tr><td class="trow1 smalltext"><a href="usercp.php?action=userautomedia" class="usercp_nav_item usercp_nav_options">AutoMedia</a></td></tr>') . "#s", '', '', false); // Delete master templates for upgrade $db->delete_query("templategroups", "prefix = 'automedia'"); $db->delete_query("templates", "title LIKE 'automedia_%' AND sid='-2'"); }
function automedia_admin() { global $db, $lang, $mybb, $page, $cache, $run_module, $action_file; if (!isset($lang->automedia_modules)) { $lang->load("automedia"); } if ($page->active_action != 'automedia') { return false; } if ($run_module == 'tools' && $action_file == 'automedia') { $page->add_breadcrumb_item($lang->automedia, 'index.php?module=tools-automedia'); // Show site modules if ($mybb->input['action'] == "" || !$mybb->input['action']) { $page->add_breadcrumb_item($lang->automedia_modules); $page->output_header($lang->automedia_modules . ' - ' . $lang->automedia_modules); $sub_tabs['automedia'] = array('title' => $lang->automedia_modules, 'link' => 'index.php?module=tools-automedia', 'description' => $lang->automedia_modules_description1); if ($mybb->settings['av_adultsites'] == 1) { $sub_tabs['special'] = array('title' => $lang->automedia_adult, 'link' => 'index.php?module=tools-automedia&action=adult', 'description' => $lang->automedia_adult_description1); } $page->output_nav_tabs($sub_tabs, 'automedia'); $aotable = new Table(); $aotable->construct_header('#'); $aotable->construct_header($lang->automedia_oembed_desc); if (isset($mybb->settings['av_embera']) && $mybb->settings['av_embera'] == 1) { $aotable->construct_cell('<img src="styles/default/images/icons/success.png" width="16px" height="16px" alt="OK" />'); $aotable->construct_cell($lang->automedia_modules_embera); $aotable->construct_row(); } if (isset($mybb->settings['av_embedly']) && $mybb->settings['av_embedly'] == 1 && !empty($mybb->settings['av_embedly_key']) && $mybb->settings['av_embedly_key'] != "") { $aotable->construct_cell('<img src="styles/default/images/icons/success.png" width="16px" height="16px" alt="' . $lang->automedia_modules_success . '" />'); $aotable->construct_cell($lang->automedia_modules_embedly); $aotable->construct_row(); } $aotable->output($lang->automedia_oembed); $amtable = new Table(); $amtable->construct_header('#'); $amtable->construct_header($lang->automedia_modules_description2); $amtable->construct_header('<div style="text-align: center;">' . $lang->automedia_modules_status . '</div>'); $amtable->construct_header('<div style="text-align: center;">' . $lang->automedia_modules_options . ':</div>'); $folder = MYBB_ROOT . "inc/plugins/automedia/mediasites/"; if (is_dir($folder)) { $mediafiles = scandir($folder); $mediatitles = str_replace(".php", "", $mediafiles); $query = $db->simple_select('automedia', 'name', "class='site'"); // Find missing files for active modules while ($missing = $db->fetch_array($query)) { if (!in_array($missing['name'], $mediatitles)) { $missingfile = ucfirst(htmlspecialchars_uni($missing['name'])); $amtable->construct_cell('<strong>!</strong>'); $amtable->construct_cell('<strong>' . $missingfile . '</strong> (<a href="' . $sub_tabs['automedia']['link'] . '&action=deactivate&site=' . urlencode($missing['name']) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $lang->automedia_modules_deactivate . '</strong></a>)'); $amtable->construct_cell($lang->automedia_modules_notfound . ' ' . $folder . '' . htmlspecialchars_uni($missing['name']) . '.php', array('colspan' => '2')); $amtable->construct_row(); } } $i = 1; foreach ($mediafiles as $sites) { // Fetch all files in the folder $siteinfo = pathinfo($folder . "/" . $sites); if ($sites != "." && $sites != "..") { $filetype = "php"; // We need only php files if ($siteinfo['extension'] == $filetype) { $site = str_replace(".php", "", $sites); $media = ucfirst(htmlspecialchars_uni($site)); $check = file_get_contents($folder . $siteinfo['basename']); if (preg_match('"function automedia_"isU', $check)) { $amtable->construct_cell($i); $amtable->construct_cell('<a href="' . $sub_tabs['automedia']['link'] . '&action=showsite&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $media . '</strong></a>'); $query2 = $db->simple_select('automedia', '*', "name='" . htmlspecialchars_uni($site) . "'"); $active = $db->fetch_array($query2); if ($active && $active['class'] == "site") { $amtable->construct_cell('<div style="text-align: center;"><img src="' . $mybb->asset_url . '/images/mod-on.png" width="32" height="32" alt="' . $lang->automedia_modules_success . '" />'); $amtable->construct_cell('<div style="text-align: center;"><a href="' . $sub_tabs['automedia']['link'] . '&action=deactivate&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $lang->automedia_modules_deactivate . '</strong></a></div>'); } else { $amtable->construct_cell('<div style="text-align: center;"><img src="' . $mybb->asset_url . '/images/mod-off.png" width="32" height="32" alt="' . $lang->automedia_modules_fail . '" />'); $amtable->construct_cell('<div style="text-align: center;"><a href="' . $sub_tabs['automedia']['link'] . '&action=activate&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $lang->automedia_modules_activate . '</strong></a></div>'); } $amtable->construct_row(); $i++; } } } } if ($amtable->num_rows() == 0) { $amtable->construct_cell($lang->automedia_modules, array('colspan' => '4')); $amtable->construct_row(); } } else { $amtable->construct_cell($lang->automedia_modules_missing_sitesfolder, array('colspan' => '4')); $amtable->construct_row(); } $amtable->output($lang->automedia_modules); echo '<div style="text-align: center;"> <a href="' . $sub_tabs['automedia']['link'] . '&action=activateallsites&my_post_key=' . $mybb->post_code . '"><span style="border: 3px double #0F5C8E; padding: 3px; background: #fff url(images/submit_bg.png) repeat-x top; color: #0F5C8E; margin-right: 3px;">' . $lang->automedia_modules_activateall . '</span></a> </div>'; $page->output_footer(); } // Show special modules if ($mybb->input['action'] == "adult" && $mybb->settings['av_adultsites'] == 1) { $page->add_breadcrumb_item($lang->automedia_adult); $page->output_header($lang->automedia_modules . ' - ' . $lang->automedia_adult); $sub_tabs['automedia'] = array('title' => $lang->automedia_modules, 'link' => 'index.php?module=tools-automedia', 'description' => $lang->automedia_modules); if ($mybb->settings['av_adultsites'] == 1) { $sub_tabs['special'] = array('title' => $lang->automedia_adult, 'link' => 'index.php?module=tools-automedia&action=adult', 'description' => $lang->automedia_adult_description1); } $page->output_nav_tabs($sub_tabs, 'special'); $amtable = new Table(); $amtable->construct_header('#'); $amtable->construct_header($lang->automedia_modules_description2); $amtable->construct_header('<div style="text-align: center;">' . $lang->automedia_modules_status . '</div>'); $amtable->construct_header('<div style="text-align: center;">' . $lang->automedia_modules_options . ':</div>'); $folder = MYBB_ROOT . "inc/plugins/automedia/special/"; if (is_dir($folder)) { $mediafiles = scandir($folder); $mediatitles = str_replace(".php", "", $mediafiles); $query = $db->simple_select('automedia', 'name', "class='special'"); // Find missing files for active modules while ($missing = $db->fetch_array($query)) { if (!in_array($missing['name'], $mediatitles)) { $missingfile = ucfirst(htmlspecialchars_uni($missing['name'])); $amtable->construct_cell('<strong>!</strong>'); $amtable->construct_cell('<strong>' . $missingfile . '</strong> (<a href="' . $sub_tabs['automedia']['link'] . '&action=adultdeactivate&site=' . urlencode($missing['name']) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $lang->automedia_modules_deactivate . '</strong></a>)'); $amtable->construct_cell($lang->automedia_modules_notfound . ' ' . $folder . '' . htmlspecialchars_uni($missing['name']) . '.php', array('colspan' => '2')); $amtable->construct_row(); } } $i = 1; foreach ($mediafiles as $sites) { // Fetch all files in the folder $siteinfo = pathinfo($folder . "/" . $sites); if ($sites != "." && $sites != "..") { $filetype = "php"; // We need only php files if ($siteinfo['extension'] == $filetype) { $site = str_replace(".php", "", $sites); $media = ucfirst(htmlspecialchars_uni($site)); $check = file_get_contents($folder . $siteinfo['basename']); if (preg_match('"function automedia_"isU', $check)) { $amtable->construct_cell($i); $amtable->construct_cell('<a href="' . $sub_tabs['automedia']['link'] . '&action=showspecial&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $media . '</strong></a>'); $query = $db->simple_select('automedia', '*', "name='" . htmlspecialchars_uni($site) . "'"); $active = $db->fetch_array($query); if ($active && $active['class'] == "special") { $amtable->construct_cell('<div style="text-align: center;"><img src="' . $mybb->asset_url . '/images/mod-on.png" width="32" height="32" alt="' . $lang->automedia_modules_success . '" />'); $amtable->construct_cell('<div style="text-align: center;"><a href="' . $sub_tabs['automedia']['link'] . '&action=adultdeactivate&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $lang->automedia_modules_deactivate . '</strong></a></div>'); } else { $amtable->construct_cell('<div style="text-align: center;"><img src="' . $mybb->asset_url . '/images/mod-off.png" width="32" height="32" alt="' . $lang->automedia_modules_fail . '" />'); $amtable->construct_cell('<div style="text-align: center;"><a href="' . $sub_tabs['automedia']['link'] . '&action=adultactivate&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '"><strong>' . $lang->automedia_modules_activate . '</strong></a></div>'); } $amtable->construct_row(); $i++; } } } } if ($amtable->num_rows() == 0) { $amtable->construct_cell($lang->automedia_adult, array('colspan' => '4')); $amtable->construct_row(); } } else { $amtable->construct_cell($lang->automedia_modules_missing_specialfolder, array('colspan' => '4')); $amtable->construct_row(); } $amtable->output($lang->automedia_modules); echo '<div style="text-align: center;"> <a href="' . $sub_tabs['automedia']['link'] . '&action=activateallspecial&my_post_key=' . $mybb->post_code . '"><span style="border: 3px double #0F5C8E; padding: 3px; background: #fff url(images/submit_bg.png) repeat-x top; color: #0F5C8E; margin-right: 3px;">' . $lang->automedia_modules_activateall . '</span></a> </div>'; $page->output_footer(); } // Activate site module if ($mybb->input['action'] == 'activate') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia"); } else { $site = htmlspecialchars_uni($mybb->input['site']); $query_act1 = $db->simple_select('automedia', '*', "name='" . $site . "'"); $active1 = $db->fetch_array($query_act1); if (!$active1) { $automedia_site = array("name" => $site, "class" => "site"); $db->insert_query("automedia", $automedia_site); automedia_cache(); $mybb->input['module'] = $lang->av_plugin_title; $mybb->input['action'] = $lang->automedia_modules_active . " "; log_admin_action(ucfirst($site)); flash_message($lang->automedia_modules_active, 'success'); admin_redirect("index.php?module=tools-automedia"); } else { flash_message($lang->automedia_modules_notfound, 'error'); } } exit; } // Activate special module if ($mybb->input['action'] == 'adultactivate') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia&action=adult"); } else { $site = htmlspecialchars_uni($mybb->input['site']); $query_act2 = $db->simple_select('automedia', '*', "name='" . $site . "'"); $active2 = $db->fetch_array($query_act2); if (!$active2) { $automedia_special = array("name" => $site, "class" => "special"); $db->insert_query("automedia", $automedia_special); automedia_cache(); $mybb->input['module'] = $lang->av_plugin_title; $mybb->input['action'] = $lang->automedia_modules_active . " "; log_admin_action(ucfirst($site)); flash_message($lang->automedia_modules_active, 'success'); admin_redirect("index.php?module=tools-automedia&action=adult"); } else { flash_message($lang->automedia_modules_notfound, 'error'); } } exit; } // Deactivate site module if ($mybb->input['action'] == 'deactivate') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia"); } else { $site = htmlspecialchars_uni($mybb->input['site']); $query_del1 = $db->simple_select('automedia', '*', "name='" . $site . "'"); $delete1 = $db->fetch_array($query_del1); if ($delete1['name'] == $site) { $db->delete_query('automedia', "name='{$site}'"); automedia_cache(); $mybb->input['module'] = $lang->av_plugin_title; $mybb->input['action'] = $lang->automedia_modules_deleted . " "; log_admin_action(ucfirst($site)); flash_message($lang->automedia_modules_deleted, 'success'); admin_redirect("index.php?module=tools-automedia"); } else { flash_message($lang->automedia_modules_notfound, 'error'); } } exit; } // Deactivate special module if ($mybb->input['action'] == 'adultdeactivate') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia&action=adult"); } else { $site = htmlspecialchars_uni($mybb->input['site']); $query_del2 = $db->simple_select('automedia', '*', "name='" . $site . "'"); $delete2 = $db->fetch_array($query_del2); if ($delete2['name'] == $site) { $db->delete_query('automedia', "name='{$site}'"); automedia_cache(); $mybb->input['module'] = $lang->av_plugin_title; $mybb->input['action'] = $lang->automedia_modules_deleted . " "; log_admin_action(ucfirst($site)); flash_message($lang->automedia_modules_deleted, 'success'); admin_redirect("index.php?module=tools-automedia&action=adult"); } else { flash_message($lang->automedia_modules_notfound, 'error'); } } exit; } // Activate all site modules if ($mybb->input['action'] == 'activateallsites') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia"); } else { $folder1 = MYBB_ROOT . "inc/plugins/automedia/mediasites/"; if (is_dir($folder1)) { $mediafiles1 = scandir($folder1); foreach ($mediafiles1 as $sites1) { // Fetch all files in the folder $siteinfo1 = pathinfo($folder1 . "/" . $sites1); if ($sites1 != "." && $sites1 != "..") { $filetype1 = "php"; // We need only php files if ($siteinfo1['extension'] == $filetype1) { $media1 = str_replace(".php", "", $sites1); $check1 = file_get_contents($folder1 . $siteinfo1['basename']); if (preg_match('"function automedia_"isU', $check1)) { $query_ex = $db->simple_select('automedia', 'name', "name='" . htmlspecialchars_uni($media1) . "'"); $modactive = $db->fetch_array($query_ex); if (!$modactive) { // activate site $automedia_site1 = array("name" => htmlspecialchars_uni($media1), "class" => "site"); $db->insert_query("automedia", $automedia_site1); } } } } } automedia_cache(); } } admin_redirect("index.php?module=tools-automedia"); exit; } // Activate all special modules if ($mybb->input['action'] == 'activateallspecial') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia"); } else { $folder2 = MYBB_ROOT . "inc/plugins/automedia/special/"; if (is_dir($folder2)) { $mediafiles2 = scandir($folder2); foreach ($mediafiles2 as $sites2) { // Fetch all files in the folder $siteinfo2 = pathinfo($folder2 . "/" . $sites2); if ($sites2 != "." && $sites2 != "..") { $filetype2 = "php"; // We need only php files if ($siteinfo2['extension'] == $filetype2) { $media2 = str_replace(".php", "", $sites2); $check2 = file_get_contents($folder2 . $siteinfo2['basename']); if (preg_match('"function automedia_"isU', $check2)) { $query_ex2 = $db->simple_select('automedia', 'name', "name='" . htmlspecialchars_uni($media2) . "'"); $modactive2 = $db->fetch_array($query_ex2); if (!$modactive2) { // add site $automedia_site2 = array("name" => htmlspecialchars_uni($media2), "class" => "special"); $db->insert_query("automedia", $automedia_site2); } } } } } automedia_cache(); } } admin_redirect("index.php?module=tools-automedia&action=adult"); exit; } // Show site module code if ($mybb->input['action'] == 'showsite') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia"); } else { $site = htmlspecialchars_uni($mybb->input['site']); $page->add_breadcrumb_item($lang->automedia_modules_embedcode); $page->output_header($lang->automedia_modules_showcode); $sub_tabs['automedia'] = array('title' => $lang->automedia_modules, 'link' => 'index.php?module=tools-automedia', 'description' => $lang->automedia_modules); if ($mybb->settings['av_adultsites'] == 1) { $sub_tabs['special'] = array('title' => $lang->automedia_adult, 'link' => 'index.php?module=tools-automedia&action=adult', 'description' => $lang->automedia_adult_description1); } $sub_tabs['embedcode'] = array('title' => $lang->automedia_modules_embedcode, 'link' => 'index.php?module=tools-automedia&action=showsite&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '', 'description' => $lang->automedia_modules_viewcode); $page->output_nav_tabs($sub_tabs, 'embedcode'); $amtable = new Table(); $amtable->construct_header(ucfirst($site) . ' ' . $lang->automedia_modules_embedcode . ':'); $codefile = MYBB_ROOT . "inc/plugins/automedia/mediasites/" . $site . ".php"; if (is_file($codefile)) { $embedcode = file_get_contents($codefile); $showcode = @highlight_string($embedcode, true); $amtable->construct_cell($showcode); } $amtable->construct_row(); $amtable->output($lang->automedia_modules_showcode); $page->output_footer(); } exit; } // Show special module code if ($mybb->input['action'] == 'showspecial') { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=tools-automedia"); } else { $site = htmlspecialchars_uni($mybb->input['site']); $page->add_breadcrumb_item($lang->automedia_modules_embedcode); $page->output_header($lang->automedia_modules_showcode); $sub_tabs['automedia'] = array('title' => $lang->automedia_modules, 'link' => 'index.php?module=tools-automedia', 'description' => $lang->automedia_modules); if ($mybb->settings['av_adultsites'] == 1) { $sub_tabs['special'] = array('title' => $lang->automedia_adult, 'link' => 'index.php?module=tools-automedia&action=adult', 'description' => $lang->automedia_adult_description1); } $sub_tabs['embedcode'] = array('title' => $lang->automedia_modules_embedcode, 'link' => 'index.php?module=tools-automedia&action=showspecial&site=' . urlencode($site) . '&my_post_key=' . $mybb->post_code . '', 'description' => $lang->automedia_modules_viewcode); $page->output_nav_tabs($sub_tabs, 'embedcode'); $amtable = new Table(); $amtable->construct_header(ucfirst($site) . ' ' . $lang->automedia_modules_embedcode . ':'); $codefile = MYBB_ROOT . "inc/plugins/automedia/special/" . $site . ".php"; if (is_file($codefile)) { $embedcode = file_get_contents($codefile); $showcode = @highlight_string($embedcode, true); $amtable->construct_cell($showcode); } $amtable->construct_row(); $amtable->output($lang->automedia_modules_showcode); $page->output_footer(); } exit; } // Reapply template edits if ($mybb->input['action'] == "templateedits") { if (!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=config-plugins"); } else { automedia_reapply_template_edits(); admin_redirect("index.php?module=config-plugins"); } exit; } } }