Search:

CWIS Developers Documentation

  • Main Page
  • Classes
  • Files
  • File List
  • File Members

SPTUser.php

Go to the documentation of this file.
00001 <?PHP
00002 
00003 #
00004 #   FILE:  SPT--SPTUser.php
00005 #
00006 #   METHODS PROVIDED:
00007 #       SPTUser()
00008 #           - constructor
00009 #       SomeMethod($SomeParameter, $AnotherParameter)
00010 #           - short description of method
00011 #
00012 #   AUTHOR:  
00013 #
00014 #   Part of the Scout Portal Toolkit
00015 #   Copyright 2004 Internet Scout Project
00016 #   http://scout.wisc.edu
00017 #
00018 
00019 class SPTUser extends User {
00020     # ---- PUBLIC INTERFACE --------------------------------------------------
00021     # ---- user interface preference mnemonics
00022     # color avoidance flags
00023     const UIPREF_AVOID_RED =           1;
00024     const UIPREF_AVOID_REDGREEN =      2;
00025     const UIPREF_AVOID_BLUEYELLOW =    4;
00026     const UIPREF_AVOID_GREENYELLOW =   8;
00027     const UIPREF_AVOID_ORANGE =        16;
00028     const UIPREF_AVOID_REDBLACK =      32;
00029     const UIPREF_AVOID_PURPLEGREY =    64;
00030     const UIPREF_AVOID_USEMAXMONOCHR = 128;
00031 
00032     # content display options
00033     const UIPREF_CONTENTDENSITY_NOPREFERENCE =  0;
00034     const UIPREF_CONTENTDENSITY_DETAILED =  1;
00035     const UIPREF_CONTENTDENSITY_OVERVIEW =  2;
00036     
00037     # content view options
00038     const UIPREF_CONTENTVIEW_NOPREFERENCE =  0;
00039     const UIPREF_CONTENTVIEW_TEXTINTENSIVE =  1;
00040     const UIPREF_CONTENTVIEW_IMAGEINTENSIVE =  2;
00041 
00042     # audio description options
00043     const UIPREF_AUDIODESCRIPTION_NONE =  0;
00044     const UIPREF_AUDIODESCRIPTION_STANDARD =  1;
00045     const UIPREF_AUDIODESCRIPTION_EXPANDED =  2;
00046 
00047     # caption type options
00048     const UIPREF_CAPTIONTYPE_NONE =  0;
00049     const UIPREF_CAPTIONTYPE_VERBATIM =  1;
00050     const UIPREF_CAPTIONTYPE_REDUCEDREADINGLEVEL =  2;
00051 
00052     # object constructor
00053     function SPTUser($UserInfo = NULL)
00054     {
00055         global $Session;
00056 
00057         # create database handle for parent and local use
00058         $DB = new SPTDatabase();
00059         $this->DB = $DB;
00060 
00061         # if no user info supplied
00062         if ($UserInfo == NULL)
00063         {
00064             # if session is available in global context
00065             if (isset($Session))
00066             {
00067                 # call parent constructor with global session
00068                 $this->User($Session);
00069             }
00070             else
00071             {
00072                 # call parent constructor with our own session
00073                 $OurSession = new Session($this->DB);
00074                 $this->User($OurSession);
00075             }
00076         }
00077         else
00078         {
00079             # call parent constructor with our DB handle
00080             $this->User($this->DB, $UserInfo);
00081         }
00082         
00083         # if user is logged in
00084         if ($this->IsLoggedIn())
00085         {
00086             # if user already has a UI preferences record in DB
00087             $DB->Query("SELECT * FROM UserUIPreferences WHERE UserId = '".$this->Id()."'");
00088             if ($DB->NumRowsSelected())
00089             {
00090                 # load in UI preferences
00091                 $this->UserUIPreferencesCache = $DB->FetchRow();
00092             }
00093             else
00094             {
00095                 # add UI preferences record to DB for user
00096                 $DB->Query("INSERT INTO UserUIPreferences (UserId) VALUES (".$this->Id().")");
00097             }
00098         }
00099     }
00100     
00101     # user interface / accessibility preferences
00102     function PrefFontSize($NewValue = DB_NOVALUE) 
00103             {  return $this->UUPUpdateValue("FontSize", $NewValue);  }
00104     function PrefFontTypeFace($NewValue = DB_NOVALUE) 
00105             {  return $this->UUPUpdateValue("FontTypeFace", $NewValue);  }
00106     function PrefFontColor($NewValue = DB_NOVALUE) 
00107             {  return $this->UUPUpdateValue("FontColor", $NewValue);  }
00108     function PrefBackgroundColor($NewValue = DB_NOVALUE) 
00109             {  return $this->UUPUpdateValue("BackgroundColor", $NewValue);  }
00110     function PrefColorAvoidanceFlags($NewValue = DB_NOVALUE) 
00111             {  return $this->UUPUpdateValue("ColorAvoidanceFlags", $NewValue);  }
00112     function PrefContentDensity($NewValue = DB_NOVALUE) 
00113             {  return $this->UUPUpdateValue("ContentDensity", $NewValue);  }
00114     function PrefContentView($NewValue = DB_NOVALUE) 
00115             {  return $this->UUPUpdateValue("ContentView", $NewValue);  }
00116     function PrefAudioDescriptionLevel($NewValue = DB_NOVALUE) 
00117             {  return $this->UUPUpdateValue("AudioDescriptionLevel", $NewValue);  }
00118     function PrefAudioDescriptionLanguage($NewValue = DB_NOVALUE) 
00119             {  return $this->UUPUpdateValue("AudioDescriptionLanguage", $NewValue);  }
00120     function PrefVisualDescriptionLanguage($NewValue = DB_NOVALUE) 
00121             {  return $this->UUPUpdateValue("VisualDescriptionLanguage", $NewValue);  }
00122     function PrefImageDescriptionLanguage($NewValue = DB_NOVALUE) 
00123             {  return $this->UUPUpdateValue("ImageDescriptionLanguage", $NewValue);  }
00124     function PrefUseGraphicAlternatives($NewValue = DB_NOVALUE) 
00125             {  return $this->UUPUpdateValue("UseGraphicAlternatives", $NewValue);  }
00126     function PrefSignLanguage($NewValue = DB_NOVALUE) 
00127             {  return $this->UUPUpdateValue("SignLanguage", $NewValue);  }
00128     function PrefCaptionType($NewValue = DB_NOVALUE) 
00129             {  return $this->UUPUpdateValue("CaptionType", $NewValue);  }
00130     function PrefCaptionRate($NewValue = DB_NOVALUE) 
00131             {  return $this->UUPUpdateValue("CaptionRate", $NewValue);  }
00132 
00133 
00134     # ---- PRIVATE INTERFACE -------------------------------------------------
00135     
00136     var $DB;
00137     var $UserUIPreferencesCache;
00138 
00139     function UUPUpdateValue($FieldName, $NewValue)
00140     {
00141         return $this->DB->UpdateValue("UserUIPreferences", $FieldName,
00142                 $NewValue, "UserId = '".$this->Id()."'", 
00143                 $this->UserUIPreferencesCache);
00144     }
00145 }
00146 
00147 ?>
CWIS logo doxygen
Copyright 2009 Internet Scout