/** * Contruct the invitation having this code. * @param String $code * @return WpInvitation */ public static function newFromCode($code) { $code = strtolower($code); $databaseBase = wfGetDB(DB_SLAVE); $tables = array('wp_invitation', 'wp_invitation_category'); $vars = array('*'); $conds = array('wpi_code' => $code); $fname = __METHOD__; $options = array(); $join_conds = array('wp_invitation_category' => array('LEFT JOIN', 'wpi_wpic_id = wpic_id')); $result = $databaseBase->selectRow($tables, $vars, $conds, $fname, $options, $join_conds); if ($result === false) { // not found, so return null return null; } $invitation = self::constructFromDatabaseRow($result); if ($result->wpic_id != null) { $invitation->category = WpInvitationCategory::constructFromDatabaseRow($result); } return $invitation; }