Upgrading to PHP 7

This guide is for CentOS Linux systems running PHP 5.3 and up.

Start by logging into WHM and making sure the server is on Apache 4. Use EasyApache 4 to upgrade if necessary.

To upgrade PHP 7, SSH into the server and download Remi and EPEL Repository:

$ wget -q http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ wget -q https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Enable the respositories:

# rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
# yum-config-manager --enable remi-php70
# yum-config-manager --enable remi-php71

Then upgrade to PHP 7:
# yum update

Events Planning Form Using Javascript

A short questionnaire to direct users to the right form using Javscript
window.onload = function() { document.getElementById('link1').style.display = 'none'; document.getElementById('link2').style.display = 'none'; }; //Clears div box

var x, y, z; //assigns variables to radio selections

function a1(answer1){ x = answer1; };
function a2(answer2){ y = answer2; };
function a3(answer3){ z = answer3; };

//if all answers are no, display link2 and hide link2; if any answers are yes, do the opposite.

function showdiv() { if (x==1 | y==1 | z==1){ document.getElementById('link1').style.display='block'; document.getElementById('link2').style.display='none'; } else { console.log("None of the questions is 1"); document.getElementById('link1').style.display='none'; document.getElementById('link2').style.display='block'; } return; }

//How to structure your HTML to code. Onlick assigns value to x,y,z variables

<input type="radio" onclick="a1(1)" name="q1">Yes
<input type="radio" onclick="a1(0)" name="q1">No

//execute code
<button onclick="showdiv()">What Form Do I Need?</button>

//hide show divs using IDs
<div id="link1">
Link 1
<div id="link2">
Link 2

Creating Working Papers

Faculty Working Papers are created in one of two categories. This guide goes over both Law & Economics Working Papers as well as Legal Studies Working Papers.

Step 1. Navigate to the Faculty Working Papers directory on MODx found under: Resources > Publications > Faculty Working Papers

Create a New Article by selecting the New Article button.

Step 2. Name the article using the Article Title field.

Step 3. Scroll down the same page and under the Uses Template field, select Publications – Working Papers template found on page 3 of the drop down menu.

Step 4. Navigate to the Template Variables tab and make sure you are on the Documents sub-section.

Enter the Title & Publication Year/Month/Day

Depending on the category, Either the Law & Economics No. field OR the Legal Studies No. field must be filled in. The naming convention is subject to change. Please contact the Head of Reference and Instructional Services for the most up to date information.

Step 5. Under Text Availability select Abstract and Full Text and SSRN. Almost all working papers include all three items. Then upload a PDF copy of the working paper using the PDF field. Make sure it’s under the publications/working_papers directory.

Step 6. Paste the abstract into the Abstract text field. The abstract is usually included in the working paper. If not, the first paragraph will usually suffice.

Step 7. Select the Author(s) from the checklist.

Step 8. In this field, Type the ID numbers of each author. If there are multiple authors, separate each by a comma (e.g.:  123,456,789). Do not include a blank space between IDs.

Step 9. Scroll back to the top and select the Publications sub-section, still under Template Variables. Under SSRN Of Document, paste the SSRN link provided to you. This link is provided usually provided by a Scalia Law staff member.

Step 10. Finally, select Save to publish the Working Paper.

List All Sites Using Custom Shortcode

Shortcodes make it easier to customize wordpress pages quickly. WordPress comes with pre-built shortcodes but we’re going to build one from scratch. You will need to add a function to your child theme’s functions.php file. This particular code builds an ordered list of all our wordpress sites under our sls.gmu.edu domain using the get_sites() function. This function will work on all WP platforms 4.3 and above.

