<?php
require_once(WCF_DIR.'lib/data/cronjobs/Cronjob.class.php');

/**
 * cleans up empty social pages
 * 
 * @author	Torben Brodt
 * @package	de.easy-coding.wcf.buddyloo
 * @license	GNU General Public License <http://opensource.org/licenses/gpl-3.0.html>
 */
class BuddylooSocialCleanupCronjob implements Cronjob {
	
	/**
	 * @see Cronjob::execute()
	 */
	public function execute($data) {
		// (1)
		$sql = "DELETE FROM a USING wcf1_buddyloo_social a LEFT JOIN wcf1_buddyloo_gadget_to_social b USING(socialID) WHERE ISNULL(b.socialID);";
		WCF::getDB()->sendQuery($sql);

		// (2)
		$sql = "DELETE FROM a USING wcf1_buddyloo_user_to_social a LEFT JOIN wcf1_buddyloo_social b USING(socialID) WHERE ISNULL(b.socialID);";
		WCF::getDB()->sendQuery($sql);

		// (3)
		$sql = "UPDATE wcf1_user a, (
				SELECT a.userid FROM wcf1_user a LEFT JOIN wcf1_buddyloo_social b USING(socialID) WHERE a.socialID > 0 AND ISNULL(b.socialID)
			) b
			SET socialID = 0
			WHERE a.userID = b.userID;";
		WCF::getDB()->sendQuery($sql);
	}
}
?>
