Skip to content

Latest commit

 

History

History
561 lines (533 loc) · 12.7 KB

pdochanges.md

File metadata and controls

561 lines (533 loc) · 12.7 KB

PDO Conversion progress Total todo: ~2700. Done: ~1825

Most queries have been semi-automatically converted, and should be fine. The original queries are still in the code, prefixed by //DB.

The big things to look for:

  • is $DBH declared as global if the calls are inside a function?
  • if the variable is a complex array reference, like $A[$B[1]], the autoconversion might not have worked.
  • if a query is done in a loop, ideally it only will be "prepared" once
  • variables should not have "addslashes" applied before insert - that's handled automatically.
  • nor should stripslashes be necessary. The auto-escaping of request variables in config.php will be removed.

Here is a list of files that have been worked on. Files prefixed with "C" have been converted. Files prefixed with "0" did not contain any queries, and can be skipped over.

Once a file has been reviewed, please change the C to R.

TODO: Look for branched query declaration, like

$query = "SELECT id FROM table WHERE A=:A"
if ($cond==true) {
  $query .= " AND B=:B"
}
$stm = $DBH->prepare($query);
$stm->execute(array(":A"=>$A, ":B"=>$B));

Apparently including more variables in the execute than are used in the query will cause an error. I'm pretty sure I did that a few times, and those will need to be fixed.

TODO: Error handling / exception catching

Progress

/                   done
R actions         39
R bltilaunch      117
R calcqtimes      10
0 canvas          0
0 canvasnav       0
0 checkbrowser    0
  config.dist     recheck
R dbsetup         63 check against config and install when Done
R DEembedq        3
R directaccess    8
R embedq          1
R footer          1
R forms           12
R gethomemenu     2
R getpostlist     6
  getxml            no longer relevant- should be removed
  google-postreader no longer relevant- should be removed
0 header          0
0 help            0
R index           12
0 infoheader.dist
R install         1   
R installexamples 3
0 loginpage.dist
R ltihome         30
0 ltisessionsetup
0 multiembedq
R newinstructor.dist  4
R OEAembedq       3
C showlinkedtextpublic  5
C upgrade         237  
R validate        26

/admin            done
 C actions        120
 C admin          5
 C approvepending 7
 C ccexport       13
 C diagonetime    6
 C diagsetup      6
 C export         7
 C exportitems    17
 C exportlib      7
 C externaltools  5
 C forms          19
 C hidefromcourselist 1
 C import         16
 C importitems    24
 C importlib      18
 C importstu      4
 C jsonexport     3
 C ltioutcomeservice  6
 C pushoutchg     7
 C unhidefromcourselist 2



/assessment       done
 0 asidutil
 C catscores      4
 0 checkint  
 C displayq2      5
 0 header
 C interpret5     2
 0 macros
 0 mathphp2
 C printtest      5
 0 showsoln
 C showtest       60
 C testutil       4
 0 watchvid
 R catscores      4

 /libs          done
  0 all

