From DocScores API.
You will need star sprite for the star rating to work.
From DocScores API.
You will need star sprite for the star rating to work.
| <?php | |
| $orgSlug = ""; | |
| // this URL will differ for each physician profile | |
| $jsonUrl = "http://www.docscores.com/widget/api/" . $orgSlug . "/npi/" . $pressganey . "/200"; | |
| $jsonStr = file_get_contents($jsonUrl); | |
| $json = json_decode($jsonStr); | |
| // get the profile | |
| $reviews = $json->reviews; | |
| $per_page = 10; | |
| $pages = ceil(count($reviews) / $per_page); | |
| $html = ''; | |
| foreach($reviews as $key=>$review) { | |
| $body = $review->bodyForDisplay; | |
| $date = $review->publishdate; | |
| $date = date_create($date); | |
| $current_page = ($key + 1) / $per_page; | |
| if (ceil($current_page) == 1) { | |
| $html .= '<article class="active page-'.ceil($current_page).'"><p>'.$body.'</p>'; | |
| } else { | |
| $html .= '<article class="page-'.ceil($current_page).'"><p>'.$body.'</p>'; | |
| } | |
| $html .= '<p><span>OU Medicine Patient</span> <span>'.date_format($date,"M n, Y").'</span></p></article>'; | |
| } | |
| if ($pages > 1) { | |
| $html .= '<div class="pagination"><ul><li class="active" data-page="1">Page 1</li><li data-page="2">2</li>'; | |
| if ($pages > 2) { | |
| for ($x = 2; $x < $pages; $x++) { | |
| $html .= '<li data-page="'.($x+1).'">'.($x+1).'</li>'; | |
| } | |
| } | |
| $html .='</div>'; | |
| } | |
| return $html; |
| <?php | |
| $orgSlug = ""; | |
| // this URL will differ for each physician profile | |
| $jsonUrl = "http://www.docscores.com/widget/api/" . $orgSlug . "/npi/" . $pressganey . "/200"; | |
| $jsonStr = file_get_contents($jsonUrl); | |
| $json = json_decode($jsonStr); | |
| // get the profile | |
| $profile = $json->profile; | |
| // get the fields that are needed | |
| $name = $profile->name; | |
| $rating = $profile->averageRatingStr; | |
| $starRating = $profile->averageStarRatingStr; | |
| $ratingCount = $profile->reviewcount; | |
| $commentCount = $profile->bodycount; | |
| $html = ''; | |
| $html = '<span class="badge-rating">'.$rating.' / 5</span>'; | |
| $html .= '<span class="docscores-stars docscores-stars'.$starRating.'"></span>'; | |
| $html .= '<span class="badge-number">'.$ratingCount.' Ratings</span>'; | |
| $html .= '<span class="badge-comments">'.$commentCount.' Comments</span>'; | |
| return $html; |
| $('.pagination ul li').click(function(){ | |
| var page = $(this).data('page'); | |
| $('article').removeClass("active"); | |
| $('.page-' + page).addClass("active"); | |
| }); |
| .pagination { | |
| text-align: center; | |
| ul { | |
| &:before, &:after { | |
| padding: 1em; | |
| } | |
| &:before { | |
| content: "<<"; | |
| } | |
| &:after { | |
| content: ">>"; | |
| } | |
| } | |
| li { | |
| margin: 0 .125em; | |
| padding: 0 .125em; | |
| cursor: pointer; | |
| } | |
| } | |
| article { | |
| display: none; | |
| &.active { | |
| display: block; | |
| } | |
| } | |
| //widget | |
| span.docscores-stars { | |
| display: inline-block !important; | |
| background: url(../images/sprites/star-ratings-sprite.png) 0 0 repeat-x; | |
| width: 88px; | |
| height: 16px; | |
| } | |
| span.docscores-stars {display: block; background: url(../images/sprites/star-ratings-sprite.png) 0 0 repeat-x; width: 88px; height: 16px; } | |
| span.docscores-stars5 {background-position: 0 -160px;} | |
| span.docscores-stars45 {background-position: 0 -144px;} | |
| span.docscores-stars4 {background-position: 0 -128px;} | |
| span.docscores-stars35 {background-position: 0 -112px;} | |
| span.docscores-stars3 {background-position: 0 -96px;} | |
| span.docscores-stars25 {background-position: 0 -80px;} | |
| span.docscores-stars2 {background-position: 0 -64px;} | |
| span.docscores-stars15 {background-position: 0 -48px;} | |
| span.docscores-stars1 {background-position: 0 -32px;} | |
| span.docscores-stars05 {background-position: 0 -16px;} | |
| span.docscores-stars0 {background-position: 0 0px;} |