function mx_showcustompage($page, $user, $media = null, $simul = '') { global $mxuser, $transparencies, $windows, $mxdb; if ($simul == 'public') { $saveuser = $mxuser; $mxuser = new MXUser(-1); $user = $mxuser->getuserinfo($user->id, true); // get public info instead... } mx_checkvalues($user); //error_log(print_r($user,true)); $locale = $mxuser->locale ? $mxuser->locale : 'en_US'; $locpage = mx_option('pagesdir') . '/' . $locale . '/' . $page . '.html'; if (file_exists($locpage)) { $html = file_get_contents(mx_option('pagesdir') . '/' . $locale . '/' . $page . '.html'); } else { $locpage = mx_option('pagesdir') . '/en_US/' . $page . '.html'; if (file_exists($locpage)) { $html = file_get_contents(mx_option('pagesdir') . '/en_US/' . $page . '.html'); //$html='<div class="nottranslated">'. //_('(This page will be translated to your language soon)').'</div>'.$html; } } $html = preg_replace('%{playicon:([^}]+)}%', '<a class="playbutton" href="javascript:play(\'$1\');">' . mx_icon('playsound', 'listen', 16, 'i_$1') . '</a>', $html); $html = preg_replace('%{mail:([^},]+),([^},]+),?([^}]+)}%', '<a href="mailto:$1?Subject=$3" alt="$2">$2</a>', $html); if (preg_match_all('%{menu:([^},]+),?([^}]+)?}%', $html, $menus)) { for ($i = 0; $i < count($menus[0]); $i++) { $html = str_replace($menus[0][$i], mx_optionlink($menus[1][$i], $menus[2][$i]), $html); } } $html = preg_replace('%{aboutimg:([^,}]+)(,([^}]+))?}%', '<img class="about" src="' . mx_option('siteurl') . '/images/about/$1" alt="$3" />', $html); $html = str_replace('{firstname}', $mxuser->firstname ? $mxuser->firstname : $mxuser->fullname, $html); $html = str_replace('[', '<', $html); $html = str_replace(']', '>', $html); // user stuff $user->subs = $mxuser->getsub($user->id); $stotal = $sfoy = $sfofa = $slike = 0; foreach ($user->subs as $k => $sub) { ++$stotal; if ($sub->subtype == MXSUBFOY) { ++$sfoy; } else { if ($sub->subtype == MXSUBFOFA || $sub->subtype == MXUPGFOFA) { ++$sfofa; } else { if ($sub->subtype == MXSUBLIKE) { ++$slike; } } } } $html = str_replace('{PIC}', '<img tag="' . $user->id . '" src="' . mx_fanpic($user->id, 'large') . '" />', $html); $html = str_replace('{ARTISTPIC}', '<img tag="' . $user->id . '" class="artistpic" src="' . mx_artpic($user->id, 'large', $user->gender) . '" itemprop="image"/>', $html); //if ($user->acctype==MXACCOUNTFAN) { if ($sfofa + $sfoy >= 10) { $fanrank = 'n1fan'; } else { if ($sfofa + $sfoy >= 1) { $fanrank = 'truefan'; } else { $fanrank = 'fanlogo'; } } //} $html = str_replace('{FANPIC}', '<img tag="' . $user->id . '" class="fanpic" src="' . mx_fanpic($user->id, 'large', $user->gender) . '" itemprop="image"/>' . '<div class="picstamp"><img class="picstamp" src="' . mx_iconurl($fanrank) . '"/></div>', $html); $html = str_replace('{ARTISTNAME}', mx_getartistname($user), $html); $html = str_replace('{LASTSEEN}', mx_difftime($user->lastseen), $html); $html = str_replace('{NAME}', mx_getname($user), $html); $html = str_replace('{FULLNAME}', mx_getname($user), $html); if (strpos($html, '{BACKGROUND}') > 0) { $bg = $mxuser->getbackgroundurl($user->background_id); $html = str_replace('{BACKGROUND}', $bg, $html); if (!strpos($bg, 'tiled')) { $html = str_replace('{BACKGROUNDSIZE}', 'background-size:100%;', $html); } } // find transparency background $opt = 90; if (array_key_exists($user->transparency, $transparencies)) { $opt = 100 - $user->transparency; } if ($opt < 50) { $opt = 50; } $whitebg = $opt ? mx_option('siteurl') . '/images/background/white-dot-' . $opt . '.png' : ''; $yellowbg = $opt ? mx_option('siteurl') . '/images/background/yellow-dot-' . $opt . '.png' : ''; $html = str_replace('{WHITEBG}', $whitebg, $html); $html = str_replace('{YELLOWBG}', $yellowbg, $html); $html = str_replace('{OPACITY}', 1 - $user->transparency / 100, $html); $html = str_replace('{OPACITY100}', 100 - $user->transparency, $html); $html = str_replace('{BIO}', mx_urls2anchors(mx_cleanhtml($user->longbio)), $html); $html = str_replace('{AGE}', $user->age, $html); $html = str_replace('{BDAY}', $user->birthday, $html); $html = str_replace('{ABOUT}', mx_cleanhtml($user->shortbio), $html); $html = str_replace('{GENDER}', mx_gender($user->gender), $html); $html = str_replace('{WEBSITE}', mx_urls($user->website), $html); $html = str_replace('{EMAIL}', $user->email, $html); $artlinks = '<ul>'; if ($user->username) { foreach (array('artist', 'artists', 'art', 'arts', 'at') as $aurl) { $link = 'http://' . $user->username . '.' . $aurl . '.example.com'; $artlinks .= '<li><a href="' . $link . '">' . $link . '</a></li>'; } $link = 'http://www.example.com/a/' . $user->username; $artlinks .= '<li><a href="' . $link . '">' . $link . '</a></li>'; } $link = 'http://www.example.com/artists/artprof?a=' . $user->id; $artlinks .= '<li><a href="' . $link . '">' . $link . '</a></li>'; $artlinks .= '</ul>'; $html = str_replace('{ARTLINKS}', $artlinks, $html); $fanlinks = '<ul>'; if ($user->username) { foreach (array('fan', 'fans') as $furl) { $link = 'http://' . $user->username . '.' . $furl . '.example.com'; $fanlinks .= '<li><a href="' . $link . '">' . $link . '</a></li>'; } $link = 'http://www.example.com/f/' . $user->username; $fanlinks .= '<li><a href="' . $link . '">' . $link . '</a></li>'; } $link = 'http://www.example.com/fans/fanprof?a=' . $user->id; $fanlinks .= '<li><a href="' . $link . '">' . $link . '</a></li>'; $fanlinks .= '</ul>'; $html = str_replace('{FANLINKS}', $fanlinks, $html); if (strpos($html, '{STYLES}') > 0 || strpos($html, '{TASTES}') > 0) { $genres = $mxdb->listgenres(); $cats = array(); $subgenres = array(); foreach ($genres as $genre) { if (!$genre->cat) { $cats[$genre->hash] = $genre->id; $subgenres[$genre->id] = array(); } } foreach ($genres as $genre) { if ($genre->cat) { $subgenres[$cats[$genre->cat]][] = $genre->id; $catgenre[$genre->id] = $cats[$genre->cat]; } } if (strpos($html, '{STYLES}') > 0) { $value = $user->genres; } else { $value = $user->tastes; } $str = '<table class="genres">'; $ok = 0; for ($i = 0; $i < 5; $i++) { $genre = $value[$i]; if ($genre) { $cat = $catgenre[$genre]; $str .= '<tr><th>' . (!$i ? _('Primary') : ($i == 1 ? _('Secondary') : _('Other'))) . ':</th><td>' . $genres[$genre]->genre . ($cat ? ' (' . $genres[$cat]->genre . ')' : '') . '</td></tr>'; $ok = 1; } } $str .= '</table>'; if (!$ok) { $str = _('Not informed'); } $html = str_replace('{TASTES}', $str, $html); $html = str_replace('{STYLES}', $str, $html); } if (strpos($html, '{MEDIA}') > 0) { //$mediatable=$mxuser->listartistmedia($user->id); //$html=str_replace('{MEDIA}',mx_showmediastr($mediatable),$html); //$mediatable=$mxuser->listartistmedia($user->id); $googlecrawler = mx_securestring($_GET['_escaped_fragment_']); $ob = preg_replace('%[^0-9]%', '', $googlecrawler); //error_log('ob='.$ob.' / media->id='.$media->id); $mediatable = mx_showmediastr($user->id, 'media', $ob ? $ob : $media->id); $html = str_replace('{MEDIA}', $mediatable, $html); } $location = ''; if ($user->city) { $location .= '<span itemprop="addressLocality">' . $user->city . '</span>'; } if ($user->state) { $location .= ($location ? ', ' : '') . '<span itemprop="addressRegion">' . $user->state . '</span>'; } if ($user->country) { $location .= ($location ? ', ' : '') . '<span itemprop="addressCountry">' . mx_getcountryname($user->country) . '</span>'; } $html = str_replace('{LOCATION}', $location, $html); $html = str_replace('{FACELIKE}', '<fb:like href="' . mx_actionurl_prod('artists', 'artprof', $user->id) . '" send="false" show_faces="false" width="60" font=""></fb:like>', $html); $html = str_replace('{PLUSONE}', '<g:plusone size="medium" href="' . mx_actionurl_prod('artists', 'artprof', $user->id) . '" callback="mxpluslike"></g:plusone>', $html); $html = str_replace('{FANFACELIKE}', '<fb:like href="' . mx_actionurl_prod('fans', 'fanprof', $user->id) . '" send="false" show_faces="true" width="60" font=""></fb:like>', $html); $html = str_replace('{FANPLUSONE}', '<g:plusone size="medium" href="' . mx_actionurl_prod('fans', 'fanprof', $user->id) . '"></g:plusone>', $html); $hassub = 0; if (strpos($html, '{SUBSCRIBERS}') > 0) { $html = str_replace('{SUBSCRIBERS}', mx_subscribers($user->id, false), $html); } if (strpos($html, '{LIKERS}') > 0) { $html = str_replace('{LIKERS}', mx_subscribers($user->id, true), $html); } if (strpos($html, '{SUBSCRIPTIONS}') > 0 || strpos($html, '{LIKES}') > 0 || strpos($html, '{SUBSCRIBE}') > 0) { if (strpos($html, '{SUBSCRIPTIONS}') > 0) { $html = str_replace('{SUBSCRIPTIONS}', mx_subscriptions($user->subs, false), $html); } if (strpos($html, '{LIKES}') > 0) { $html = str_replace('{LIKES}', mx_subscriptions($user->subs, true), $html); } } $mysubs = $mxuser->getsub(); foreach ($mysubs as $sub) { if ($sub->subcat == MXARTSUB && $sub->objectid == $user->id && $sub->status != MXEXPIREDSUB) { $hassub = $sub->subtype; $autorenew = $sub->renewal; break; } } if (strpos($html, '{ILOVE}') > 0) { if (!$mxuser->id) { $str = ''; } else { if ($hassub == MXSUBLIKE) { // likers $str = mx_icon('ilove', _('Like!'), '', 'nl_' . $user->id, 'ilovehover', 'class'); } else { if ($hassub) { // fan love $str = mx_icon('fanlove', _('Fan Love'), ''); } else { if ($mxuser->id == $user->id) { $str = mx_icon('melove', _('Love Me'), ''); } else { $str = mx_icon('nolove', _('I LOVE THIS!'), '', 'il_' . $user->id, 'nolovehover', 'class'); } } } } $html = str_replace('{ILOVE}', $str, $html); } if (strpos($html, '{SUBSCRIBE}') > 0 && $mxuser->id && $mxuser->id != $user->id && $user->status != MXACCTDISABLED && ($user->pubcnt >= MXMINIMUMMEDIA || is_admin())) { $subscribefoy = _('1-Year: ${FOY}'); //$subscribefofa=_('{FOFAYRS}: ${FOFA}'); //$upgradefofa=_('Upgrade: ${FOFAUPG}'); $subfoybtn = array(1, $subscribefoy, 'g-button', 'subs1year', '<b>F</b>an <b>O</b>ne <b>Y</b>ear (FOY)<br/>This fanship entitles you to <b>listen to and download all media</b>, <u>from this artist' . ' exclusively</u>, <b>during 1 year</b>. After the first renewal in 1 year, ' . 'you will get access to this artist\'s media forever.'); $subfofabtn = array(1, $subscribefofa, 'g-button', 'subsforever', '<b>F</b>an <b>O</b>nce <b>F</b>an <b>A</b>lways (FOFA)<br/>This fanship entitles you to <b>download all media</b>, <u>from this artist' . ' exclusively</u>, <b>forever</b>'); $subfofaupgbtn = array(1, $upgradefofa, 'g-button', 'subsforeverupg', 'This upgrade entitles you to <b>download all media</b>, <u>from this artist' . ' exclusively</u>, <b>forever</b>'); if ($hassub == MXSUBFOFA || $hassub == MXUPGFOFA) { $subscribetxt = _('You\'re a Fan, FOREVER!'); $cansubfoy = false; $cansubfofa = false; $canupgfofa = false; } else { if ($hassub == MXSUBFOY) { if ($autorenew) { $subscribetxt = _('Auto-Renewal Enabled'); } else { $subscribetxt = _('Auto-Renewal Disabled'); } $cansubfoy = false; $cansubfofa = false; $canupgfofa = false; } else { $subscribetxt = sprintf(_('Subscribe to this %s'), $user->acctype == MXACCOUNTARTIST ? _("Artist") : _("Band")); $cansubfoy = true; $cansubfofa = false; $canupgfofa = false; } } $addcart = '<form style="display:inline" name="addtocart" action="' . mx_pageurl('cart') . '" method="POST">' . '<div class="title"><img src="' . mx_option('templateURL') . '/icons/cart.png" />' . ' ' . $subscribetxt . '</div>' . '<input type="hidden" name="id" value="' . $user->id . '">' . '<input type="hidden" name="a" value="">' . ($cansubfoy ? mx_formfield('addfoy', $subscribefoy, $subfoybtn) : '') . ($cansubfofa ? mx_formfield('addfofa', $subscribefofa, $subfofabtn) : '') . ($canupgfofa ? mx_formfield('upgfofa', $upgradefofa, $subfofaupgbtn) : '') . '</form>'; $html = str_replace('{SUBSCRIBE}', $addcart, $html); } else { if ($user->status == MXACCTDISABLED) { $html = str_replace('{SUBSCRIBE}', _('Sorry, this account is no more active.'), $html); } else { if ($mxuser->id == $user->id) { $html = str_replace('{SUBSCRIBE}', _('Hey! You\'re an artist!!'), $html); } else { $logfirst = '<div class="title"><img src="' . mx_option('templateURL') . '/icons/cart.png" /> ' . _('to become a FAN...') . '</div>' . sprintf(_('%s or %s'), '<a href="' . mx_actionurl('account', 'signin', '', '', 'artists,artprof,' . $user->id) . '" alt="' . _('Sign-in') . '">' . mx_icon('signinbtn', _('Sign-in'), '', 'xx', 'signinbtnhover') . '</a>', '<a href="' . mx_actionurl('account', 'register', '', '', 'artists,artprof,' . $user->id, '', 'i=' . $user->invitecode) . '" alt="' . _('Register') . '">' . mx_icon('registerbtn', _('Register'), '', 'xx', 'registerbtnhover') . '</a>'); $html = str_replace('{SUBSCRIBE}', $logfirst, $html); } } } // fans stats $fanstats = '<table><tr><th>' . _('Stats') . '</th></tr>' . '<tr><td><a href="javascript:tabswitch(\'GENERAL\',\'SUBSCRIPTIONS\');">' . _('Fanships') . '</a>' . '<br/>' . _('FOFA:') . ' ' . $sfofa . '<br/>' . _('FOY:') . ' ' . $sfoy . '<br/>' . _('Likes:') . ' ' . $slike . '<br/><span class="stattotal">' . _('Total:') . ' ' . $stotal . '</span>' . '</td></tr>' . '</table>'; $html = str_replace('{FANSTATS}', $fanstats, $html); // artists stats $stats = '<table><tr><th>' . _('Stats') . '</th></tr>' . '<tr><td class="first"><a href="javascript:tabswitch(\'GENERAL\',\'MEDIA\');">' . _('Media') . '</a>' . '<br/><span class="stathdr">' . _('Uploaded') . '</span><br/>' . $user->mediacnt . ($user->mediacnt != MXNOTINFORMED ? ' (' . mx_size($user->mediasize) . ')' : '') . '<br/><span class="stathdr">' . _('Published') . '</span><br/>' . $user->pubcnt . ' (' . mx_size($user->pubsize) . ')</td></tr>' . '<tr><td><a href="javascript:tabswitch(\'GENERAL\',\'SUBSCRIBERS\');">' . _('Fans') . '</a>' . '<br/>' . _('FOFA:') . ' ' . $user->subfofa . '<br/>' . _('FOY:') . ' ' . $user->subfoy . '<br/>' . _('Likes:') . ' ' . $user->sublike . '<br/><span class="stattotal">' . _('Total:') . ' ' . $user->subcnt . '</span>' . '</td></tr>' . '</table>'; $html = str_replace('{STATS}', $stats, $html); $html = str_replace('{FOY}', MXFEEFOY, $html); $html = str_replace('{FOFA}', MXFEEFOFA, $html); $html = str_replace('{FOFAUPG}', sprintf('%.2d', MXFEEFOFA - MXFEEFOY), $html); $html = str_replace('{FOFAYRS}', MXFOFAYRS, $html); $html = str_replace('{FREE}', MXFEEFREE, $html); $html = str_replace('{BASIC}', MXFEEBASIC, $html); $html = str_replace('{PLUS}', MXFEEPLUS, $html); $html = str_replace('{PREMIUM}', MXFEEPREMIUM, $html); $html = str_replace('{1SONG}', MXFEE1SONG, $html); $html = str_replace('{SONGS}', MXFEESONGS, $html); $html = str_replace('{SETUPFEE}', MXFEESETUP, $html); $html = str_replace('{siteurl}', mx_option('siteurl'), $html); $html = str_replace('{WALL}', mx_showuserwallstr($user), $html); $html = str_replace('{MYREVIEWS}', _('Available Soon'), $html); $chats = '<iframe class="chat" src="../ext_includes/chat/index.php"></iframe>'; $html = str_replace('{SHOWS}', _('Available Soon'), $html); $html = str_replace('{CHATS}', _('Available Soon'), $html); $html = str_replace('{MENTIONS}', _('Available Soon'), $html); $fbreviews = '<div class="fb-comments" data-href="' . mx_actionurl('artists', 'artprof', $user->id) . '" data-num-posts="10" data-width="540"></div>'; $html = str_replace('{REVIEWS}', $fbreviews, $html); if (strpos($html, '{SHARE}') > 0) { $tools = mx_sharetools($user->id, true); } // artists tools if (strpos($html, '{SHAREFAN}') > 0) { $tools = mx_sharetools($user->id, false); } // fans tools $html = str_replace('{SHARE}', $tools, $html); // for artists $html = str_replace('{SHAREFAN}', $tools, $html); // for fans $html = str_replace('{QRCODE}', mx_qrcode($user, true), $html); // for artists $html = str_replace('{QRCODEFAN}', mx_qrcode($user, false), $html); // for fans // build tabs if needed $realnames = array('MEDIA' => _('Media'), 'GENERAL' => _('Info'), 'WALL' => _('Wall'), 'SHOWS' => _('Shows'), 'MENTIONS' => _('Mentions'), 'REVIEWS' => _('Reviews'), 'SUBSCRIBERS' => _('Fans'), 'LIKERS' => _('Likers'), 'MYREVIEWS' => _('My Reviews'), 'SUBSCRIPTIONS' => _('Fanships'), 'LIKES' => _('Likes'), 'FRIENDS' => _('Friends'), 'CHATS' => _('Chats'), 'SHARE' => _('Share!'), 'RESTRICTED' => _('RESTRICTED')); if (strpos($html, '{TABS}') > 0) { $html = str_replace('{TABS}', '<div class="form"><table><tr><td>', $html); $html = str_replace('{/TABS}', '</td></tr></table></div>', $html); $tabs = preg_match_all('%{TAB:([*+]?)([^}]+)}%', $html, $tabnames); $group = mx_secureword($_REQUEST['k']); if (!$group || !array_search($group, $tabnames[2])) { $group = $tabnames[2][0]; } for ($i = 0; $i < $tabs; $i++) { //$newtab='<div id="artist_'.($form?'f_':'').$i.'" class="'.$style.((($i==$group) && !$form)?'':' hidden').'">'; $newtab = '<div id="' . $tabnames[2][$i] . ($form ? '_f' : '') . '" class="' . $style . ($tabnames[2][$i] == $group && !$form ? '' : ' hidden') . '">'; //$newtab.='<form name="artist_'.$i.'" method="POST" enctype="multipart/form-data"' . // ' onsubmit="return checkform(\'artist_'.$i.'\');">'; $newtab .= '<table><tr><td>'; $newtab .= '<fieldset>'; for ($j = 0; $j < $tabs; $j++) { $tabclass = ''; if ($tabnames[1][$j] == '*') { if (!is_admin()) { continue; } $tabclass = ' admin'; } else { if ($tabnames[1][$j] == '+') { if ($mxuser->id != $user->id && !is_admin()) { continue; } if ($mxuser->id == $user->id) { $tabclass = ' owner'; } else { $tabclass = ' admin'; } } } if ($i == $j) { $newtab .= '<legend class="seltab' . $tabclass . '">' . $realnames[$tabnames[2][$i]] . '</legend>'; } else { $newtab .= '<legend class="tab' . $tabclass . '"><a href="javascript:tabswitch(\'' . $tabnames[2][$i] . '\',\'' . $tabnames[2][$j] . '\');"' . ' alt="' . $realnames[$tabnames[2][$j]] . '">' . $realnames[$tabnames[2][$j]] . '</a></legend>'; } } $html = str_replace($tabnames[0][$i], $newtab, $html); } //$html=str_replace('{/TAB}','</td></tr></table></fieldset></td></tr>',$html); $str = '</fieldset></td></tr></table>'; //$str.='</form>'; $str .= '</div>'; $html = str_replace('{/TAB}', $str, $html); } // link to add as a friend if ($user->id == $mxuser->id) { $befriend = _('Hey, this is you!!'); } else { if ($mxuser->isfriend($user->id)) { $befriend = sprintf('%s<br/>%s', _('This is one of your friends'), '<a href="' . mx_actionurl('account', 'messages', 'sm:' . $user->id, 'writemsg') . '">' . _('Send a Message') . '</a>'); if ($user->acctype == MXACCOUNTARTIST) { $befriend .= '<br/><a href="' . mx_actionurl('artists', 'artprof', $user->id) . '">' . _('See Artist Page') . '</a>'; } } else { $befriend = '<a href="' . mx_actionurl('account', 'messages', 'af:' . $user->id, 'writemsg') . '">' . _('Request Friendship') . '</a>'; /* if (is_admin()) { $befriend.='<br/><a href="'.mx_actionurl('artists','artprof',$user->id).'">'._('See Artist Page [ADM]').'</a>'; } */ } } $html = str_replace('{BEFRIEND}', $befriend, $html); $friends = $mxuser->getfriends($user->id); if (!$friends) { $friendslist = _('This person\'s friends list is hidden.'); } else { if (!count($friends['confirmed'])) { $friendslist = _('This person\'s friends list is empty.'); } else { $friendslist = mx_showdirstr($friends['confirmed']); } } $html = str_replace('{FRIENDS}', $friendslist, $html); $html = preg_replace('%\\r?\\n\\r?\\n%', '<br/><br/>', $html); // graphic stats if (strpos($html, '{MYSTATS}') > 0 && ($user->id == $mxuser->id || is_admin())) { $mystats = mx_statsstr($user); $html = str_replace('{MYSTATS}', $mystats, $html); } $html = str_replace('{PRICE}', '<table class="buymedia"><tr><td>', $html); $html = str_replace('{PRICE2}', '</td><td>', $html); $html = str_replace('{PRICE3}', '</td></tr></table>', $html); $media->purchase = str_replace('{PRICE}', '<table class="buymedia"><tr><td>', $media->purchase); $media->purchase = str_replace('{PRICE2}', '</td><td>', $media->purchase); $media->purchase = str_replace('{PRICE3}', '</td></tr></table>', $media->purchase); // media pages $html = str_replace('{MEDIASCHEMA}', $media->schema, $html); $html = str_replace('{BUYTAG}', $media->pricetag, $html); $html = str_replace('{BUYMEDIA}', $media->purchase, $html); $html = str_replace('{MEDIAMETA}', $media->meta, $html); $html = str_replace('{MEDIA_TITLE}', $media->title, $html); $html = str_replace('{MEDIA_DESC}', $media->description . $media->content, $html); $html = str_replace('{MEDIA_PIC}', $media->mediapic, $html); $html = str_replace('{MEDIA_BUTTONS}', $media->buttons ? '<div class="mediabuttons"><div id="player">' . $media->buttons . '</div></div>' : '', $html); if (strpos($html, '{MEDIA_CONTENT}') > 0) { if ($media->type == MXMEDIABASEBUNDLE || $media->type == MXMEDIAREGULARBUNDLE) { $mediatable = mx_xmlbundle($media->id, 'media', '', false); $mediatable = str_replace('pubmed', 'pubmed bundled bun_' . $media->id, $mediatable); $mediatable = preg_replace('%input_.%', 'bundled', $mediatable); $submedia = '<table class="mediadetails">'; $submedia .= '<tr><td><h5>' . _('Medias') . '</h5></td></tr>'; $submedia .= $mediatable . '</table>'; } else { $submedia = '<table class="mediadetails">'; $submedia .= '<tr><td><h5>' . (count($media->bundles) > 1 ? _('Bundles') : _('Bundle')) . '</h5></td></tr>'; foreach ($media->bundles as $bundle) { $submedia .= '<tr class="pubmed bundled"><td class="msgcell bundled media_mediadata">' . '<div class="bundledetails" itemprop="inAlbum" itemscope itemtype="http://schema.org/MusicAlbum">' . '<div class="bundleminipic">' . '<a href="' . mx_actionurl('media', 'medprof', $bundle->id) . '" title="' . $bundle->title . ' - ' . _('See Media Page') . '" class="pictooltip" itemprop="url">' . $bundle->mediapic . '</a>' . '</div>' . '<div class="bundletitle" itemprop="name">' . $bundle->title . '</div>' . '<div class="bundledesc" itemprop="description">' . $bundle->description . '</div>' . '</div></td>' . '</tr>'; } $submedia .= '</table>'; } $html = str_replace('{MEDIA_CONTENT}', $submedia, $html); } $html = str_replace('{ARTISTLINK}', mx_actionurl('artist', 'artprof', $user->id), $html); if (strpos($html, '{ARTISTBUTTON}') > 0) { $artistbutton = '<div class="artistpic" itemprop="byArtist" itemscope itemtype="http://www.schema.org/MusicGroup">' . '<a href="' . mx_actionurl('artists', 'artprof', $user->id) . '" title="' . mx_getartistname($user) . ' - ' . _('See Page') . '" class="pictooltip" itemprop="url">' . '<img tag="' . $user->id . '" class="artistpic" src="' . mx_artpic($user->id, 'large', $user->gender) . '" itemprop="image">' . '</a>' . '<br/><span itemprop="name">' . mx_getartistname($user) . '</span>' . '</div>'; $html = str_replace('{ARTISTBUTTON}', $artistbutton, $html); } if (strpos($html, '{USERSHARE}') > 0) { $url = $user->acctype == MXACCOUNTFAN ? mx_actionurl('fans', 'fanprof', $user->id) : mx_actionurl('artists', 'artprof', $user->id); if (!is_logged()) { $sharebutton = mx_sharebuttons('u_' . $user->id, $url, mx_artpic($user->id, 'large', $user->gender), $user->shortbio); } else { $sharebutton = ''; } $html = str_replace('{USERSHARE}', $sharebutton, $html); } if (strpos($html, '{MEDIASHARE}') > 0) { $url = mx_option('basicsiteurl') . '/m/' . $media->id; if (!is_logged()) { $sharebutton = mx_sharebuttons('m' . $media->id, $url, $media->pic, $media->description); } else { $sharebutton = ''; } $html = str_replace('{MEDIASHARE}', $sharebutton, $html); } // -end user stuff if ($html) { echo $html; } else { __('(Content not yet ready)'); } if ($simul == 'public') { ?> <script> simul=$('<div class="simulation"><?php __('Public View'); ?> </div>'); simul.appendTo($('.artisttmpl1')); </script> <?php $mxuser = new MXUser(); } }
function mx_mediabutton($name, $alt = '', $height = '', $prefix, $id = '', $hover = '', $mystuff = false) { $idstr = $id ? ' id="' . $prefix . $id . '"' : ''; $str = '<img' . $idstr . ' src="' . mx_iconurl($name, $id) . '"' . ($height ? ' height="' . $height . '"' : '') . ($alt ? ' alt="' . $alt . '"' : ''); switch ($prefix) { case 'pm_': $func = 'play'; $str .= ' class="button play"'; break; case 'pa_': $func = 'pause'; $str .= ' class="button pause"'; break; case 'dm_': $func = 'download'; $str .= ' class="button download"'; break; case 'am_': $func = 'add'; $str .= ' class="button add"'; break; case 'ob_': $func = 'openbundle'; $str .= ' class="button openbundle"'; break; case 'cb_': $func = 'closebundle'; $str .= ' class="button closebundle"'; break; case 'wb_': $func = ''; $str .= ' class="button waitbundle"'; break; case 'oa_': $func = 'openbundles'; $str .= ' class="button"'; break; case 'ca_': $func = 'closebundles'; $str .= ' class="button"'; break; case 'wa_': $func = ''; $str .= ' class="button waitbundle"'; break; case 'bm_': $func = 'buy'; $str .= ' class="button buy"'; break; case 'um_': $func = 'unbuy'; $str .= ' class="button buy"'; break; default: $func = ''; $str .= ' class="button"'; } if ($hover) { $str .= ' onmouseover="this.src=\'' . mx_iconurl($name . $hover, $id) . '\';"'; $str .= ' onmouseout="this.src=\'' . mx_iconurl($name, $id) . '\';"'; if ($func) { $str .= ' onclick="' . $func . '(\'' . $id . '\',0,' . ($mystuff ? 'true' : 'false') . ');"'; } //$str.= ' onclick="javascript:iconclick(\''.$id.'\',\''.$name.'\',\''.$hover.'\');"'; } $str .= '/>'; return $str; }
function mx_mncart($page, $option, $action) { global $mxuser, $prodtypes, $mxdb, $prodprice; $prodlist = array(); $progress = $mxuser->cart->progress; if ($mxuser->cart->lines) { foreach ($mxuser->cart->lines as $line) { //if ($mxuser->cart->orderinfo || $mxuser->cart->orderconfirm) if ($mxuser->cart->progress > 1) { $line->select = '<img height="12px" src="' . mx_iconurl('okmark') . '">'; } else { $line->select = '<input type="checkbox" name="cartline[]" value="' . $line->id . '">'; } $line->proddesc = mx_proddesc($line); /*if ($line->prodtype==MXARTSUB) { $user=$mxuser->getuserinfo($line->prodref); $line->prodref='<div class="cartline"><img class="cartpic" src="'.mx_fanpic($user->id).'" /> '.mx_getartistname($user).'</div>'; }*/ $line->prodvar = $prodtypes[$line->prodtype][1][$line->prodvar]; $line->prodtype = $prodtypes[$line->prodtype][0]; $prodlist['cart'][] = $line; } } if ($mxuser->cart->wishes) { foreach ($mxuser->cart->wishes as $line) { $line->select = '<input type="checkbox" name="wishline[]" value="' . $line->id . '">'; $line->proddesc = mx_proddesc($line); /*if ($line->prodtype==MXARTSUB) { $user=$mxuser->getuserinfo($line->prodref); $line->prodref=mx_getartistname($user); }*/ $line->prodvar = $prodtypes[$line->prodtype][1][$line->prodvar]; $line->prodtype = $prodtypes[$line->prodtype][0]; $prodlist['wishlist'][] = $line; } } if ($mxuser->cart->items > 0) { $contshoppinglabel = _('Continue Shopping'); } else { $contshoppinglabel = _('Go Shopping'); } $yourehere = _('** YOU\'RE HERE **'); $progresstable = '<table class="form progress"><tr class="top">' . '<td class="' . ($progress == 1 ? 'current' : 'done') . '">' . _('Shopping Cart') . '</td>' . '<td' . ($progress > 1 ? ' class="done"' : ' class="todo"') . '>→</td>' . '<td class="' . ($progress == 2 ? 'current' : ($progress < 2 ? 'next' : 'done')) . '">' . _('Shipping/Billing') . '</td>' . '<td' . ($progress > 2 ? ' class="done"' : ' class="todo"') . '>→</td>' . '<td class="' . ($progress == 3 ? 'current' : ($progress < 3 ? 'next' : 'done')) . '">' . _('Order Review') . '</td>' . '<td' . ($progress > 3 ? ' class="done"' : ' class="todo"') . '>→</td>' . '<td class="' . ($progress == 4 ? 'current' : 'next') . '">' . _('Order Confirmation') . '</td>' . '<td class="last"></td>' . '</tr><tr class="bottom">' . '<td>' . ($progress == 1 ? $yourehere : '') . '</td>' . '<td></td>' . '<td>' . ($progress == 2 ? $yourehere : '') . '</td>' . '<td></td>' . '<td>' . ($progress == 3 ? $yourehere : '') . '</td>' . '<td></td>' . '<td>' . ($progress == 4 ? $yourehere : '') . '</td>' . '<td class="last"></td>' . '</tr></table>'; if ($mxuser->cart->err) { $progresstable .= mx_warningstr(implode('<br/>', $mxuser->cart->err)); } if ($mxuser->cart->info) { $progresstable .= mx_infomsgstr($mxuser->cart->info); } //echo $progresstable; if ($mxuser->cart->orderinfo) { // checkcout confirmation $ckoutbuttons = array('canckout' => _('Cancel Checkout'), 'confckout' => _('Confirm PAYPAL Payment')); $cartlist = array('cart' => array('select' => array(0, '', 'text', 3), 'prodtype' => array(0, _('Item'), 'text', 20), 'proddesc' => array(0, _('Description'), 'html', 30), 'prodvar' => array(0, _('Type'), 'text', 20), 'price' => array(0, _('Price'), 'price', 10))); $salesterms = mx_windowedpage('salesterms', _('Terms & Conditions')); $ckoutlist = array('checkout', 0, _('Checkout Review Page'), $progresstable, $ckoutbuttons, array('cart' => array(-1, _('Checking out these products'), _('The following items are currently in your cart')), 'cartcontent' => array(-2, $cartlist, $prodlist, 'cart', array(), 'cart'), 'billing' => array(-1, _('Billing Information'), ''), 'FIRSTNAME' => array(0, _('Firstname'), 'text', 30), 'LASTNAME' => array(0, _('Lastname'), 'text', 30), 'COUNTRYCODE' => array(0, _('Country'), 'text', 3), 'EMAIL' => array(0, _('Billing E-Mail'), 'text', 40), 'shipping' => array(-1, _('Shipping Information'), _('Please check your shipping information')), 'SHIPTONAME' => array(0, _('Ship To'), 'text', 30), 'SHIPTOSTREET' => array(0, _('Address'), 'text', 30), 'SHIPTOCITY' => array(0, _('City'), 'text', 20), 'SHIPTOSTATE' => array(0, _('State/Province'), 'text', 20), 'SHIPTOZIP' => array(0, _('Zip Code'), 'text', 10), 'SHIPTOCOUNTRYNAME' => array(0, _('Country'), 'text', 20), 'salesterms' => array(-1, _('Sales Terms And Conditions'), sprintf(_('Please read and agree with our %s before' . ' confirming your payment'), $salesterm)), 'agreement' => array(1, _('Agreement'), 'checkbox', sprintf(_('I accept MusXpand\'s sales %s'), mx_windowedpage('salesterms', _('terms & conditions'))), _('You have to agree to continue...')), 'a' => array(1, 'none', 'hidden'), 'PAYERID' => array(1, 'none', 'hidden'), 'cartid' => array(1, $mxuser->cart->id, 'hidden'), 'paymentoption' => array(1, 'PayPal', 'hidden'))); mx_showform($ckoutlist, $mxuser->cart->orderinfo, true, true); //echo print_r($mxuser->cart->orderinfo); } else { if ($mxuser->cart->progress == 4) { // order confirmation if ($action != 'printorder') { $ckoutbuttons = array('printorder' => _('Print this Confirmation Page')); } else { $ckoutbuttons = array(); } $cartlist = array('cart' => array('select' => array(0, '', 'text', 3), 'prodtype' => array(0, _('Item'), 'text', 20), 'proddesc' => array(0, _('Description'), 'html', 30), 'prodvar' => array(0, _('Type'), 'text', 20), 'price' => array(0, _('Price'), 'price', 10))); $values = $mxuser->cart->orderconfirm; $values['invoicenum'] = $mxuser->cart->invoicenum; //sprintf(_('%06d'),$mxuser->cart->id); $billing = $mxuser->getaddress($mxuser->cart->billingid); $shipping = $mxuser->getaddress($mxuser->cart->shippingid); $values['FIRSTNAME'] = $billing['first']; $values['LASTNAME'] = $billing['last']; $values['EMAIL'] = $billing['email']; $values['SHIPTONAME'] = $shipping['shiptoname']; $values['SHIPTOSTREET'] = $shipping['street1']; $values['SHIPTOCITY'] = $shipping['city']; $values['SHIPTOSTATE'] = $shipping['state']; $values['SHIPTOZIP'] = $shipping['zip']; $values['SHIPTOCOUNTRYNAME'] = $shipping['countrycode']; $values['termscond'] = mx_showhtmlpagestr('salesterms'); $ckoutlist = array('checkout', 0, _('Order Confirmation'), $action != 'printorder' ? $progresstable : mx_infomsgstr($mxuser->cart->info), $ckoutbuttons, array('cart' => array(-1, sprintf(_('Invoice # %s'), $mxuser->cart->invoicenum), _('You purchased the following items.')), 'cartcontent' => array(-2, $cartlist, $prodlist, 'cart', array(), 'cart'), 'billing' => array(-1, _('Billing Information'), ''), 'FIRSTNAME' => array(0, _('Firstname'), 'text', 30), 'LASTNAME' => array(0, _('Lastname'), 'text', 30), 'EMAIL' => array(0, _('Billing E-Mail'), 'text', 40), 'shipping' => array(-1, _('Shipping Information'), ''), 'SHIPTONAME' => array(0, _('Ship To'), 'text', 30), 'SHIPTOSTREET' => array(0, _('Address'), 'text', 30), 'SHIPTOCITY' => array(0, _('City'), 'text', 20), 'SHIPTOSTATE' => array(0, _('State/Province'), 'text', 20), 'SHIPTOZIP' => array(0, _('Zip Code'), 'text', 10), 'SHIPTOCOUNTRYNAME' => array(0, _('Country'), 'text', 20), 'confirmation' => array(-1, _('Payment Confirmation'), _('Below are the details of the transaction')), 'invoicenum' => array(0, _('Invoice #'), 'text', 30), 'PAYMENTINFO_0_PAYMENTSTATUS' => array(0, _('Payment Status'), 'text', 20), 'PAYMENTINFO_0_TRANSACTIONID' => array(0, _('Transaction ID'), 'transactionid', 20), 'PAYMENTINFO_0_ORDERTIME' => array(0, _('Order Time'), 'text', 20), 'PAYMENTINFO_0_AMT' => array(0, _('Total Amount'), 'price', 20), 'PAYMENTINFO_0_TAXAMT' => array(0, _('Taxes included'), 'price', 20), 'PAYMENTINFO_0_CURRENCYCODE' => array(0, _('Currency'), 'text', 20), 'terms' => array(-1, _('Sales Terms'), _('Please keep the following sales conditions along with your purchase receipt.')), 'termscond' => array(0, _('Buyer Information'), 'html'), 'a' => array(1, 'none', 'hidden'), 'PAYERID' => array(1, 'none', 'hidden'), 'cartid' => array(1, $mxuser->cart->id, 'hidden'), 'paymentoption' => array(1, 'PayPal', 'hidden'))); //mx_showform($ckoutlist,$mxuser->cart->orderconfirm,true,true); mx_showform($ckoutlist, $values, true, true); // confirmation emails if ($action != 'printorder') { // email to buyer $ckoutemail = $ckoutlist; $ckoutemail[4] = array(); $ckoutemail[3] = mx_infomsgstr($mxuser->cart->info); $to = $mxuser->fullname . ' <' . $mxuser->email . '>'; $subj = sprintf(_('Order Confirmation - Invoice # %06d'), $mxuser->cart->id); $html = mx_showhtmlpagestr('orderconfirmation'); $confform = mx_showformstr($ckoutemail, $values, true, true); $html = str_replace('{ORDERFORM}', $confform, $html); $html = str_replace('{INVOICENUM}', $mxuser->cart->invoicenum, $html); // sprintf('%06d',$mxuser->cart->id) $txt = sprintf(_('To print your order confirmation, please go to %s'), mx_actionurl('cart', '', 'printorder', '', '', 'secure', 'cartid=' . $mxuser->cart->id)); mx_sendmail($to, $subj, $txt, $html); // email to artists foreach ($prodlist['cart'] as $line) { if ($prodtype == MXARTSUB) { $artistid = $line->prodref; } else { if ($prodtype == MXMEDSUB) { $media = $mxuser->getmediainfo($line->prodref); $artistid = $media->owner_id; } else { $artistid = 0; } } $prodtype = $line->prodtype; $prodvar = $line->prodvar; $prodprice = sprintf('US$ %.02f', $line->price); if ($artistid) { $artist = $mxdb->getuserinfo($mxuser->id, $artistid); } if ($artist && $artist->email) { $to = mx_getartistname($artist) . ' <' . $artist->email . '>'; if ($prodtype == MXARTSUB) { $subj = _('You just made a new fan'); // html version $html = mx_showhtmlpagestr('newfan'); // text version $txt = _("Hey {ARTISTNAME}!\n\n" . "We just wanted to give you the good news:\n\n" . "You just made a new fan in {FANNAME}:\n" . "{FANNAME} just purchased a {PRODVAR} {PRODTYPE} from you for {PRICE}\n\n" . "Sales Team,\nMusXpand.\n" . MXSALESEMAIL . "\n" . mx_option('basicsiteurl')); mx_fbaction('musxpand:subscribe_to?artist=' . urlencode(mx_actionurl('artists', 'artprof', $artistid))); } else { if ($prodtype == MXMEDSUB) { $subj = _('Someone bought media from you'); // html version $html = mx_showhtmlpagestr('newbuyer'); // text version $txt = _("Hey {ARTISTNAME}!\n\n" . "We just wanted to give you the good news:\n\n" . "{FANNAME} bought some media from you:\n" . "{FANNAME} just purchased \"{MEDIANAME}\" from you for {PRICE}\n\n" . "Sales Team,\nMusXpand.\n" . MXSALESEMAIL . "\n" . mx_option('basicsiteurl')); } } $fan = '<a href="' . mx_actionurl('fans', 'fanprof', $mxuser->id) . '">' . mx_getname($mxuser) . '</a>'; $html = str_replace('{ARTISTNAME}', mx_getartistname($artist), $html); $html = str_replace('{PRICE}', $prodprice, $html); $html = str_replace('{FANNAME}', $fan, $html); $html = str_replace('{MEDIANAME}', $media->title, $html); $html = str_replace('{PRODVAR}', $prodvar, $html); $html = str_replace('{PRODTYPE}', $prodtype, $html); $siteurl = '<a href="' . mx_option('basicsiteurl') . '">MusXpand</a>'; $html = str_replace('{SITEURL}', $siteurl, $html); $html = str_replace('{SALESEMAIL}', MXSALESEMAIL, $html); $txt = str_replace('{ARTISTNAME}', mx_getartistname($artist), $txt); $txt = str_replace('{PRICE}', $prodprice, $txt); $fan = mx_getname($mxuser); $txt = str_replace('{FANNAME}', $fan, $txt); $txt = str_replace('{MEDIANAME}', $media->title, $txt); $txt = str_replace('{PRODVAR}', $prodvar, $txt); $txt = str_replace('{PRODTYPE}', $prodtype, $txt); mx_sendmail($to, $subj, $txt, $html); } } } else { // purchase ?> <!-- Google Code for Bought Conversion Page --> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = 949396365; var google_conversion_language = "en"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "f7QfCNPfzwMQjcfaxAM"; var google_conversion_value = <?php echo $mxuser->cart->total; ?> ; /* ]]> */ </script> <script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/949396365/?label=f7QfCNPfzwMQjcfaxAM&guid=ON&script=0"/> </div> </noscript> <?php } /*$ckoutlist[0]='printout'; echo '<div id="order"><div class="order">'; mx_showform($ckoutlist,$mxuser->cart->orderinfo,false,true); echo '</div></div>';*/ //echo print_r($mxuser->cart->orderconfirm); } else { // cart and wishlist display $cartbuttons = array('towish' => _('Move to Wishlist'), 'delcart' => _('Remove Checked Items'), 'sep' => null, 'shopmore' => $contshoppinglabel, 'checkout' => _('Proceed to Checkout')); $cartlist = array('cartlist', 0, _('Cart & Wishlist Content'), $progresstable, array('cart' => $cartbuttons, 'wishlist' => array('tocart' => _('Move to Cart'), 'delwish' => _('Remove Checked Items'), 'sep' => null, 'shopmore_w' => $contshoppinglabel)), array('cart' => array('cart' => array(-1, _('Your Cart'), _('The following items are currently in your cart')), 'select' => array(0, '<input id="checkallbox" type="checkbox" onclick="javascript:checkall(\'cart\');">', 'text', 3), 'prodtype' => array(0, _('Item'), 'text', 20), 'proddesc' => array(0, _('Description'), 'html', 30), 'prodvar' => array(0, _('Type'), 'text', 20), 'price' => array(0, _('Price'), 'price', 10), 'a' => array(1, 'none', 'hidden'), 'k' => array(1, 'cart', 'hidden')), 'wishlist' => array('wishlist' => array(-1, _('Your Wish List'), _('The following items are currently in your wishlist')), 'select' => array(0, '<input id="checkallbox" type="checkbox" onclick="javascript:checkall(\'wishlist\');">', 'text', 3), 'prodtype' => array(0, _('Item'), 'text', 20), 'proddesc' => array(0, _('Description'), 'html', 30), 'prodvar' => array(0, _('Type'), 'text', 20), 'price' => array(0, _('Price'), 'price', 10), 'a' => array(1, 'none', 'hidden'), 'k' => array(1, 'wishlist', 'hidden')))); mx_showlist($cartlist, $prodlist, 'cart', true, true); //if ($action=='addfoy' || $action=='adfofa' || $action=='upgfofa') { ?> <!-- Google Code for Added To Cart Conversion Page --> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = 949396365; var google_conversion_language = "en"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "ziXpCNvezwMQjcfaxAM"; var google_conversion_value = <?php echo $prodprice; ?> ; /* ]]> */ </script> <script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/949396365/?label=ziXpCNvezwMQjcfaxAM&guid=ON&script=0"/> </div> </noscript> <?php //} } } //phpinfo(); }