]> git.mjollnir.org Git - moodle.git/commitdiff
removing some classes
authortoyomoyo <toyomoyo>
Wed, 12 Apr 2006 02:06:57 +0000 (02:06 +0000)
committertoyomoyo <toyomoyo>
Wed, 12 Apr 2006 02:06:57 +0000 (02:06 +0000)
blog/class.BlogEntry.php [deleted file]
blog/class.BlogFilter.php [deleted file]
blog/class.BlogInfo.php [deleted file]

diff --git a/blog/class.BlogEntry.php b/blog/class.BlogEntry.php
deleted file mode 100755 (executable)
index 0df5000..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-<?php // $Id$
-
-/*******************************************************************
- * Class to represent a blog entry.
- *
- * @copyright Copyright (C) 2003, Jason Buberel
- * @author Jason Buberel jason@buberel.org {@link http://www.buberel.org/}
- * @version  $Id$
- * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
- * @package blog
- ******************************************************************/
-
-include_once($CFG->dirroot .'/blog/lib.php');
-
-/**
- *
- * This class represents a single entry in a blog. Normally, you wouldn't
- * need to call the constructor directly...you would instead make use of
- * a BlogInfo object's entry retrieval methods in order to get an instance
- * of BlogEntry.
- *
- * To create a new blogEntry object use BlogInfo's insert_blog_entry() function.
- *
- * @todo Ultimately this class might to be expanded to include a factory
- * method for the creation of new BlogEntries (->create()).
- * Better yet:
- fix constructor to not have to take a record set - should be empty and use setters
- verify that everything has getters/setters
- make sure that both the ->save and ->update function operate properly on an entry that does not yet exist!
- this way one could:
- $newEntry = new BlogEntry();
- $newEntry->set_body('a post here');
- $newEntry->set_userid(2);
- $newEntry->save();
- */
-class BlogEntry {
-    // member variables
-    var $entryId; // post.id
-    var $entryBody; // post.summary
-    var $entryTitle; // post.subject
-    var $entryFormat; // post.format
-    var $entryuserid; // post.author    
-    var $entryPublishState; // post.publishstate
-    var $entryAuthorName; // blog_users.name
-    var $entryAuthorEmail; // blog_users.email
-    
-    //Daryl Hawes note: entryCategoryIds should be phased out as entryCategories is an
-    //associative array of $id => $name elements
-    var $entryCategoryIds = array(); // post.id -> blog_categories_entries.categoryid
-    var $entryCategories = array(); // post.id -> blog_categories_entries.categoryid -> blog_categories.catname
-    
-    var $entryLastModified; // last modification date post.lastmodified
-    var $formattedEntryLastModified; // post.lastmodified
-    var $entryCreated; // creation date post.created
-    var $formattedEntryCreated; // post.created
-
-    /**
-     * Class constructor that will build a new instance of the object
-     * when given a reference to an object that contains
-     * all of the keys from a row in the post table
-     * Daryl Hawes note: constructor should be changed not to have to take in a database row!
-     *
-     * @param object $entrydetails reference to an object that contains
-     *                              all of the keys from a row in the post table
-     * @uses $CFG
-     * @uses $db
-     * @todo finish documenting this constructor
-     */
-    function BlogEntry(&$entrydetails) {
-        global $db, $CFG;
-
-        $this->entryId = $entrydetails->id;
-
-        $this->entryBody = ereg_replace('<tick>', "'", stripslashes_safe($entrydetails->summary));
-        
-        $strftimedaydatetime = get_string('strftimedaydatetime');
-        $this->entryLastModified = $entrydetails->lastmodified;
-        $this->formattedEntryLastModified = userdate($this->entryLastModified, $strftimedaydatetime);
-        $this->entryCreated = $entrydetails->created;
-        $this->formattedEntryCreated = userdate($this->entryCreated, $strftimedaydatetime);
-        
-        $this->entryuserid = $entrydetails->userid;
-        
-        //added stripslashes_safe here for rss feeds. Will this conflict anywhere?
-        
-        $this->entryTitle = ereg_replace('<tick>', "'", stripslashes_safe($entrydetails->subject));   //subject, not title!
-        
-        $this->entryFormat = $entrydetails->format;
-
-        if (isset($entrydetails->publishstate) ) {
-            $this->entryPublishState = $entrydetails->publishstate;
-        } else {
-            $this->entryPublishState = 'draft';
-        }
-        if (isset($entrydetails->email)) {
-            $this->entryAuthorEmail = $entrydetails->email;
-            $this->entryAuthorName = fullname($entrydetails);  // firstname and lastname defined
-        } else {
-            $user = get_record('user', 'id', $entrydetails->userid);
-            $this->entryAuthorEmail = $user->email;
-            $this->entryAuthorName = fullname($user); 
-        }
-    }
-
-    /**
-     * delete this entry
-     *
-     * @return bool Returns true on successful deletion
-     */
-    function delete() {
-        if (! delete_records('post', 'userid', $this->entryuserid, 'id', $this->entryId)) {
-                print 'Could not find blog entry matching author with user id '. $this->entryuserid .'  and entry with id '. $this->entryId ."\n";
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * get_formatted_entry_body
-     * getter for ->entryBody.
-     *
-     * @uses $CFG
-     * @return string Entry body/summary run through moodle's format_text formatter and 
-     *                  with slashes stripped from database entry
-     */
-    function get_formatted_entry_body() {
-        global $CFG;
-        include_once($CFG->libdir .'/weblib.php');
-        if ( isset($this->entryFormat) ) {
-            return format_text($this->entryBody, $this->entryFormat);
-        }
-        return stripslashes_safe($this->entryBody);
-    }
-
-    /**
-     * get_unformatted_entry_body
-     * getter for ->entryBody
-     *
-     * @return string Entry body/summary - raw string from database
-     */
-    function get_unformatted_entry_body() {
-        return $this->entryBody;
-    }
-
-    /**
-     * BlogEntry setters do not save to the database.
-     * To save changes call the BlogEntry->save() function when ready.
-     *
-     * @param string $body New entry summary
-     */
-    function set_body($body) {
-        $this->entryBody = $body;
-    }
-
-    /**
-     * BlogEntry setters do not save to the database.
-     * To save changes call the BlogEntry->save() function when ready.
-     *
-     * @param string $format Moodle format_text format type.
-     */
-    function set_format($format) {
-        $this->entryFormat = $format;
-    }
-
-    /**
-     * BlogEntry setters do not save to the database.
-     * To save changes call the BlogEntry->save() function when ready.
-     *
-     * @param int $userid The new author/owner's moodle user id
-     */
-    function set_userid($userid) {
-        $this->entryuserid = $userid;
-    }
-
-    /**
-     * BlogEntry setters do not save to the database.
-     * To save changes call the BlogEntry->save() function when ready.
-     *
-     * @param string $publishstate A new publish state for this entry. One of: 
-     *                  enum('draft','teacher','course','group','site','public') 
-     * @return bool True if new state is allowed (and applied), false if not.
-     */
-    function set_publishstate($publishstate) {
-        $applicablestates = array_keys(blog_applicable_publish_states($this->entryCourseId));
-        if (in_array($publishstate, $applicablestates)) {
-            $this->entryPublishState = $publishstate;
-            return true;
-        }
-        return false;
-    }
-
-
-    /**
-     * This function will determine if the user is logged in and
-     * able to make changes to the publish state of this entry
-     *
-     * @return bool True if user is allowed to change publish state
-     */
-    function user_can_change_publish_state() {
-        // figure out who the currently logged in user is.
-        // to change any publish state one must be logged in
-        global $USER;
-        if ( !isset($USER) || empty($USER) || !isset($USER->id) ) {
-            // only site members are allowed to edit entries
-            return 'Only site members are allowed to edit entries';
-        } else {
-            $uid = $USER->id;
-        }
-        if ( ($uid == $this->entryuserid) || (blog_is_blog_admin($this->entryuserid)) || (isadmin()) 
-             || (isset($this->entryCourseId) && isteacher($this->entryCourseId)) ) {
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * added by Daryl Hawes for moodle integration
-     *
-     * @param int $uid The user attempting to view this entry
-     * @return bool
-     */
-    function user_can_view($uid='') {
-        global $USER;
-
-        //first allow access to any post for admin users
-        if ( isadmin() ) {
-            return true;
-        }
-        
-        //get the logged in user's id if needed
-        if ($uid == '') {
-            if ( isset($USER) && isset($USER->id)) {
-                $uid = $USER->id;
-            }
-        }
-
-        if ($this->entryPublishState == 'public') {
-            return true;
-        } else if ($this->entryPublishState == 'draft') {
-            //only the owner is allowed to see their own draft message
-            if ($uid == $this->entryuserid) {
-                return true;
-            } 
-        } else if ($this->entryPublishState == 'site') {
-            //user has a valid member id and user is not a guest of the site
-            if ( ! $uid == '' && ! isguest() ) {
-                return true;
-            }
-        } 
-
-        //nothing qualified - the user requesting access is not allowed to view this entry!
-        return false;
-    }
-    
-    
-    /**
-     * @param bool $return If true a string value is returned. If this variable is set to false
-     *                      Then this function will print out the menu code and exit.
-     * @param bool $includehelp If true a help button linking to the batch_publish page
-     *                      will be included in the returned string
-     * @return string|nil  If the $return param is set to true a string is returned.
-     */
-    function get_publish_to_menu($return=true, $includehelp=true) {
-        $menu = '';
-        if ($this->user_can_change_publish_state() && blog_isediting() ) {
-            $menu .= '<div class="publishto">'. get_string('publishto', 'blog').': ';
-            $options = blog_applicable_publish_states();
-            $menu .= choose_from_menu($options, $this->entryuserid .'-'. $this->entryId, $this->entryPublishState, '', '', '0', true);
-            $menu .= "\n".'</div>'."\n";
-            if ($includehelp) {
-                $menu .= helpbutton('batch_publish', get_string('batchpublish', 'blog'), 'blog', true, false, '', true);
-            }
-        }
-        if ($return) {
-            return $menu;
-        }
-        print $menu;
-    }
-        
-    /**
-     * Save this entry to the database. 
-     * This function can be used outside the BlogEntry class.
-     * ex:
-     * <code>
-     * $myBlogEntry = blogInfo->get_blog_entry_by_id(100);
-     * $myBlogEntry->set_title('New Title');
-     * $myBlogEntry->save();
-     * </code>
-     * This function will handle all of the security and data integrity checking for you
-     * @return null|string Error string returned when an error is encountered.
-     */
-    function save() {
-        //check if the user is authorized to make this change
-        // either they own this entry, are in the blog acl for this entry,
-        // are an admin user or they teach the course this entry is associated with
-        if ($this->user_can_change_publish_state()) {
-            $applicablestates = array_keys(blog_applicable_publish_states($this->entryCourseId));
-            if (in_array($this->entryPublishState, $applicablestates)) {
-                // Yes they are authorized so update the entry.
-                if ( $this->_update() ) {
-                    //print_object($this); //debug:
-
-                    //add a timestamp to the user preference for this userid to mark it updated
-                    set_user_preference('bloglastmodified', time(), $this->entryuserid);
-                    return;
-                } else {
-                    $error = 'An error occured saving this entry';
-                }
-            } else {
-                $error = 'Publish state '. $this->entryPublishState .' is not available for this user';
-            }
-        } else {
-            $error = 'User not allowed to edit this entry';
-        }
-        // must not have worked...
-        return $error;
-    }
-
-    /**
-     * _update
-     *
-     * This function is internal to the BlogEntry class and should not be used elsewhere.
-     * It takes the currently set member variables and writes them to the database.
-     * @return boolean
-     */
-    function _update() {
-    
-        global $db, $CFG;
-        // generate the modification date
-        $timenow = time();
-
-        //load up the data object with the latest data
-        $dataobject->id = intval($this->entryId);
-        $dataobject->summary = $this->entryBody;
-        $dataobject->content = $this->entryExtendedBody;
-        $dataobject->subject = $this->entryTitle;
-        $dataobject->format = intval($this->entryFormat);
-        $dataobject->userid = intval($this->entryuserid);
-        $dataobject->publishstate = $this->entryPublishState;
-
-        $dataobject->lastmodified = $timenow;
-
-        $dataobject->summary = ereg_replace("'", '<tick>', $dataobject->summary);
-        // The wysiwyg html editor adds a <br /> tag to the extendedbody.
-        // cleanup the extendedbody first
-        if ($dataobject->content == '<br />') {
-            $dataobject->content = '';
-        }
-        $dataobject->content= ereg_replace("'", '<tick>', $dataobject->content);
-        $dataobject->subject = ereg_replace("'", '<tick>', $dataobject->subject);
-        $dataobject->subject = addslashes($dataobject->subject);
-        $dataobject->summary = addslashes($dataobject->summary);
-        $dataobject->content = addslashes($dataobject->content);
-
-        // First update the entry's categories. Remove all, then add back those passed in
-        $sql = 'DELETE FROM '. $CFG->prefix .'blog_categories_entries WHERE entryid='. $this->entryId;
-        $rs = $db->Execute($sql);
-
-        // next update the entry itself
-        if (update_record('post', $dataobject)) {
-            return true;
-        }
-        //failure
-        return false;
-    }
-
-}//end class BlogEntry
-?>
diff --git a/blog/class.BlogFilter.php b/blog/class.BlogFilter.php
deleted file mode 100755 (executable)
index 81885f4..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-<?php // $Id$
-/*******************************************************************
- * This class represents a set of active filters to be applied 
- * in searching for or presenting blog entries.
- * Retrieve  filtered entries by calling get_filtered_entries 
- * rather than directly accessing the array as
- * the function will fetch the entries for you if needed.
- *
- * @copyright 2003/2004/2005, Daryl Hawes ({@link http://www.cocoaobjects.com})
- * @author Daryl Hawes
- * @version  $Id$
- * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
- * @package blog
- ******************************************************************/
-
-include_once($CFG->dirroot.'/blog/lib.php');
-
-/*******************************************************************
- * This class represents a set of active filters to be applied 
- * in searching for or presenting blog entries. 
- * Retrieve filtered entries by calling get_filtered_entries 
- * rather than directly accessing the array as
- * the function will fetch the entries for you if needed.
- ******************************************************************/
-class BlogFilter {
-    // member variables
-    // you can use variable names directly to access properties.
-    //ie. $blogFilter->month
-    
-    var $fetchlimit; //max # of entries to read from database
-    var $fetchstart; //entry # to start reading from database at
-    var $max_entries; //maximum number of matching entries available in database
-    var $sort; 
-    var $courseid;
-    var $userid; // moodle userid to specify a specific user's blog
-    var $postid; //id of a single blog entry
-    var $blogInfo;
-    var $memberlist; //do not access directly - use getter get_member_list()
-    var $filtered_entries = array();
-    var $baseurl;
-    var $filtertype;
-    var $filterselect;
-    var $tag;
-    var $keywords = NULL; //array of $keywordtype = $keywordstring
-
-    /**
-     * BlogFilter 
-     * class constructor that will build a new instance of a BlogFilter object
-     *
-     * @param  int $userid = the blog that the entries are to be found in. If 0 then all blogs are searched.
-     * @param  int $courseid = if needed the entries can be restricted to those associated with a given course.
-     * @param  int $postid = a specific blog entry that is being sought
-     */
-    function BlogFilter($userid='', $postid='', $fetchlimit=10, $fetchstart='', $filtertype='', $filterselect='', $tagid='', $tag ='', $sort='lastmodified DESC') {
-
-        global $CFG;    //filter settings to be pass in for baseurl
-
-        if (!empty($userid)) {
-//            print "creating blogInfo object for user with id '$userid'<br />"; //debug
-            $this->blogInfo =& new BlogInfo($userid);
-        }
-        if ( empty($this->blogInfo) || empty($this->blogInfo->userid)) {
-            unset($this->blogInfo);
-        } 
-        
-        if (! is_numeric($userid) ) {
-            $this->userid = 0;
-        } else {
-            $this->userid = $userid;
-        }
-        if (!is_numeric($fetchstart) ) {
-            $this->fetchstart = 0;
-        } else {
-            $this->fetchstart = $fetchstart;
-        }
-
-        $this->fetchlimit = $fetchlimit;
-        
-        $this->postid = $postid;
-
-        $this->sort = $sort;
-        $this->filtertype = $filtertype;
-        $this->filterselect = $filterselect;
-        if ($tagid) {
-            $this->tag = $tagid;
-        } else if ($tag) {
-            if ($tagrec = get_record_sql('SELECT * FROM '.$CFG->prefix.'tags WHERE text LIKE "'.$tag.'"')) {
-                $this->tag = $tagrec->id;
-            } else {
-                $this->tag = -1;    //no record found
-            }
-        }
-        // borrowed from Jon's table class
-        if(empty($this->baseurl)) {
-
-            $getcopy  = $_GET;
-            unset($getcopy['blogpage']);
-            
-            $strippedurl = strip_querystring(qualified_me());
-            if(!empty($getcopy)) {
-                $first = false;
-                $querystring = '';    
-                foreach($getcopy as $var => $val) {
-                    if(!$first) {
-                        $first = true;
-                        if ($var != 'filterselect' && $var != 'filtertype') {
-                            $querystring .= '?'.$var.'='.$val;
-                            $hasparam = true;
-                        } else {
-                            $querystring .= '?';
-                        }
-                    } else {
-                        if ($var != 'filterselect' && $var != 'filtertype') {
-                            $querystring .= '&amp;'.$var.'='.$val;
-                            $hasparam = true;
-                        }
-                    }
-                }
-                if (isset($hasparam)) {
-                    $querystring .= '&amp;';
-                } else {
-                    $querystring = '?';
-                }
-            } else {
-                $querystring = '?';
-            }
-            
-            $this->baseurl = strip_querystring(qualified_me()) . $querystring. 'filtertype='.$filtertype.'&amp;filterselect='.$filterselect.'&amp;';
-
-        }
-    }
-
-    /**
-     * borrowed from Jon's table class.
-     */
-    function define_baseurl($url) {
-        if(!strpos($url, '?')) {
-            $this->baseurl = $url.'?';
-        }
-        else {
-            $this->baseurl = $url.'&amp;';
-        }
-    }
-    
-    /**
-     *
-     */
-    function set_filtered_entries(&$blogentries) {
-        $this->filtered_entries = $blogentries;
-    }
-    
-    /**
-     * @return array Blog entries based on current filters
-     */
-    function get_filtered_entries() {
-        
-        if ( empty($this->filtered_entries) ) {
-            //no entries defined. try to fetch them.
-            $this->fetch_entries();
-        }
-        
-        if (!empty($this->filtered_entries)) {
-            //we have entries - return them
-            return $this->filtered_entries;
-        }
-        //still no entries - they must all be filtered away or there simply are none. return null.
-        return NULL;
-    }
-        
-    /**
-     * Using the member variables build a where clause and sql statment
-     * and fetch the correct blog entries from the database. The entries
-     * are then stored in the filtered_entries member variable.
-     *
-     * @uses $CFG
-     * @uses $USER
-     * @limit, if limit is false, then return all records
-     */
-    function fetch_entries($limit=true) {
-        global $CFG, $USER;
-
-
-        if (!isset($USER->id)) {
-            $USER->id = 0;    //hack, for guests
-        }
-
-        // if we have specified an ID
-        if ($this->postid) {
-
-            if ($post = get_record('post', 'id', $this->postid)) {
-
-                if ($user = get_record('user', 'id', $post->userid)) {
-                    $post->email = $user->email;
-                    $post->firstname = $user->firstname;
-                    $post->lastname = $user->lastname;
-                }
-
-                $blogEntry = new BlogEntry($post);
-                $blogEntries[] = $blogEntry;
-
-                $this->filtered_entries = $blogEntries;
-                return $this->filtered_entries;
-            }
-        }
-        
-        
-        if ($this->tag) {
-            $tagtablesql = $CFG->prefix.'blog_tag_instance bt, ';
-            $tagquerysql = ' AND bt.entryid = p.id AND bt.tagid = '.$this->tag.' ';
-        } else {
-            $tagtablesql = '';
-            $tagquerysql = '';
-        }
-        
-
-        /****************************************
-         * depending on the type, there are 4   *
-         * different possible sqls              *
-         ****************************************/
-
-        $requiredfields = 'p.*, u.firstname,u.lastname,u.email';
-       
-        switch ($this->filtertype) {
-
-            case 'site':
-            
-                if (!isguest() && isloggedin()) {
-
-                    $SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                            .$CFG->prefix.'user u
-                            WHERE p.userid = u.id '.$tagquerysql.'
-                            AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')
-                            AND u.deleted = 0';
-
-                } else {
-
-                    $SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                            .$CFG->prefix.'user u
-                            WHERE p.userid = u.id '.$tagquerysql.'
-                            AND p.publishstate = \'public\'
-                            AND u.deleted = 0';
-                }
-            
-            break;
-            
-            case 'course':
-                if ($this->filterselect != SITEID) {
-                    $SQL = '(SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                            .$CFG->prefix.'user_students s, '.$CFG->prefix.'user u
-                            WHERE p.userid = s.userid '.$tagquerysql.'
-                            AND s.course = '.$this->filterselect.'
-                            AND u.id = p.userid
-                            AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.'))
-
-                            UNION
-
-                            (SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                            .$CFG->prefix.'user_teachers t, '.$CFG->prefix.'user u
-                            WHERE p.userid = t.userid '.$tagquerysql.'
-                            AND t.course = '.$this->filterselect.'
-                            AND u.id = p.userid
-                            AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.'))';    //this will break for postgres, i think
-                } else {
-
-                    if (isloggedin()) {
-
-                        $SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                                .$CFG->prefix.'user u
-                                WHERE p.userid = u.id '.$tagquerysql.'
-                                AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')
-                                AND u.deleted = 0';
-
-                    } else {
-
-                        $SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                                .$CFG->prefix.'user u
-                                WHERE p.userid = u.id '.$tagquerysql.'
-                                AND p.publishstate = \'public\'
-                                AND u.deleted = 0';
-                    }
-
-                }
-            
-            break;
-            
-            case 'group':
-
-                $SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                        .$CFG->prefix.'groups_members m, '.$CFG->prefix.'user u
-                        WHERE p.userid = m.userid '.$tagquerysql.'
-                        AND u.id = p.userid
-                        AND m.groupid = '.$this->filterselect.'
-                        AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')';
-            
-            break;
-            
-            case 'user':
-
-                $SQL = 'SELECT '.$requiredfields.' FROM '.$CFG->prefix.'post p, '.$tagtablesql
-                        .$CFG->prefix.'user u
-                        WHERE p.userid = u.id '.$tagquerysql.'
-                        AND u.id = '.$this->filterselect.'
-                        AND (p.publishstate = \'site\' OR p.publishstate = \'public\' OR p.userid = '.$USER->id.')';
-            
-            break;
-
-
-        }
-        
-        if ($this->fetchstart !== '' && $limit) {
-            $limit = sql_paging_limit($this->fetchstart, $this->fetchlimit);
-        } else {
-            $limit = '';
-        }
-        
-        $orderby = ' ORDER BY '. $this->sort .' ';
-
-        //echo 'Debug: BlogFilter fetch_entries() sql="'. $SQL . $orderby . $limit .'"<br />'. $this->categoryid; //debug
-
-        $records = get_records_sql($SQL . $orderby . $limit);
-
-//        print_object($records); //debug
-       
-        if (empty($records)) {
-            return array();
-        } else {
-            $blogEntries = array();
-            foreach ($records as $record) {
-                $blogEntry = new BlogEntry($record);
-                $blogEntries[] = $blogEntry;
-            }
-        }
-
-//        echo 'Debug: blog entries retrieved in fetch_entries function  of BlogFilter class:<br />'; //debug
-//        print_object($blogEntries); //debug
-
-        $this->filtered_entries = $blogEntries;
-
-        return $this->filtered_entries;
-    }
-
-    /**
-     * get the count of viewable entries, easiest way is to count fetch_entries
-     * this is used for print_paging_bar
-     */
-    function get_viewable_entry_count($where='', $hascats=false) {
-        $blogEntries = $this->fetch_entries(false);
-        return count($blogEntries);
-    }
-
-    /**
-     * get count of entries as they have been fetched from the fully filtered query
-     */
-    function get_filtered_entry_count() {
-        global $CFG;
-        //might need to use a count_records_sql.
-        $entries = $this->get_filtered_entries();
-        return count($entries);
-    }
-        
-    /**
-     * Use this function to retrieve a link to a blog page (typically not the one 
-     * you are currently processing) which contains the correct blog filter information
-     * to maintain the user's filtered view when progressing from page to page.
-     *
-     * The unused param is defined as either
-     * <code>
-     * $unused = array('userid', 'courseid', 'groupid');
-     * </code>
-     * or
-     * <code>
-     * $unused = 'startyear';
-     * </code>
-     * @param string $baseurl The url to be added to the full href before the getvars
-     * @param array|string $unused Can be an array of ivar names or a single variable name
-     * @return string A link to the specified baseurl along with the correct getvars for this filter.
-     */
-    function get_complete_link($baseurl, $linktext, $unused='') {
-        $getargs = $this->get_getvars($unused);
-        $link = '<a href="'. $baseurl;
-        $link .= $getargs . '">';
-        $link .= $linktext . '</a>';
-        return $link;
-    }
-
-    /**
-    * The unused param is defined as either
-    * <code>
-    * $unused = array('userid', 'courseid', 'groupid');
-    * </code>
-    * or
-    * <code>
-    * $unused = 'startyear';
-    * </code>
-    * @param array|string $unused Can be an array of ivar names or a single variable name
-    */
-    function get_getvars($unused) {
-        $getargs = '?';
-        if(!is_array($unused)) {
-            $unused = array($unused);
-        }
-        if (!is_array($unused)) {
-            //argument is not an array, hopefully it's a string. wrap it in an array for comparisons below.
-            $unused = array($unused);
-        }
-        if (!in_array('limit', $unused)) {
-            $getargs .= '&amp;limit=' . $this->fetchlimit;
-        }
-        if (!in_array('courseid', $unused)) {
-            $getargs .= '&amp;courseid=' . $this->courseid;
-        }
-        if (!in_array('userid', $unused)) {
-            $getargs .= '&amp;userid=' . $this->userid;
-        }
-        return $getargs;
-    }
-
-}    //end class BlogFilter
-?>
diff --git a/blog/class.BlogInfo.php b/blog/class.BlogInfo.php
deleted file mode 100755 (executable)
index 48d62c1..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-<?php //$Id$
-    /**
-     * class.BlogInfo.php
-     * Author: Jason Buberel
-     * Copyright (C) 2003, Jason Buberel
-     * jason@buberel.org
-     * http://www.buberel.org/
-     *
-     *******************************************************************
-     * This program is free software; you can redistribute it and/or modify it
-     * under the terms of the GNU General Public License as published by the
-     * Free Software Foundation; either version 2 of the License, or (at your
-     * option) any later version.
-     * 
-     * This program is distributed in the hope that it will be useful, but
-     * WITHOUT ANY WARRANTY; without even the implied warranty of
-     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-     * General Public License for more details.
-     * 
-     * You should have received a copy of the GNU General Public License along
-     * with this program; if not, write to the Free Software Foundation, Inc.,
-     * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-     *******************************************************************
-     *
-     * This class is used to represent a single weblog. It gives the
-     * developer access to all of the normal properties of the weblog.
-     * Through the use of the required BlogEntry class, you should be able
-     * to access all the data related to this particular weblog.
-     *
-     * To use BlogInfo, you create a new instance using the provided
-     * constructor:
-     *  include_once("class.BlogInfo.php");
-     *  $userid = 2;
-     *  $myBlog = new BlogInfo($userid);
-     *
-     * Once instantiated, the BlogInfo instance can be used to obtain
-     * information about the blog:
-     *
-     *  $myTitle = $myBlog->get_blog_title();
-     *
-     * The three most useful methods are those used to retrieve BlogEntries:
-     *
-     *  $someBlogEntry = $myBlog->get_blog_entry_by_id(200); // fetch the 200th blog entry.
-     *  $blogEntryList = $myBlog->get_last_N_entries(10); // fetch the 10 most recent
-     *                                                 // blog entries.
-     *  foreach ($blogEntryList as $blogEntry) {
-     *      print "Blog Entry Title: ($blogEntry->entryId) $blogEntry->get_blog_title()<br/>";
-     *  }
-     */
-
-global $CFG;
-include_once($CFG->dirroot.'/blog/lib.php');
-include_once($CFG->dirroot.'/blog/class.BlogEntry.php');
-
-class BlogInfo {
-    // member variables
-    var $userid; // moodle userid
-    var $blogtitle; // user preference blog_title
-    var $blogtagline; // user preference blog_tagline
-    var $blogtheme; // user preference blog_theme - id of the template being used for this blog.
-    
-    // lazy loading member variables
-    // DO NOT directly refer to these member vars. Instead use their
-    // getter functions to ensure they are loaded properly
-    var $blogadminuser = NULL; // moodle user object for this userid
-    var $blogadminname = NULL; // userid -> blog_users.name
-    var $blogadminemail = NULL; // userid -> blog_users.email
-    var $blogadminurl = NULL; // userid -> blog_users.url
-    var $blogEntries = NULL; // an array of entries for this blog. empty by default.
-
-    /**
-     * constructor- used to create the BlogInfo instance
-     * and populate it with information about the blog.
-     */
-    function BlogInfo($userid) {
-        global $CFG;
-
-        if ($userid == 0 || empty($userid)) {
-            return NULL;
-        }
-        
-        $this->blogEntries = array();
-        $this->userid = $userid;
-
-    }
-
-////////// getters and setters ///////////////
-    
-    /**
-     * Use this function to get a single numbered BlogEntry object
-     * for this blog.
-     * @todo perhaps a member array could be used to store these fetched BlogEntry objects
-     *      in case the same entry is requested from this same bloginfo object later
-     */
-    function get_blog_entry_by_id($entryId) {
-        global $CFG;
-    
-        foreach ($this->blogEntries as $cachedentry) {
-            if ($cachedentry->entryId == $entryId) {
-                return $cachedentry;
-            }
-        }
-        $record = get_record('post', 'id', $entryId);    //teachers should be able to edit people's blogs, right?
-        //$record = get_record('post', 'author', $this->userid, 'id', $entryId);
-        // may have zero entries. in that case, return null.
-        if (empty($record)) {
-            // the result set is empty. return null.
-            return NULL;
-        } else {
-            // create the new blog entry object...
-            $blogEntry = new BlogEntry($record);
-            //cache the blogEntry in member var for future use if needed
-            $this->blogEntries[] = $blogEntry;
-            $this->blogEntries = array_unique($this->blogEntries);
-        }
-        return $blogEntry;
-    }
-
-    /**
-     * This function will remove the specified blog entry. It will
-     * perform any of the security checks necessary to ensure that the
-     * user is authorized to remove the entry. It will return false
-     * if there was an error trying to delete the entry.
-     * @param int $entryID The blog entry to delete by id
-     */
-    function delete_blog_entry_by_id($entryId) {
-        // figure out who the currently logged in user is.
-        global $USER;
-        if ( !isset($USER) || empty($USER) || !isset($USER->id) ) {
-            return false;
-        }
-        $uid = $USER->id;
-        // retrieve the entry.
-        $blogEntry = $this->get_blog_entry_by_id($entryId);
-        
-        if (empty($blogEntry) ) {
-            return false;
-        }
-
-        if (($uid == $blogEntry->entryuserid) || (blog_is_blog_admin($this->userid)) || (isadmin())) {
-            // yes, they are authorized, so remove the entry.
-            if ( $blogEntry->delete() ) {
-                unset($this->blogEntries[$blogEntry]);
-                return true;
-            }
-        }
-        // must not have worked...
-        return false;
-    }
-    
-
-    /**
-     * Use this method to insert/create a new entry in the post table for
-     * this blog. The entry id of the new blog entry will be returned if the
-     * insertion is successful.
-     * @param string $title .
-     * @param string $body .
-     * @param string $extendedbody .
-     * @param int $userid .
-     * @param int $formatId .
-     * @param string $publishstate 'draft', 'teacher', 'course', 'group', 'site', 'public'
-     * @param int $courseid .
-     * @param int $groupid .
-     * @return int
-     */
-    function insert_blog_entry($title, $body, $userid, $formatId, $publishstate='draft', $courseid='', $groupid='') {
-        global $CFG;
-        
-        // first, make sure the title and body are safe for insert.
-        $title = ereg_replace("'", '<tick>', $title);
-        $body = ereg_replace("'", '<tick>', $body);
-        // The wysiwyg html editor adds a <br /> tag to the extendedbody.
-        // cleanup the extendedbody first
-        
-        $title = addslashes($title);
-        $body = addslashes($body);
-
-        // come up with a new timestamp to insert.
-        // now insert the new entry.
-        $dataobject->summary = $body;
-        $dataobject->userid = $userid;
-        $dataobject->subject = $title;
-        $dataobject->format = $formatId;
-        $dataobject->module = 'blog';
-        
-        $timenow = time();
-        $dataobject->lastmodified = $timenow;        
-        $dataobject->created = $timenow;
-        $dataobject->publishstate = $publishstate;
-
-        $newentryid = insert_record('post', $dataobject);
-
-        if ($newentryid) {
-            // entry was created and $newentryid is its entryid.
-            
-            // create a unique hash for this id that will be its alternate identifier
-            unset($dataobject);
-            $dataobject->id = $newentryid;
-            $dataobject->uniquehash = md5($userid.$CFG->wwwroot.$newentryid);
-            update_record('post', $dataobject);
-            
-            // now create category entries
-            if (!empty($categoryids)) {
-                foreach ($categoryids as $categoryid) {
-                    $cat->entryid = $newentryid;
-                    $cat->categoryid = $categoryid;
-                    insert_record('blog_categories_entries', $cat);
-                }
-            }
-            // insert lastmodified into user pref so that recently modified blogs can be identified easily without joining tables
-            set_user_preference('bloglastmodified', $timenow, $this->userid);
-            return $newentryid;
-        }
-        return null;
-    }
-
-    /**
-     * Discovers the number of entries for this blog
-     * @return int Entry count
-     */
-    function get_entry_count() {
-        return count_records('post', 'userid', $this->userid);
-    }
-
-    /**
-        * returns the N most recent BlogEntry objects
-     * for this blog
-     */
-    function get_last_N_entries($n) {
-        return $this->get_blog_entries_by_range($n, 0);
-    }
-    
-    /**
-     *
-     */
-    function get_blog_entries_by_range($limit, $start) {
-        global $USER;
-    
-        $sqlsnippet = 'userid='. $this->userid;
-        $sort = 'id DESC';
-        $records = get_records_select('post', $sqlsnippet, $sort, '*', $start, $limit);
-        if (empty($records)) {
-            return array();
-        } else {
-            $blogEntries = array();
-            foreach($records as $record) {
-                $blogEntry = new BlogEntry($record);
-                //ensure that the user has rights to view this entry
-                if ($blogEntry->user_can_view() ) {
-                    $blogEntries[] = $blogEntry;
-                }
-            }
-//            print_object($blogEntries); //debug
-            //cache the blogEntries in member var for future use if needed
-            $this->blogEntries = array_merge($this->blogEntries, $blogEntries);
-            $this->blogEntries = array_unique($this->blogEntries);
-
-            return $blogEntries;
-        }
-    }
-
-        /**
-        * update_blog_entry_by_id
-        *
-        * this funciton will update the selected blog entry after performing
-        * security checks to make sure the user is authorized to perform the update.
-        * Used by api.php
-        * @uses USER
-        */
-    function update_blog_entry_by_id($entryId, $title, $body, $formatId, $categoryId, $publishstate='draft', $courseid='', $groupid='') {
-        // figure out who the currently logged in user is.
-        global $USER;
-
-        if ( !isset($USER) || empty($USER) || !isset($USER->id) ) {
-            return false;
-        } else {
-            $uid = $USER->id;
-        }
-        $body = ereg_replace("'", '<tick>', $body);
-        $extendedbody = ereg_replace("'", '<tick>', $extendedbody);
-        $title = ereg_replace("'", '<tick>', $title);
-        $title = addslashes($title);
-        $body = addslashes($body);
-        $extendedbody = addslashes($extendedbody);
-
-        // retrieve the entry
-        $blogEntry = $this->get_blog_entry_by_id($entryId);
-        //check if the user is authorized to make this change
-        if ( ($uid == $blogEntry->entryUserId) || (blog_is_blog_admin($this->userid)) || (isadmin()) ) {
-            // Yes they are authorized so update the entry.
-            if ( $blogEntry->update($title, $body, $extendedbody, $formatId, $categoryId, $publishstate, $courseid, $groupid) ) {
-                return true;
-            }
-        }
-        // must not have worked...
-        return false;
-        
-    }
-    
-}
-?>