/** * Assert that the nested set data is valid. * * @return boolean True if the instance is sane and able to be stored in the database. * * @since 11.1 */ public function check() { try { parent::check(); } catch (\Exception $e) { $this->setError($e->getMessage()); return false; } $this->parent_id = (int) $this->parent_id; if (empty($this->rules)) { $this->rules = '{}'; } // JTableNested does not allow parent_id = 0, override this. if ($this->parent_id > 0) { // Get the JDatabaseQuery object $query = $this->_db->getQuery(true)->select('COUNT(id)')->from($this->_db->quoteName($this->_tbl))->where($this->_db->quoteName('id') . ' = ' . $this->parent_id); $this->_db->setQuery($query); if ($this->_db->loadResult()) { return true; } else { $this->setError('Invalid Parent ID'); return false; } } return true; }
/** * Overloaded check function */ public function check() { //If there is an ordering column and this is a new row then get the next ordering value if (property_exists($this, 'ordering') && $this->id == 0) { $this->ordering = self::getNextOrder(); } // Check alias if (empty($this->alias)) { $this->alias = $this->name; } $this->alias = JApplication::stringURLSafe($this->alias); return parent::check(); }
/** * Overloaded check function * * @return boolean True on success * * @see JTable::check() * @since 11.1 */ public function check() { try { parent::check(); } catch (\Exception $e) { $this->setError($e->getMessage()); return false; } // Check for a title. if (trim($this->title) == '') { $this->setError(JText::_('JLIB_DATABASE_ERROR_MUSTCONTAIN_A_TITLE_MENUITEM')); return false; } // Set correct component id to ensure proper 404 messages with separator items if ($this->type == "separator") { $this->component_id = 0; } // Check for a path. if (trim($this->path) == '') { $this->path = $this->alias; } // Check for params. if (trim($this->params) == '') { $this->params = '{}'; } // Check for img. if (trim($this->img) == '') { $this->img = ' '; } // Cast the home property to an int for checking. $this->home = (int) $this->home; // Verify that a first level menu item alias is not 'component'. if ($this->parent_id == 1 && $this->alias == 'component') { $this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_COMPONENT')); return false; } // Verify that a first level menu item alias is not the name of a folder. jimport('joomla.filesystem.folder'); if ($this->parent_id == 1 && in_array($this->alias, JFolder::folders(JPATH_ROOT))) { $this->setError(JText::sprintf('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_FOLDER', $this->alias, $this->alias)); return false; } // Verify that the home item a component. if ($this->home && $this->type != 'component') { $this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_HOME_NOT_COMPONENT')); return false; } return true; }
/** * Checks that the object is valid and able to be stored. * * This method checks that the parent_id is non-zero and exists in the database. * Note that the root node (parent_id = 0) cannot be manipulated with this class. * * @return boolean True if all checks pass. */ public function check() { $dispatcher = RFactory::getDispatcher(); // Import plugin types if ($this->_eventBeforeCheck || $this->_eventAfterCheck) { foreach ($this->_pluginTypesToImport as $type) { JPluginHelper::importPlugin($type); } } // Trigger before check if ($this->_eventBeforeCheck) { $results = $dispatcher->trigger($this->_eventBeforeCheck, array($this)); if (count($results) && in_array(false, $results, true)) { return false; } } // Check if (!parent::check()) { return false; } // Trigger after check if ($this->_eventAfterCheck) { $results = $dispatcher->trigger($this->_eventAfterCheck, array($this)); if (count($results) && in_array(false, $results, true)) { return false; } } return true; }
/** * Overloaded check method to ensure data integrity. * * @return boolean True on success. * * @since 3.1 * @throws UnexpectedValueException */ public function check() { try { parent::check(); } catch (\Exception $e) { $this->setError($e->getMessage()); return false; } // Check for valid name. if (trim($this->title) == '') { throw new UnexpectedValueException(sprintf('The title is empty')); } if (empty($this->alias)) { $this->alias = $this->title; } $this->alias = JApplicationHelper::stringURLSafe($this->alias, $this->language); if (trim(str_replace('-', '', $this->alias)) == '') { $this->alias = JFactory::getDate()->format("Y-m-d-H-i-s"); } // Check the publish down date is not earlier than publish up. if ((int) $this->publish_down > 0 && $this->publish_down < $this->publish_up) { throw new UnexpectedValueException(sprintf('End publish date is before start publish date.')); } // Clean up keywords -- eliminate extra spaces between phrases // and cr (\r) and lf (\n) characters from string if (!empty($this->metakey)) { // Only process if not empty // Define array of characters to remove $bad_characters = array("\n", "\r", "\"", "<", ">"); // Remove bad characters $after_clean = JString::str_ireplace($bad_characters, "", $this->metakey); // Create array using commas as delimiter $keys = explode(',', $after_clean); $clean_keys = array(); foreach ($keys as $key) { if (trim($key)) { // Ignore blank keywords $clean_keys[] = trim($key); } } // Put array back together delimited by ", " $this->metakey = implode(", ", $clean_keys); } // Clean up description -- eliminate quotes and <> brackets if (!empty($this->metadesc)) { // Only process if not empty $bad_characters = array("\"", "<", ">"); $this->metadesc = JString::str_ireplace($bad_characters, "", $this->metadesc); } // Not Null sanity check $date = JFactory::getDate(); if (empty($this->params)) { $this->params = '{}'; } if (empty($this->metadesc)) { $this->metadesc = ''; } if (empty($this->metakey)) { $this->metakey = ''; } if (empty($this->metadata)) { $this->metadata = '{}'; } if (empty($this->urls)) { $this->urls = '{}'; } if (empty($this->images)) { $this->images = '{}'; } if (!(int) $this->checked_out_time) { $this->checked_out_time = $date->toSql(); } if (!(int) $this->modified_time) { $this->modified_time = $date->toSql(); } if (!(int) $this->modified_time) { $this->modified_time = $date->toSql(); } if (!(int) $this->publish_up) { $this->publish_up = $date->toSql(); } if (!(int) $this->publish_down) { $this->publish_down = $date->toSql(); } return true; }
public function check() { $app = JFactory::getApplication(); if ($app->isSite()) { $params = JUDirectoryHelper::getParams(null, $this->listing_id); $this->_comment_interval = $params->get('comment_interval', 60); if ($this->_comment_interval > 0) { $this->_comment_latest = strtotime($this->getLatestCommentTime()); } $this->_comment_interval_same_listing = $params->get('comment_interval_in_same_listing', 60); if ($this->_comment_interval_same_listing > 0) { $this->_comment_latest_same_listing = strtotime($this->getLatestCommentTime($this->listing_id)); } } if (!parent::check()) { $this->setError(JText::_('COM_JUDIRECTORY_COMMENT_FAILED')); return false; } return true; }
public function check() { $app = JFactory::getApplication(); if ($app->isSite()) { $params = JUDownloadHelper::getParams(null, $this->doc_id); $this->_comment_interval = $params->get('comment_interval', 60); if ($this->_comment_interval > 0) { $this->_comment_latest = strtotime($this->getLatestCommentTime()); } $this->_comment_interval_same_document = $params->get('comment_interval_in_same_document', 60); if ($this->_comment_interval_same_document > 0) { $this->_comment_latest_same_document = strtotime($this->getLatestCommentTime($this->doc_id)); } } if (!parent::check()) { $this->setError(JText::_('COM_JUDOWNLOAD_COMMENT_FAILED')); return false; } return true; }
/** * Checks that the object is valid and able to be stored. * * This method checks that the parent_id is non-zero and exists in the database. * Note that the root node (parent_id = 0) cannot be manipulated with this class. * * @return boolean True if all checks pass. */ public function check() { // Before check if (!$this->beforeCheck()) { return false; } // Check if (!parent::check()) { return false; } // After check if (!$this->afterCheck()) { return false; } return true; }
/** * Override check function * * @return boolean * * @see JTable::check() * @since 11.1 */ public function check() { try { parent::check(); } catch (\Exception $e) { $this->setError($e->getMessage()); return false; } // Check for a title. if (trim($this->title) == '') { $this->setError(JText::_('JLIB_DATABASE_ERROR_MUSTCONTAIN_A_TITLE_CATEGORY')); return false; } $this->alias = trim($this->alias); if (empty($this->alias)) { $this->alias = $this->title; } $this->alias = JApplicationHelper::stringURLSafe($this->alias, $this->language); if (trim(str_replace('-', '', $this->alias)) == '') { $this->alias = JFactory::getDate()->format('Y-m-d-H-i-s'); } return true; }