/course
 R addassessment    24
 R addblock         5
 R addcalendar      6
 R adddrillassess   14
 C addforum         19   
 R addgrades        26
 R addinlinetext    17
 R addlinkedtext    13
 R addoutcomes      12
 R addquestions     29
 R addquestionssave 3
 R addrubric        4
 R addvideotimes    3
 R addwiki          9
 R assessendmsg     2
 R categorize       8
 R chgassessments   11
 R chgblocks        3
 C chgforums        7
 R chgoffline       6
 R claimbadge       3
 R contentstats     3
 C copyitems        41
 C copyoneitem      6
 C course           12
 0 coursereports
 C courseshowitems  27
 C coursetolibrary  2
 C definebadges     9
 C deleteassessment 9
 C deleteblock      5
 C deletedrillassess  7
 C deleteforum      11
 C deleteinlinetext 9
 C deletelinkedtext 9
 C deletewiki       8
 C delitembyid      24  
 C drillassess      8
 C edittoolscores   11
 0 embedhelper      
 C enrollfromothercourse  4
 C exception        13
 C gb-aidexport     5
 C gb-aidexport     4
 C gb-itemanalysis  7
 C gb-itemanalysisdetail  4
 C gb-itemresults   4
 R gb-testing       1
 C gb-viewasid      38
 R gb-viewdrill     2
 C gbcomments       5
 C gbsettings       13
   gbtable.php          old and not used - remove
 C gbtable2.php     17
 C getblockitems    6
 C getblockitemspublic  1
 C gradeallq        9
 C gradebook        17
 C improveoerassess 3
 C isolateassessbygroup 6
 C isolateassessgrade   7
 C latepasses       6
 C libtree          1
 C libtree2         1
 C listusers        27
 C lockstu          5
 C logingrid        2
 C managecalitems   4
 C managelibs       35
 C manageqset       60
 C managestugrps    44
 C managetutors     9
 C masschgdates     15
 C massexeption     16
 C masssend         11
 C mergeassess      16
 C moddataset       36
 C modquestion      8
 C modquestiongrid  11
 C modtutorialq     24
 C outcomemap       8
 C outcomereport    3
 C outcometable     11
 C printlayout      6
 C printlayoutbare  4
 C printlayoutword  4
 0 printtest
 C public           1
 C quickdrill       2
 C rectrack         3
 C redeemlatepass   16
 C redeemlatepassforum  13
 C report-weeklylab 4
 C reviewlibrary    22
 C savebrokenqflag  4
 C savelibassignflag  1
 C savequickreorder 4
 C savemsgmodal     5
 C showcalendar     1
 C showlicense      1
 C showlinkedtext   3
 C showlinkedtextpublic 3
 C showstugroup     1
 C testquestion     2
 C timeshift        11
 C treereader       11
 C unenroll         9
 C uploadgrades     3
 C uploadmultgrades 8
 C verifybadge      9
 C viewactionlog    9
 C viewemails       1
 C viewforumgraph   8
 C viewgrade        1
 C viewloginlog     2
 C viewsource       1


/diag              done
  C index          18

/filter           done
 0 filter
 /basiclti
  C post          3
  0 blti_util
 /graph
  0 all
 /math
  0 all
 /simplelti
  0 all  

/forums							done
R forums             7  
R listlikes          2
R listviews          2
R newthreads         6
R posthandler        53
R posts              22
R postsbyname        11
R recordlikes        5
R savetagged         2
R thread             25

/includes             done
 C calendardisp     11
 C copyiteminc      63  complex logic changes
 0 DEutil
 0 diff
 C filehandler      4   several hand-santized weird queries
 0 htmlawed
 0 htmlutil
 0 JSON
 C JWT              1
 C ltiauthstore     5
 C ltioutcomes      5
 0 OAuth
 0 parsedatetime
 0 password
 0 rubric
 0 S3
 C stugroups        18
 0 tar.class  
 C unenroll         30  many hand-santized for simplicity
 C updateassess     4
 0 userpics   

/mathchat             should probably remove - obsolete

/msgs                 done   need to check userid on a lot of mark unread/read/etc actions
 C allstumsgslist     6
 C msghistory         5
 C msglist            32  lots of redundant code in here
 C newmsglist         6
 C savetagged         1
 C sentlist           10
 C viewmsg            10

/util                 done
 C blocksearch        1
 C getqcnt            7
 C getstucnt          8   all using safe values
 C getstucntdet       2
 C itemsearch         1
 C listdeprecated     1
 C listextref         1
 C listwronglibs      1
 C makeconditional    4
 C mergescores        6
 C mergestus          4
 C mergeteachers      18
 C replacevids        6
 C rescoreassess      4
 C rescuecourse       4
 C updatedeprecated   3
 C updateextref       3
 C updatewronglibs    1
 C utils              9

/wikis                done
 C editwiki           8
 C viewwiki           16
 C viewwikipublic     4
 C wikirev            2

