function getTemplateCode($nodeID) { $db = DBCxn::Get(); // Get template code $sql = "SELECT content \n\t\t\t\t\tFROM cms_template AS t \n\t\t\t\t\tINNER JOIN cms_content AS c \n\t\t\t\t\t\tON c.templateID = t.ID\n\t\t\t\t\tWHERE c.nodeID = :nodeID AND c.published = 1\n\t\t\t\t\t\t;"; $query = $db->prepare($sql); $query->bindParam(':nodeID', $nodeID, PDO::PARAM_INT); $query->execute(); // If we have a row if ($query->rowCount() != 0) { $result = $query->fetch(); $templateCode = $result['content']; } else { // TO DO -- handle this better? error_log('Error getting template content for: nodeID = ' . $nodeID); } // close the conn $db = null; return $templateCode; }
function newUser($userName, $foreName, $lastName, $email) { // $db = DBCxn::Get(); try { // Generate a GUID for email validation $GUID = strtolower(sha1(SALT . trim(uniqid()))); $email = strtolower(trim($email)); $userName = trim($userName); $foreName = trim($foreName); $lastName = trim($lastName); $query = $db->prepare("INSERT INTO cms_user (username, active, foreName, lastName, email, passwordhash, created, lastUpdated) \n\t\t\t\tVALUES (:userName, 1, :foreName, :lastName, :email, UUID(), NOW(), NOW());"); $query->bindParam(':userName', $userName); $query->bindParam(':foreName', $foreName); $query->bindParam(':lastName', $lastName); $query->bindParam(':email', $email); $query->execute(); $this->userID = $db->lastInsertId(); $query = null; } catch (PDOException $e) { error_log('Error Creating User' . $e->getMessage()); $this->problems .= "The statement failed.\n"; $this->problems .= "getCode: " . $e->getCode() . "\n"; $this->problems .= "getMessage: " . $e->getMessage() . "\n"; } return true; }
function __construct() { //echo 'login Constructor called'; self::$db = DBCxn::Get(); }
function getSitemap() { $xmlBody = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> </urlset> '; if (!($xml = simplexml_load_string($xmlBody))) { error_log('Unable to load XML string'); return false; } $db = DBCxn::Get(); try { // TO DO - language is NOT considered $sql = 'SELECT pp.ID AS pathID, pp.path, pp.nodeID, c.ID AS contentID, td.nm AS nodeName, c.templateID, c.lastUpdated AS lastModified, ev1.value AS PageTitle, ev2.value AS SitemapChangeFreq, ev3.value AS SitemapPriority, ev4.value AS SitemapHide FROM `cms_page_path` AS pp INNER JOIN cms_tree_data AS td ON td.ID = pp.nodeID INNER JOIN cms_content AS c ON c.nodeID = pp.nodeID -- PageTitle LEFT OUTER JOIN (SELECT ID, templateID, name FROM cms_entity WHERE name = "PageTitle") AS e1 ON e1.templateID = c.templateID LEFT OUTER JOIN (SELECT ID, entityID, contentID, value FROM cms_entity_value_shorttext) AS ev1 ON ev1.entityID = e1.ID AND c.ID = ev1.contentID -- SitemapChangeFreq LEFT OUTER JOIN (SELECT ID, templateID, name FROM cms_entity WHERE name = "SitemapChangeFreq") AS e2 ON e2.templateID = c.templateID LEFT OUTER JOIN (SELECT ID, entityID, contentID, value FROM cms_entity_value_shorttext) AS ev2 ON ev2.entityID = e2.ID AND c.ID = ev2.contentID -- SitemapPriority LEFT OUTER JOIN (SELECT ID, templateID, name FROM cms_entity WHERE name = "SitemapPriority") AS e3 ON e3.templateID = c.templateID LEFT OUTER JOIN (SELECT ID, entityID, contentID, value FROM cms_entity_value_int) AS ev3 ON ev3.entityID = e3.ID AND c.ID = ev3.contentID -- SitemapHide LEFT OUTER JOIN (SELECT ID, templateID, name FROM cms_entity WHERE name = "SitemapHide") AS e4 ON e4.templateID = c.templateID LEFT OUTER JOIN (SELECT ID, entityID, contentID, value FROM cms_entity_value_shorttext) AS ev4 ON ev4.entityID = e4.ID AND c.ID = ev4.contentID WHERE (pp.type = 0 OR pp.type = 1) AND c.published = 1 AND c.languageID = 1 ;'; $query = $db->prepare($sql); // $query->bindParam(':languageID', $this->languageID, PDO::PARAM_INT); $query->execute(); // TO DO - if ever there are multiple sites then need to look this ID up? // If we have any rows if ($query->rowCount() != 0) { foreach ($query as $key => $result) { $urlXml = $xml->addChild("url", ""); $urlXml->addChild("loc", DOMAIN . '/' . $result['path']); $urlXml->addChild("lastmod", date(DATE_ATOM, strtotime($result['lastModified']))); if (isset($result['SitemapChangeFreq']) && $result['SitemapChangeFreq'] !== null) { $ChangeFreq = strtolower(trim($result['SitemapChangeFreq'])); $ChangeFreqArray = array("always", "hourly", "daily", "weekly", "monthly", "yearly", "never"); if (in_array($ChangeFreq, $ChangeFreqArray)) { $urlXml->addChild("changefreq", $ChangeFreq); } } if (isset($result['SitemapPriority']) && $result['SitemapPriority'] !== null) { $priority = number_format($result['SitemapPriority'] / 10, 1, '.', ''); if ($result['SitemapPriority'] > 10) { $priority = "1.0"; } elseif ($result['SitemapPriority'] < 1) { $priority = "0.5"; } $urlXml->addChild("priority", $priority); } } } } catch (PDOException $e) { error_log('Caught PDO exception in the getSitemap function'); error_log('Exception in the getSitemap getCode: ' . $e->getCode() . "\n" . $e->getMessage()); return false; } catch (Exception $e) { error_log('Caught unknown exception in the getSitemap function'); error_log('Exception in the getSitemap getCode: ' . $e->getCode() . "\n" . $e->getMessage()); return false; } $sitemapBody = $xml->asXML(); return $sitemapBody; }
function __construct() { // Init variables self::$db = DBCxn::Get(); }
function newSection($templateID, $tabID) { // Stores the new section to the DB $db = DBCxn::Get(); // TO DO Validate input try { $db->beginTransaction(); // 1. insert into the entity table. $sql = "INSERT INTO cms_section (`template_tabID`) \n\t\t\t\t\t\t\t\t\tVALUES (:template_tabID)\n\t\t\t\t\t\t\t\t\t;"; $query = $db->prepare($sql); $query->bindParam(':template_tabID', $tabID, PDO::PARAM_INT); $query->execute(); $sectionID = $db->lastInsertId(); $db->commit(); // close the connection $db = null; return $sectionID; } catch (PDOException $e) { $db->rollBack(); error_log("Saving New Section failed.\n"); error_log("getCode: " . $e->getCode() . "\n"); error_log("getMessage: " . $e->getMessage() . "\n"); return false; } return false; }