public function __construct($args) { if (PerchUtil::count($args)) { $this->event = array_shift($args); $this->subject = array_shift($args); $this->args = $args; $Users = new PerchUsers(); $this->user = $Users->get_current_user(); } }
public function __construct($args) { if (PerchUtil::count($args)) { $this->event = array_shift($args); $this->subject = array_shift($args); $this->args = $args; $Perch = Perch::fetch(); if ($Perch->admin) { $Users = new PerchUsers(); $this->user = $Users->get_current_user(); } else { $this->runtime = true; } } }
public function receive_new_comment($SubmittedForm) { $input = $SubmittedForm->data; if ($input['parentID']) { $data = array(); $data['parentID'] = $input['parentID']; $data['commentDateTime'] = date('Y-m-d H:i:s'); foreach ($this->static_fields as $field) { if (!isset($data[$field])) { if (isset($input[$field]) && $input[$field] != '') { $data[$field] = trim($input[$field]); } } } // dynamic fields $dynamic_fields = array(); foreach ($input as $field => $val) { if (!isset($data[$field])) { $dynamic_fields[$field] = trim($val); } } $data['commentDynamicFields'] = PerchUtil::json_safe_encode($dynamic_fields); // Anti-spam $Settings = $this->api->get('Settings'); $akismetAPIKey = $Settings->get('perch_comments_akismet_key')->val(); $spam = false; $antispam = $SubmittedForm->get_antispam_values(); $environment = $_SERVER; $spam_data = array(); $spam_data['fields'] = $antispam; $spam_data['environment'] = $environment; $data['commentSpamData'] = PerchUtil::json_safe_encode($spam_data); $data['commentIP'] = ip2long($_SERVER['REMOTE_ADDR']); $spam = $this->_check_for_spam($antispam, $environment, $akismetAPIKey); if ($spam) { $data['commentStatus'] = 'SPAM'; } else { $Users = new PerchUsers(); $CurrentUser = $Users->get_current_user(); if (is_object($CurrentUser) && $CurrentUser->logged_in()) { $data['commentStatus'] = 'LIVE'; } else { $data['commentStatus'] = 'PENDING'; } } foreach ($data as $key => $val) { switch ($key) { case 'commentHTML': if (!class_exists('\\Netcarver\\Textile\\Parser', false) && class_exists('Textile', true)) { // sneaky autoloading hack } if (PERCH_HTML5) { $Textile = new \Netcarver\Textile\Parser('html5'); } else { $Textile = new \Netcarver\Textile\Parser(); } if (PERCH_RWD) { $val = $Textile->setDimensionlessImages(true)->textileRestricted($val); } else { $val = $Textile->textileRestricted($val); } if (defined('PERCH_XHTML_MARKUP') && PERCH_XHTML_MARKUP == false) { $val = str_replace(' />', '>', $val); } break; case 'commentURL': if (!parse_url($val, PHP_URL_SCHEME)) { $val = 'http://' . $val; } if (!parse_url($val, PHP_URL_SCHEME)) { $val = ''; } $val = strtolower($val); break; case 'commentEmail': $val = strtolower($val); break; case 'parentTitle': $val = html_entity_decode($val, ENT_QUOTES, 'UTF-8'); break; } $data[$key] = $val; } $r = $this->create($data); return $r; } PerchUtil::debug($SubmittedForm); }
<?php $Perch = Perch::fetch(); $Settings = PerchSettings::fetch(); $Users = new PerchUsers(); $CurrentUser = $Users->get_current_user(); ?> <div class="sidebar"> <ul class="metanav"> <?php if ($CurrentUser->has_priv('perch.settings')) { ?> <li> <a href="<?php echo PerchUtil::html(PERCH_LOGINPATH); ?> /core/settings/" class="icon settings<?php if ($Perch->get_section() == 'core/settings') { echo ' selected'; } ?> "><span><?php echo PerchLang::get('Settings'); ?> </span></a> </li> <?php } if (!defined('PERCH_AUTH_PLUGIN') || !PERCH_AUTH_PLUGIN) { ?> <li><a href="<?php
function perch_blog_check_preview() { if (!defined('PERCH_PREVIEW_ARG')) { define('PERCH_PREVIEW_ARG', 'preview'); } if (perch_get(PERCH_PREVIEW_ARG)) { $Users = new PerchUsers(); $CurrentUser = $Users->get_current_user(); if (is_object($CurrentUser) && $CurrentUser->logged_in()) { PerchUtil::debug('Entering preview mode'); PerchBlog_Posts::$preview_mode = true; } } }
/** * Duplicate all the region items with a new revision number * * @param string $regionID * @param string $old_rev * @param string $new_rev * @param boolean $copy_resources * @return void * @author Drew McLellan */ public function create_new_revision($regionID, $old_rev, $new_rev, $copy_resources = false) { $Users = new PerchUsers(); $CurrentUser = $Users->get_current_user(); $sql = 'INSERT INTO ' . $this->table . ' (itemID, regionID, pageID, itemRev, itemOrder, itemJSON, itemSearch, itemUpdatedBy) SELECT itemID, regionID, pageID, ' . $this->db->pdb($new_rev) . ' AS itemRev, itemOrder, itemJSON, itemSearch, ' . $this->db->pdb($CurrentUser->id()) . ' AS itemUpdatedBy FROM ' . $this->table . ' WHERE regionID=' . $this->db->pdb((int) $regionID) . ' AND itemRev=' . $this->db->pdb((int) $old_rev) . ' ORDER BY itemOrder ASC'; $this->db->execute($sql); if ($copy_resources) { $sql = 'REPLACE INTO ' . PERCH_DB_PREFIX . 'resource_log (appID, itemFK, itemRowID, resourceID) SELECT cr.appID, cr.itemFK, c2.itemRowID, cr.resourceID FROM ' . PERCH_DB_PREFIX . 'resource_log cr, ' . PERCH_DB_PREFIX . 'content_items c1, ' . PERCH_DB_PREFIX . 'content_items c2 WHERE cr.appID=' . $this->db->pdb('content') . ' AND cr.itemFK=' . $this->db->pdb('itemRowID') . ' AND cr.itemRowID=c1.itemRowID AND c1.itemID = c2.itemID AND c1.regionID=' . $this->db->pdb((int) $regionID) . ' AND c2.regionID=' . $this->db->pdb((int) $regionID) . ' AND c1.itemRev = ' . $this->db->pdb((int) $old_rev) . ' AND c2.itemRev = ' . $this->db->pdb((int) $new_rev); $this->db->execute($sql); } $this->renumber_items($regionID, $new_rev); }
function perch_content_check_preview() { if (!defined('PERCH_PREVIEW_ARG')) { define('PERCH_PREVIEW_ARG', 'preview'); } if (perch_get(PERCH_PREVIEW_ARG)) { $contentID = 'all'; $rev = false; $var = perch_get(PERCH_PREVIEW_ARG); if ($var != 'all' && $var != 'preview') { $rev = $var; if (strpos($rev, 'r')) { $parts = explode('r', $rev); $contentID = (int) $parts[0]; $rev = (int) $parts[1]; } } $Users = new PerchUsers(); $CurrentUser = $Users->get_current_user(); if (is_object($CurrentUser) && $CurrentUser->logged_in()) { $Content = PerchContent::fetch(); $Content->set_preview($contentID, $rev); } } }