testing main page. chg userinfo admin listing. show group. show instructor's courses. add course (no copy).
add course (template: gbcats and outcomes come through) add/remove teacher edit groups LTI provider creds edit diagnostic generate one-time passwords Add new admin delete course: safe and true. add assessment.
Add questions: select from libraries, other assessments. remove question. rearrange question. group/ungroup. change question settings add set clear assess atempts categorize q's end msg video cues print oriignal printtest cut-and-paste word add inlinetext add linkedtext (file, page of text) view linkedtext item delete linked text with file add wiki view. edit. edit again. view revision history. clear history. current version snapshot add drill.
Add question to drill Open drill add forum. modify add a block show block content: expand, folder, treereader delete block single item copy (assessment)

course page pulldown reorder quick view, rearrange, edit, save show calendar manage events:add, delete show Roster login log activity log login grid assign section/code manage tutors enroll from another course enroll known. create new stu. import stu from file unenroll lock (link and button) copy emails manage latepasses - assign latepasses show Gradebook single stu gradebook view assessment, change score. clearq. clear scores. clear attempt. Change score for group. individual assess exception Edit offline in place edit one offline grade send message (modal) add offline grade edit grade one stu manage offline: change and delete gb settings. view and categories mass exception:
set, clear. require redo q set, clear forum exception Lock Unenroll all set GB comment print report isolate assess. isolate by group

item analysis page item breakdown grade one q for all: view, score. One-at-a-time. summary of assessment results assessment results export content stats page weeklylab report Groups: create groupset. rename. copy. delete. Add stu to group. remove from group Add stu to group: assessment copies pre-create groups. Student starts, copies made for all members. change grade for all. For one. remove one stu from group - future actions unlinked

Outcomes: create outcomes outcome map view outcome report. Export to CSV Manage Questions search by term all libs search id= search mine only mark wrong libs. mark broken transfer one, group Library Assignment Change rights delete one, group change license list library Manage Libraries Add library. modify. change parent change rights delete ** test question handling on delete Export CC export imathas export export OEA JSON Mass chg assessment basic change with a couple items Mass chg forums Mass change Blocks Mass Chg dates time shift Main message inbox Add new message View message View conversation Reply Flag. Limit to flagged. mark unread. mark read. filter by course. by recipient Use question in message Delete Sent messages. filter by course. by recipient New messages Display assessment Print Version Edit question. Add new question test question Add image, template question with image. delete question w image Tutorial style editor, Add and edit copy course items copy block of items (all types) copy whole course copy offline. copy outcomes copy calendar items import items (basic) Take assessment as student (no group) view category summary at end embedded display livepoll message instructor about question post question to forum Take assessment as student (group) Add self to group Add another stu to group (copies assessment, inc if already has attempt (ins and upd actions)) Manage groups: Add student to existing group, copies assessment Take drill as student view drill scores Hide/unhide course from course list Review library Tree reader Utils: lookup. approvepending. stucnt, detstucnt. replace youtube vids. emulate user. list/update extref. list wronglibs Edit rubrics use rubric External tools: Add, edit, delete. Launch external tool Export libraries Import libraries Diagnostics Listing page enter diag, take diag, view score Redeem latepass. Un-use latepass embedq, OEAembedq Quickdrill generator. Run quickdrill Direct access: existing student existing account create new account and enroll LTI: Launch (ltiorgname didn't display - possible $SESSION issue? But OK in DB) Instructor: require login Student: create account New instructor, trigger course copy LTI home: No place_aid launch: Make placement, change placement place_aid launch to assessment grade returns global key launch Remove mathchat and all references Fresh install, dbsetup.
Upgrade Don't throw exception on redo query Actual upgrade path rewrites untested main forum list view search by thread, by post new threads list mark all read forum thread list search, search all forums flag post limit to flagged move to different forum move to be a reply remove thread mark all read list thread views filter by group filter by category View post next/prev mark unread assign score, change score Mark unread like post view likes List posts by name change scores mark all read Add thread modify post post reply group thread thread with file, delete post with category guest login autoenroll in guest access courses enroll in self-study course

TO TEST: external tool consumer outcome service (need live)

convert specialty MOM/WAMAP pages, like flashcards