* Author: Tushar
* This function creates a shortcode usable in all sites using the scalia law theme to create an ordered list of
all multisites
function scalia_list_sites() {

$subsites = get_sites(); //creates variable using get_sites

if ( ! empty ( $subsites ) ) {

$html = '

    '; //sets up class

    foreach( $subsites as $subsite ) {

    $subsite_id = $subsite->blog_id; //finds sites by id
    $subsite_name = get_blog_details( $subsite_id )->blogname; //creates variable for site name
    $subsite_link = get_blog_details( $subsite_id )->siteurl; //creates variable for site url
    $html .= '< li class="site-' . $subsite_id . '">< a href="' . $subsite_link . '">' . $subsite_name . '< /a >< /li >'; //builds individual list items

    $html .= '< /ol >';

    return $html; //returns the list


    add_shortcode('scalia_list', 'scalia_list_sites'); //calls function and sets up [ scalia_list ] custom short code

    This goes in your child-theme’s functions.php file.

Adding News Articles

This is specific to the Monthly Dean’s List Mailings found here.

1. Create a Resource using the News template. Give it a Title, Long Title, and Resource Alias.

2. On the Settings Tab, make sure the Parent Resource corresponds to the News>Year. The Published On field will be used to sort the article. Use the date the Mailing was delivered.

3. Under Template Variables, include an image (300px wide by 200px high). Copy and paste a blurb for the Spotlight/Feature Summary (usually the first sentence). Enter the Publication Date. Check off the categorie(s) that correspond to the article on the Categories list. Under Content, paste the entire article.

4. If an image needs to be included, upload the image and use the following code template:

<figure class="floatleft">
<img src="assets/images/news/mossoff_adam.jpg" alt="Professor Adam Mossoff" />
<figcaption>Professor Adam Mossoff</figcaption>

Course Pages

Step 1: Create a New Document

Step 2: Use the Courses Template and Fill in the Title, Long Title, & Resource Title with the course name. The Published checkbox is unchecked by default. Make sure to check it and hit save when you are complete.

Step 3: Under the Settings Tab, use the following field entries in each field to keep all courses.

Step 4: Under the Template Variables Tab -> Courses Sub-Tab fill in the following fields:  Course Title, Department Code, Course Number, Credit Hours (minimum), Credit Hours (maximum), Subject Category, and Prerequisites (if applicable).

Step 5: Under Template Variables Tab -> Entities Sub-Tab, Copy and paste the course description under Short Description.

Optional: If you would like to hide the side bar, the option is under Templates-Default TVs as Hide Side Navigation.


Step 6: When finalized, make sure the Published checkbox is checked under the Document tab and Click on the green Save button.

Faculty and Administrative Bio Pages

Step 1: Create a new Document by clicking on the Document icon under the MODX search bar.

Step 2: Under the Document Tab, select the “People – Faculty and Staff Profiles” Template. Then enter the staff member’s Name under Title, Long Title, and Resource Alias in the format shown below. Please note that the Published checkbox will not be selected by default. When the Bio is complete, this box will need to be checked.

Step 3: Under the Settings Tab, Select the Parent Resource, and make sure the Resource Type, Content Type, Content Disposition and Menu Index have the following inputs:

Step 4: The Template Variables tab will hold the majority of information for the Staff Member. Start with the Locations sub-tab. Here you will enter the Email, GMU Phone Extension, and Office Number.  Please note the phone extension must follow the correct format (3-xxxx).

Step 5: The People sub-tab under Template Variables is very important. Start with the First Name, Middle Name, Last Name, to title the Staff page. A staff banner photo may be uploaded to the Photo Large area when a photo is available.

Scrolling down the People tab, enter the Staff Member’s professional title under Main Title, and include the Bio under Biographical Sketch. For Faculty, please select an Area of Expertise and Subjects Taught.

Further down, select the Designation, Faculty Rank,  Highest Degree Obtained. and Alma Mater. You may enter up to six additional degrees in this section.

Step 6. (Optional) To remove the sidebar which is set by default, scroll back up to the sub-tab area and select Templates – Default TVs. From there select Yes from Hide Side Navigation.

At this point the Staff Bio page has all the required information to display correctly. You will need to select the green SAVE button found at the very top of the page to save your work and publish your page.

Optional: You may add additional information such as uploading a resume, including a professional website link, or Twitter username found in the People and Locations sub-tab, respectively.


PHP Script Swapping out GA codes

This script was used to delineate Google Analytic Tracking codes between four different sites sharing the same wordpress theme files. Originally placed in footer.php above the GA tracking code provided by Google.

$host = 'https://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($host,'sls') !== false)
$gacode ="UA-792782-19";

elseif (strpos($host,'gai') !== false)
$gacode ="UA-792782-21";

elseif (strpos($host,'pep') !== false)
$gacode ="UA-792782-22";

elseif (strpos($host,'mvets') !== false)
$gacode ="UA-792782-23";

$gacode ="UA-792782-XX";

The script checks the URL and replaces the $gacode variable with the correct analytics code inside the provided GA script.

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

ga('create', '<?phpecho $gacode; ?>', 'auto');
ga('send', 'pageview');


Using WordPress: Tips For Editors

How do I sign into Scalia Law Sites remotely?

Users must download a VPN client from the IT Services Downloads page. For iOS or Android devices, install the Cisco AnyConnect client through the appropriate app store.

Instructions for Windows
Instructions for Mac

Once installed, enter your desired the URL for your VPN group in the format vpn.gmu.edu/<group>. If you do not know your specific VPN group or do not have one, you may enter vpn.gmu.edu and click Connect.  Select GENERAL from the Group list and login with your NetID and Patriot Pass password. See VPN Groups for additional information and how to determine your group.

I can’t sign in because of 2FA. What is that and how can I get it?

Two-Factor Authentication (2FA) is required to connect to the VPN. If you are a Mason employee who uses the VPN to access Mason resources, you are encouraged to enroll in 2FA. This tool allows Mason employees to verify who they are before connecting to protected networks. An alert will go to your cell phone if you or someone else attempts to login using your credentials. You will then be prompted to approve or deny entry.

Enroll in 2FA .

How do I administer the site and take care of my content?

A user must first be given access to the site by the Director of Design and Web Services. Once an account has been created, simply add “/wp-login.php” to the end of the URL of the site you are working on. For example, to sign into sls.gmu.edu, the link would be sls.gmu.edu/wp-login.php.

How do I use the WordPress Dashboard?

Please refer to this short six minute video to get an overview of the WordPress Dashboard.

A more comprehensive look at the WordPress Dashboard is found below:

Of course, we are here to help. If you have any questions, please contact one the web administrators and we’ll gladly walk you through the process.

The Menu settings are found on the left side of the WordPress Dashboard under Appearance->Menus.

To the left of this page you will see various categories of items you may add to the Menu, such as pages or custom links. Simply check off the page you would like to add and click on Add to Menu for pages, or copy and paste a URL and give it a title under custom links.

Once the Page or Link has been added to the Menu Structure window to the right, you may drag your selection up or down to prioritize your menu items. Dragging the item slightly to the right while under another item will create a child/parent item relationship making organization of links easier than ever.

Sidebar content is called a Widget in WordPress nomenclature. Widgets can be found under Appearance-> Widgets. In order to add sidebar content to a page, you must first create the Widget in the Sidebar category.

Once the content has been created, you will need to add to the page. Under every editor view of a page, you will see the Custom Sidebar menu. Activate it by checking off the menu item, then select the Sidebar Radio button.

How do I embed videos from YouTube and Vimeo?

On any YouTube video, click on the Share button underneath the subscribe button. From there, simply copy and paste the Share link into the Edit Page window.

For Vimeo, copy the video URL and paste it into the Edit Page window. Example:


Using MODx: Tips For Editors

How to Create Internal Links With Resources IDs

In MODX, Resource IDs are the numbers assigned to a Document. For example: About Scalia Law (2). To link to the about page, use the following code:

<a href="[[~2]]">About Scalia Law</a>

How to Use Download Indicator Icons

Use the following shortcode to indicate an icon:
For PDFs: [[$pdf_icon]]
For Word Documents: [[$word_icon]]

How to Create an Anchor Link

To point to an anchor link within a page, use the following shortcode.
<a href="[[~[[*id]]]]#anchorname">Anchor Name</a>

To point to an anchor link on a different page, use the following shortcode:
<a href="[[~2]]#mason">About Mason</a>