Новости Joomla

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla 🖨Ну что, интересная инициатива от @webtolkru в виде интервью с разными участниками весьма меня увлекла. Я, вооружившись данным примером, решил подготовить выпуск для NorrNext (@norrnext) и экстраполировал идею на международный масштаб. Теперь готовлю эксклюзивный выпуск с участниками Joomla сообщества со всего мира, которые, в той или иной мере, внесли свой вклад в развитие и популяризацию системы. Будут беседы с людьми из разных стран и фото с юбилейной символикой 📸Работа в процессе 👆 📝О результатах оповещу отдельно.

Плагин - «Конвертация таблиц в сетку Bootstrap 5» для Joomla 5

👩‍💻 Плагин - «Конвертация таблиц в сетку Bootstrap 5» для Joomla 5.Работает везде, где работают плагины группы content. Проверено в материалах, модулях, в описаниях товаров JoomShopping.Плагин конвертирует любую таблицу в адаптивную блочную сетку Bootstrap 5.В админке, в редакторе создаете таблицу, размещает в её ячейках контент, а на сайте эта таблица выводиться как адаптивная сетка из блоков. На мобильных устройствах контент размещенный в таблице будет виден и ничто не вылезет за пределы сайта как раньше.Версия плагина: 1.0.0. Разработчик предупреждает, что плагин пока не корректно работает со сложными таблицами (где много объединенных ячеек или столбцов) - данная проблема будет решена в следующих версиях. В дальнейшем планируется также добавление настроек.Стоимость: 2 500р. Тем, кто даст обратную связь по работе плагина и развёрнутый комментарий, тот получит скидку в 50% на любое другое платное расширение разработчика или сможет сделать заказ на разработку по льготной цене.Разработчик - участник нашего сообщества Дмитрий (@kit2m2).ПодробнееСайт разработчика@joomlafeed#joomla #JoomShopping #расширения

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2444 Просмотров
*

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
JPresents и aup поинты
« : 03.12.2010, 13:50:15 »
Компонент JPresents изначально берет поинты с JomSocial..
хотелось бы чтобы он брал из компонента alpha user points

собственно всё..  ;D

вот код
Код: php
<?php

 
// ensure this file is being included by a parent file
defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );

global $mainframe, $ja_config;

//require_once($mainframe->getPath('front_html'));
require_once($mainframe->getPath('class'));
require_once(JPATH_SITE."/includes/pageNavigation.php");

// Language:
if (file_exists(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."language".DS.$mosConfig_lang.".php"))
        include_once(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."language".DS.$mosConfig_lang.".php");
else
        include_once(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."language".DS."english.php");

// config file:
require_once(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."config.jpresents.php");

$award = intval(JRequest::getVar('award' , '' ));
$limit_medals = intval(JRequest::getVar('limit', JRequest::getVar('limit', $ja_config['number_medals'])));
$limit_users = intval(JRequest::getVar('limit', JRequest::getVar('limit', $ja_config['number_users'])));
$limitstart = intval(JRequest::getVar('limitstart', JRequest::getVar('limitstart', 0)));
$option = JRequest::getVar('option',JRequest::getVar('option', 'com_jpresents' ));



$my = &JFactory::getUser();

switch ($task) {

case "delete":
if($my->guest)
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
else
{ delete(); }
break;

case "listusers":
listUsers($award, $option, $limit_users, $limitstart);
break;

case "sendgift":

if($my->guest)
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
else
{ sendgift(); }
break;

case 'savepresent':
if($my->id)
{
savepresent($my->id);
}
else { JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
break;

case 'getdetails':
if($my->id)
{
getdetails();
}
else { JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
break;

default:
view($option, $limit_medals, $limitstart);
break;
}

function delete()
{
$award = intval(JRequest::getVar( 'presid', null));
global $my;
$database = &JFactory::getDBO();
$query = "DELETE FROM #__jpresents_presents WHERE id = $award AND userid = ".$my->id;
$database->setQuery($query);
$database->query();
$link = JUri::base()."/index.php?option=com_community&view=profile&userid=".$my->id;
$app = &JFactory::getApplication();
$app->redirect($link, _JPRESENTS_PRESDELETED);

}

function getdetails()
{
$award = intval(JRequest::getVar( 'presid', null));
$touser = intval(JRequest::getVar( 'touser' , '' ));
$database = &JFactory::getDBO();
$query = "SELECT * FROM #__jpresents_gifts WHERE id = $award";
$database->setQuery($query);
$awards = $database->loadObjectList();


$out = '<div><form name="verschenken" action="'.JUri::base().'index.php" method="GET" target="_top">';
$out .= "<input type='hidden' name='option' value='com_jpresents'>";
$out .= "<input type='hidden' name='task' value='savepresent'>";

$out .= "<input type='hidden' name='toid' value='".$touser."'>";
$out .= "<input type='hidden' name='presid' value='".$award."'>";

$out .= "<div style='float:left; width:170px;'><img src='".JUri::base()."/images/gifts/".$awards[0]->image."' height='100'></div><div>";
$out .= "<br /><b>".html_entity_decode($awards[0]->name)."</b>";
$out .= "<br>".stripslashes($awards[0]->desc_text). "";
$out .= "<br><br>"._JPRESENTS_PRESCOSTS."<b>".$awards[0]->price." "._JPRESENTS_POINTS."</b></div>";

$out .= "<p>"._JPRESENTS_MESSAGE."<br>";
$out .= '<TEXTAREA NAME="reason" COLS=60 ROWS=6></TEXTAREA><br>';
$out .= "<input type='radio' name='privacy' checked='checked' value='0'>"._JPRESENTS_VISIBILITY."<input type='radio' name='privacy' value='1'>"._JPRESENTS_VISIBLE_RECEPIENT."</p><br>";

$out .= "<input type='submit' class='button' value='"._JPRESENTS_SENDPRESENT."'></form></div>";
echo $out;

}

function savepresent($id)
{

$award = intval(JRequest::getVar( 'presid', null));
$toid = intval(JRequest::getVar( 'toid', null));

if($id && $award && toid)
{
if(check_price($id,$award))
{
savepres($id,$award,$toid);
$link = JUri::base()."index.php?option=com_community&view=profile&userid=".$toid;
$app = &JFactory::getApplication();
$app->redirect($link, _JPRESENTS_GIFT_SENDED);

}
else
{
//echo "muuuh";
}
}
else
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
}

function savepres($id,$award,$toid)
{
$reason = strip_tags(JRequest::getVar( 'reason', null));
$reason = addslashes($reason);
$privacy = intval(JRequest::getVar( 'privacy', 0));
$date = date("Y-m-d");

$database = &JFactory::getDBO();
$query = "INSERT INTO #__jpresents_presents (userid,award,reason,donatorid,privacy,date) VALUES ($toid,$award,'$reason',$id,$privacy,'$date')";
$database->setQuery($query);
$database->query();


$query = "SELECT price FROM #__jpresents_gifts WHERE id = $award";
$database->setQuery($query);
$price = $database->loadResult();

//reduce points
if($price == 0) {}
else
{
$query = "SELECT points FROM #__community_users WHERE userid = $id";
$database->setQuery($query);
$point = $database->loadResult();
$newpoint = $point - $price;
$query = "UPDATE #__community_users SET points = $newpoint WHERE userid=$id";
$database->setQuery($query);
$database->query();
}

//send email and notification
$query = "SELECT email,username FROM #__users WHERE id = $id";
$database->setQuery($query);
$email = $database->loadObjectList();

//JUtility::sendMail('info@yubby.de', 'Yubby - Deine Community', $email[0]->email, 'Neues Geschenk auf yubby.de!', 'Hallo '.$email[0]->username.',<br /><br />für dich liegt ein neues Geschenk auf yubby.de bereit.<br /><br />Bitte logge dich auf http://www.yubby.de ein und klicke auf die eingetroffen Nachricht um zu deinem Geschenk zu gelangen.<br /><br />Viele Gruesse<br />Deine Community Crew' );


$query = "SELECT id FROM #__community_msg ORDER BY id DESC";
$database->setQuery($query);
$start = $database->loadResult();
$start = $start + 10;



$namee = $email[0]->username;
$datum = date("Y-m-d H:i:s");

$query = "INSERT INTO #__community_msg (`id`,`from`,`parent`,`from_name`,`posted_on`,`subject`,`body`,`deleted`) VALUES ($start,$id,$start,'".$namee."','".$datum."','"._JPRESENTS_NEW_PRESENT."','"._JPRESENTS_NEW_TEXT."<a href=\'".JUri::base()."index.php?option=com_community&view=profile&userid=".$toid."\'> KLICK</a>',0)";
$database->setQuery($query);
$database->query();

$query = "INSERT INTO #__community_msg_recepient (`msg_id`,`msg_parent`,`msg_from`,`to`) VALUES ($start,$start,$id,$toid)";
$database->setQuery($query);
if(!$database->query())
{
echo $database->getErrorMsg();
die();
}


}

function check_price($id,$award)
{
$database = &JFactory::getDBO();
$query = "SELECT points FROM #__community_users WHERE userid = $id";
$database->setQuery($query);
$points = $database->loadObjectList();

if ($points[0])
{
$point = $points[0]->points + 1;

$query = "SELECT id FROM #__jpresents_gifts WHERE id = $award AND price < ".$point;
$database->setQuery($query);
$poi = $database->loadObjectList();
if ($poi[0]) return true;
else return false;
}
else return false;
}

function sendgift()
{
$database = &JFactory::getDBO();
$user = &JFactory::getUser();

$query = "SELECT points FROM #__community_users WHERE userid = $user->id";
$database->setQuery($query);
$points = $database->loadResult();
$touser = intval(mosGetParam( $_GET, 'touser' , '' ));
$username = html_entity_decode(mosGetParam( $_GET, 'username' , '' ));

echo "<br /><div style='border:1px solid #ccc; background:#fdf6c9; padding:5px;'>"._JPRESENTS_WANTTO."<b> ".$username."</b>"._JPRESENTS_CHOOSE."</div>";

echo "<br /><span style='float:right;'>"._JPRESENTS_POINTS.":<b> ".$points."</b></span><p style='clear:left; clear:right;'>&nbsp;</p>";

$query = "SELECT * FROM #__jpresents_gifts ORDER BY price";
$database->setQuery($query);
$gifts = $database->loadObjectList();

if($gifts)
{

?>

<script type="text/javascript" src="<?php echo JUri::base(); ?>components/com_jpresents/ibox/ibox.js"></script>
<script type="text/javascript">iBox.setPath("<?php echo JUri::base(); ?>components/com_jpresents/ibox/");</script>


<?php

$out = "";
$count = 0;
$total = 0;

$out .= "<table width='100%'><tr><td><b>"._JPRESENTS_GIFT."</b></td><td><b>"._JPRESENTS_TITLE."</b></td><td><b>"._JPRESENTS_DESC."</b></td><td><b>"._JPRESENTS_PRICE."</b></td></tr>";

foreach($gifts as $gift)
{
if($count == 2)
{
$out .= "<span style='clear:left;'></span>";
$count = 0;
}

if($gift->price > $points)
{


/*$out .= "<div id='geschenkbox'><div style='float:left; width: 100px;'><div id='inner_content".$total."' style='display:none;'>"._JPRESENTS_NOTENOUGH."</div><a href='#inner_content".$total."' rel='ibox' title='Внимание!'><img src='".JUri::base()."/images/gifts/".$gift->image."' height='80' border='0'></a></div><div><b>".$gift->name."</b><br />".$gift->desc_text."<br /><br />"._JPRESENTS_COSTS."<span style='float:right;'><b> " .$gift->price._JPRESENTS_POINTS."</b></span></div></div>";*/
$out .= "<tr>";
$out .= "<td><div id='inner_content".$total."' style='display:none;'>"._JPRESENTS_NOTENOUGH."</div><a href='#inner_content".$total."' rel='ibox' title='Внимание!'><img src='".JUri::base()."images/gifts/".$gift->image."' height='50' border='0'></a></div></td>";
$out .= "<td>".html_entity_decode($gift->name)."</td>";
$out .= "<td>".stripslashes($gift->desc_text)."</td>";
$out .= "<td>".$gift->price."</td>";
$out .= "</tr>";

}

else
{
/*$out .= "<div id='geschenkbox'><div style='float:left; width: 100px;'><a href='".JUri::base()."/index2.php?option=com_jpresents&task=getdetails&presid=".$gift->id."&touser=".$touser."' title='"._JPRESENTS_GIFTTO.$username."' rel='ibox&width=400&height=320'><img src='".JUri::base()."/images/gifts/".$gift->image."' height='80' border='0'></a></div><div><b>".$gift->name . "</b><br />".$gift->desc_text."<br /><br />"._JPRESENTS_COSTS."<span style='float:right;'><b> " .$gift->price._JPRESENTS_POINTS."</b></span></div></div>";*/

$out .= "<tr>";
$out .= "<td><a href='".JUri::base()."index2.php?option=com_jpresents&task=getdetails&presid=".$gift->id."&touser=".$touser."' title='"._JPRESENTS_GIFTTO.$username."' rel='ibox&width=400&height=320'><img src='".JUri::base()."images/gifts/".$gift->image."' height='50' border='0'></a></td>";
$out .= "<td>".html_entity_decode($gift->name)."</td>";
$out .= "<td>".stripslashes($gift->desc_text)."</td>";
$out .= "<td>".$gift->price."</td>";
$out .= "</tr>";

}

$count++;
$total++;
}

$out .= "</table>";

echo $out;
}

else { echo "<b>"._JPRESENTS_NOPRESENTS."</b>"; }

}

function view($option, $limit, $limitstart=0) {
$database = &JFactory::getDBO();

// get number of medals for pagination:
$query = "SELECT COUNT(*) FROM #__jpresents_gifts";
$database->setQuery($query);
$total = $database->loadResult();

$query = "SELECT a.*, COUNT(b.award) AS count FROM #__jpresents_gifts AS a"
. " \n LEFT OUTER JOIN #__jpresents_presents AS b"
. " \n ON a.id=b.award"
. " \n GROUP BY a.id"
. "\n ORDER BY a.ordering,a.name"
. " \n LIMIT $limitstart,$limit";

$database->setQuery( $query );

if(!$result = $database->query()) {

return false;
}
$rows = $database->loadObjectList();


        $pageNav = new mosPageNav($total, $limitstart, $limit);
displayAwards($rows, $option, $pageNav);
}

function listUsers($award, $option, $limit, $limitstart=0) {
global $ja_config;
   
$database = &JFactory::getDBO();
   
        $grouping = $ja_config['groupawards'];
        // get number of users for pagination:
        $query = "SELECT COUNT(";
        if ($grouping)
            $query .= "DISTINCT ";
        $query .="userid) FROM #__jpresents_presents"
                    . "\n WHERE award = $award";
       
$database->setQuery($query);
$total = $database->loadResult();

// Load the users:
$query = "SELECT ua.*,u.username, u.id AS userid, y.username AS donatorname";
if ($grouping)  $query .=", COUNT(ua.userid) AS count";
$query .= " FROM #__jpresents_presents as ua"
. "\n LEFT JOIN #__users AS u ON u.id = ua.userid"
. "\n LEFT JOIN #__users AS y ON ua.donatorid = y.id" // aded for donator username
. "\n WHERE ua.award = $award";

$query .= "\n ORDER BY u.username"
. " \n LIMIT $limitstart,$limit";

$database->setQuery( $query );
if(!$result = $database->query()) {

return false;
}
$rows = $database->loadObjectList();

// Load Award details:
$query = "SELECT * FROM #__jpresents_gifts WHERE id=$award";
$database->setQuery( $query );

if(!$result = $database->query()) {

return false;
}

$awardres = $database->loadObjectList();
$pageNav = new mosPageNav($total, $limitstart, $limit);
showUsers($rows, $awardres[0], $option, $pageNav);

}


function displayAwards(&$rows, &$option, &$pageNav) {

global $ja_config,$mainframe;

// include CSS template:
$template = '<link type="text/css" rel="stylesheet" href="' .  JURI::base().'components/com_jpresents/template.css" />';
$mainframe->addCustomHeadTag($template);

echo ("<div class=\"componentheading\">". _JPRESENTS_HEADING ."</div>");
echo ("<p class=\"jg_introtext\">".$ja_config['introtext']."</p>");
               
                ?>
                <form action="index.php" id="medalsForm" name="medalsForm" method="post">
                    <div align="right">
                            <?php echo _JPRESENTS_ADM_DISPLAY."# "; echo $pageNav->writeLimitBox("index.php?option=$option"); ?>
                    </div>
                    <input type="hidden" name="option" value="<?php echo $option ?>" />
                    <input type="hidden" name="limit" value="<?php echo $pageNav->limit;?>" />
                    <input type="hidden" name="limitstart" value="<?php echo $pageNav->limitstart;?>" />
                   
                </form>
               
                <?php

$out = "<table width='100%'><tr><td><b>"._JPRESENTS_GIFT."</b></td><td><b>"._JPRESENTS_TITLE."</b></td><td><b>"._JPRESENTS_DESC."</b></td><td><b>"._JPRESENTS_POINTS."</b></td><td><b>"._JPRESENTS_ALREADY_GIFTED."</b></td></tr>";

foreach($rows as $row){

$out .= "<tr>";
$out .= "<td><img src='".JUri::base()."/images/gifts/".$row->image."' height='40'></td>";
$out .= "<td>".html_entity_decode($row->name)."</td>";
$out .= "<td>".stripslashes($row->desc_text)."</td>";
$out .= "<td>".$row->price."</td>";
if ($row->count){
$out.= "<td><a href=\"".JRoute::_("index.php?option=$option&task=listusers"
. "&award=$row->id"). "\" class=\"readon\">($row->count " ._JPRESENTS_GIFTED.")</a></td>";
}
else{
$out.= "<td>(0 "._JPRESENTS_GIFTED.")</td>";
}

/*echo "<div class=\"jg_present_list\"><h3>".$row->name."</h3>
<p><a href='".JUri::base()."/images/gifts/".$row->image."' target='_blank'><img class=\"jg_gift\" alt=\"$row->image\" src=\"images/gifts/$row->image\" height=\"40\" border=\"0\"></a>
$row->desc_text</p>
<table><tr><td><span class=\"readon\"><b>Punkte:</b> ".$row->price."</span></td></tr><tr><td>";
if ($row->count){
echo "<a href=\"".sefRelToAbs("index.php?option=$option&task=listusers"
. "&award=$row->id"). "\" class=\"readon\">($row->count " ._JPRESENTS_GIFTED.")</a>";
}
else{
echo "(0 "._JPRESENTS_GIFTED.")";
}
echo "</td></tr></table></div>";*/

}

$out .= "</table>";
echo $out;

?>

<div align="center"><?php echo $pageNav->writePagesLinks("index.php?option=$option"). "<br />";
                              echo $pageNav->writePagesCounter()?></div>

<?php


}


function showUsers(&$rows, &$awardres, &$option, &$pageNav) {

global $ja_config,$mainframe;

// include CSS template:
$template = '<link type="text/css" rel="stylesheet" href="' .  JUri::base().'/components/com_jpresents/template.css" />';
$mainframe->addCustomHeadTag($template);

echo "<div class=\"jg_present_details\"><img class=\"jg_gift\" src=\"images/gifts/$awardres->image\"><h3> $awardres->name</h3>";
echo "<p>$awardres->desc_text</p></div>";
if (count($rows)==0){
echo _JPRESENTS_NO_USERS;
}
else {
echo "<p>"._JPRESENTS_FOLLOWING_USERS_GIFTED."</p>";



?>
<form action="index.php" id="medalsForm" name="awardForm" method="post">
                            <div align="right">
                                <?php echo _JPRESENTS_ADM_DISPLAY."# "; echo $pageNav->writeLimitBox("index.php?option=$option&task=listusers&award=$awardres->id"); ?>
                            </div>
                            <input type="hidden" name="option" value="<?php echo $option ?>" />
                            <input type="hidden" name="limit" value="<?php echo $pageNav->limit;?>" />
                            <input type="hidden" name="limitstart" value="<?php echo $pageNav->limitstart;?>" />
                           
                        </form>
               
                <?php
                        $line = 0;
                       
$t_heading='<table class="jg_userstable" cellpadding="5px" cellspacing="0px" ><tbody>'.
'<tr class="sectiontableheader"><td>'._JPRESENTS_NAME.'</td><td>'._JPRESENTS_DATE."</td>";


$t_heading.="<td>"._JPRESENTS_DONATOR."</td></tr>";
echo $t_heading;
foreach ($rows as $row){
$t_row = "";
$linecolor=($line % 2) + 1;
$link = sefRelToAbs("index.php?option=com_community&view=profile&userid=$row->userid");

$t_row.='<tr class="sectiontableentry'.$linecolor  . '"><td>';

$t_row.="<a href=\"$link\">$row->username</a>";


$t_row.="</td><td>"
.strftime($ja_config['dateformat'],strtotime($row->date))
."</td>";


$t_row.= "<td><a href='".JRoute::_('index.php?option=com_community&view=profile&userid='.$row->donatorid)."'>".$row->donatorname."</a></td>";//added for donatorname
$t_row .="</tr>";
echo $t_row;
$line++;
}
?>
</tbody></table>
<div align="center"><?php echo $pageNav->writePagesLinks("index.php?option=$option&task=listusers&award=$awardres->id"). "<br />";
                              echo $pageNav->writePagesCounter()?></div>



<div class="back_button"><a href="<?php echo JRoute::_("index.php?option=$option"); ?> "><?php echo _JPRESENTS_BACK_OVERVIEW ?></a></div>

<?php
}


}

?>

Знающие люди.. помогите пожалуйста
« Последнее редактирование: 03.12.2010, 23:32:41 от squid »
*

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
Re: JPresents и aup поинты
« Ответ #1 : 04.12.2010, 00:05:47 »
Как обычно, не дождался и сделал сам.. ;D
Не уверен что все правильно сделал, но работает..

\components\com_jpresents\jpresents.php

в некоторых строчках вместо "#__community_users" написал "#__alpha_userpoints"

если что не так, подправьте.. ато я mysql вобще не знаю.. пришлось лазать по форумам и сайтам всяким с докумантацией по mysql, где толком ничего не понял  ;D

Код: php
<?php

 
// ensure this file is being included by a parent file
defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );

global $mainframe, $ja_config;

//require_once($mainframe->getPath('front_html'));
require_once($mainframe->getPath('class'));
require_once(JPATH_SITE."/includes/pageNavigation.php");

// Language:
if (file_exists(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."language".DS.$mosConfig_lang.".php"))
        include_once(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."language".DS.$mosConfig_lang.".php");
else
        include_once(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."language".DS."english.php");

// config file:
require_once(JPATH_SITE.DS."administrator".DS."components".DS."com_jpresents".DS."config.jpresents.php");

$award = intval(JRequest::getVar('award' , '' ));
$limit_medals = intval(JRequest::getVar('limit', JRequest::getVar('limit', $ja_config['number_medals'])));
$limit_users = intval(JRequest::getVar('limit', JRequest::getVar('limit', $ja_config['number_users'])));
$limitstart = intval(JRequest::getVar('limitstart', JRequest::getVar('limitstart', 0)));
$option = JRequest::getVar('option',JRequest::getVar('option', 'com_jpresents' ));



$my = &JFactory::getUser();

switch ($task) {

case "delete":
if($my->guest)
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
else
{ delete(); }
break;

case "listusers":
listUsers($award, $option, $limit_users, $limitstart);
break;

case "sendgift":

if($my->guest)
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
else
{ sendgift(); }
break;

case 'savepresent':
if($my->id)
{
savepresent($my->id);
}
else { JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
break;

case 'getdetails':
if($my->id)
{
getdetails();
}
else { JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
break;

default:
view($option, $limit_medals, $limitstart);
break;
}

function delete()
{
$award = intval(JRequest::getVar( 'presid', null));
global $my;
$database = &JFactory::getDBO();
$query = "DELETE FROM #__jpresents_presents WHERE id = $award AND userid = ".$my->id;
$database->setQuery($query);
$database->query();
$link = JUri::base()."/index.php?option=com_community&view=profile&userid=".$my->id;
$app = &JFactory::getApplication();
$app->redirect($link, _JPRESENTS_PRESDELETED);

}

function getdetails()
{
$award = intval(JRequest::getVar( 'presid', null));
$touser = intval(JRequest::getVar( 'touser' , '' ));
$database = &JFactory::getDBO();
$query = "SELECT * FROM #__jpresents_gifts WHERE id = $award";
$database->setQuery($query);
$awards = $database->loadObjectList();


$out = '<div><form name="verschenken" action="'.JUri::base().'index.php" method="GET" target="_top">';
$out .= "<input type='hidden' name='option' value='com_jpresents'>";
$out .= "<input type='hidden' name='task' value='savepresent'>";

$out .= "<input type='hidden' name='toid' value='".$touser."'>";
$out .= "<input type='hidden' name='presid' value='".$award."'>";

$out .= "<div style='float:left; width:170px;'><img src='".JUri::base()."/images/gifts/".$awards[0]->image."' height='100'></div><div>";
$out .= "<br /><b>".html_entity_decode($awards[0]->name)."</b>";
$out .= "<br>".stripslashes($awards[0]->desc_text). "";
$out .= "<br><br>"._JPRESENTS_PRESCOSTS."<b>".$awards[0]->price." "._JPRESENTS_POINTS."</b></div>";

$out .= "<p>"._JPRESENTS_MESSAGE."<br>";
$out .= '<TEXTAREA NAME="reason" COLS=60 ROWS=6></TEXTAREA><br>';
$out .= "<input type='radio' name='privacy' checked='checked' value='0'>"._JPRESENTS_VISIBILITY."<input type='radio' name='privacy' value='1'>"._JPRESENTS_VISIBLE_RECEPIENT."</p><br>";

$out .= "<input type='submit' class='button' value='"._JPRESENTS_SENDPRESENT."'></form></div>";
echo $out;

}

function savepresent($id)
{

$award = intval(JRequest::getVar( 'presid', null));
$toid = intval(JRequest::getVar( 'toid', null));

if($id && $award && toid)
{
if(check_price($id,$award))
{
savepres($id,$award,$toid);
$link = JUri::base()."index.php?option=com_community&view=profile&userid=".$toid;
$app = &JFactory::getApplication();
$app->redirect($link, _JPRESENTS_GIFT_SENDED);

}
else
{
//echo "muuuh";
}
}
else
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); }
}

function savepres($id,$award,$toid)
{
$reason = strip_tags(JRequest::getVar( 'reason', null));
$reason = addslashes($reason);
$privacy = intval(JRequest::getVar( 'privacy', 0));
$date = date("Y-m-d");

$database = &JFactory::getDBO();
$query = "INSERT INTO #__jpresents_presents (userid,award,reason,donatorid,privacy,date) VALUES ($toid,$award,'$reason',$id,$privacy,'$date')";
$database->setQuery($query);
$database->query();


$query = "SELECT price FROM #__jpresents_gifts WHERE id = $award";
$database->setQuery($query);
$price = $database->loadResult();

//reduce points
if($price == 0) {}
else
{
$query = "SELECT points FROM #__alpha_userpoints WHERE userid = $id"; # тут вписал alpha_userpoints вместо community_users
$database->setQuery($query);
$point = $database->loadResult();
$newpoint = $point - $price;
$query = "UPDATE #__alpha_userpoints SET points = $newpoint WHERE userid=$id"; # тут вписал alpha_userpoints вместо community_users
$database->setQuery($query);
$database->query();
}

//send email and notification
$query = "SELECT email,username FROM #__users WHERE id = $id";
$database->setQuery($query);
$email = $database->loadObjectList();

//JUtility::sendMail('info@yubby.de', 'Yubby - Deine Community', $email[0]->email, 'Neues Geschenk auf yubby.de!', 'Hallo '.$email[0]->username.',<br /><br />für dich liegt ein neues Geschenk auf yubby.de bereit.<br /><br />Bitte logge dich auf http://www.yubby.de ein und klicke auf die eingetroffen Nachricht um zu deinem Geschenk zu gelangen.<br /><br />Viele Gruesse<br />Deine Community Crew' );


$query = "SELECT id FROM #__community_msg ORDER BY id DESC";
$database->setQuery($query);
$start = $database->loadResult();
$start = $start + 10;



$namee = $email[0]->username;
$datum = date("Y-m-d H:i:s");

$query = "INSERT INTO #__community_msg (`id`,`from`,`parent`,`from_name`,`posted_on`,`subject`,`body`,`deleted`) VALUES ($start,$id,$start,'".$namee."','".$datum."','"._JPRESENTS_NEW_PRESENT."','"._JPRESENTS_NEW_TEXT."',0)";
$database->setQuery($query);
$database->query();

$query = "INSERT INTO #__community_msg_recepient (`msg_id`,`msg_parent`,`msg_from`,`to`) VALUES ($start,$start,$id,$toid)";
$database->setQuery($query);
if(!$database->query())
{
echo $database->getErrorMsg();
die();
}


}

function check_price($id,$award)
{
$database = &JFactory::getDBO();
$query = "SELECT points FROM #__alpha_userpoints WHERE userid = $id";  # тут вписал alpha_userpoints вместо community_users
$database->setQuery($query);
$points = $database->loadObjectList();

if ($points[0])
{
$point = $points[0]->points + 1;

$query = "SELECT id FROM #__jpresents_gifts WHERE id = $award AND price < ".$point;
$database->setQuery($query);
$poi = $database->loadObjectList();
if ($poi[0]) return true;
else return false;
}
else return false;
}

function sendgift()
{
$database = &JFactory::getDBO();
$user = &JFactory::getUser();

$query = "SELECT points FROM #__alpha_userpoints WHERE userid = $user->id"; # тут вписал alpha_userpoints вместо community_users
$database->setQuery($query);
$points = $database->loadResult();
$touser = intval(mosGetParam( $_GET, 'touser' , '' ));
$username = html_entity_decode(mosGetParam( $_GET, 'username' , '' ));

echo "<br /><div style='border:1px solid #ccc; background:#fdf6c9; padding:5px;'>"._JPRESENTS_WANTTO."<b> ".$username."</b>"._JPRESENTS_CHOOSE."</div>";

echo "<br /><span style='float:right;'>"._JPRESENTS_POINTS.":<b> ".$points."</b></span><p style='clear:left; clear:right;'>&nbsp;</p>";

$query = "SELECT * FROM #__jpresents_gifts ORDER BY price";
$database->setQuery($query);
$gifts = $database->loadObjectList();

if($gifts)
{

?>

<script type="text/javascript" src="<?php echo JUri::base(); ?>components/com_jpresents/ibox/ibox.js"></script>
<script type="text/javascript">iBox.setPath("<?php echo JUri::base(); ?>components/com_jpresents/ibox/");</script>


<?php

$out = "";
$count = 0;
$total = 0;

$out .= "<table width='100%'><tr><td><b>"._JPRESENTS_GIFT."</b></td><td><b>"._JPRESENTS_TITLE."</b></td><td><b>"._JPRESENTS_DESC."</b></td><td><b>"._JPRESENTS_PRICE."</b></td></tr>";

foreach($gifts as $gift)
{
if($count == 2)
{
$out .= "<span style='clear:left;'></span>";
$count = 0;
}

if($gift->price > $points)
{


/*$out .= "<div id='geschenkbox'><div style='float:left; width: 100px;'><div id='inner_content".$total."' style='display:none;'>"._JPRESENTS_NOTENOUGH."</div><a href='#inner_content".$total."' rel='ibox' title='Внимание!'><img src='".JUri::base()."/images/gifts/".$gift->image."' height='80' border='0'></a></div><div><b>".$gift->name."</b><br />".$gift->desc_text."<br /><br />"._JPRESENTS_COSTS."<span style='float:right;'><b> " .$gift->price._JPRESENTS_POINTS."</b></span></div></div>";*/
$out .= "<tr>";
$out .= "<td><div id='inner_content".$total."' style='display:none;'>"._JPRESENTS_NOTENOUGH."</div><a href='#inner_content".$total."' rel='ibox' title='Внимание!'><img src='".JUri::base()."images/gifts/".$gift->image."' height='50' border='0'></a></div></td>";
$out .= "<td>".html_entity_decode($gift->name)."</td>";
$out .= "<td>".stripslashes($gift->desc_text)."</td>";
$out .= "<td>".$gift->price."</td>";
$out .= "</tr>";

}

else
{
/*$out .= "<div id='geschenkbox'><div style='float:left; width: 100px;'><a href='".JUri::base()."/index2.php?option=com_jpresents&task=getdetails&presid=".$gift->id."&touser=".$touser."' title='"._JPRESENTS_GIFTTO.$username."' rel='ibox&width=400&height=320'><img src='".JUri::base()."/images/gifts/".$gift->image."' height='80' border='0'></a></div><div><b>".$gift->name . "</b><br />".$gift->desc_text."<br /><br />"._JPRESENTS_COSTS."<span style='float:right;'><b> " .$gift->price._JPRESENTS_POINTS."</b></span></div></div>";*/

$out .= "<tr>";
$out .= "<td><a href='".JUri::base()."index2.php?option=com_jpresents&task=getdetails&presid=".$gift->id."&touser=".$touser."' title='"._JPRESENTS_GIFTTO.$username."' rel='ibox&width=400&height=320'><img src='".JUri::base()."images/gifts/".$gift->image."' height='50' border='0'></a></td>";
$out .= "<td>".html_entity_decode($gift->name)."</td>";
$out .= "<td>".stripslashes($gift->desc_text)."</td>";
$out .= "<td>".$gift->price."</td>";
$out .= "</tr>";

}

$count++;
$total++;
}

$out .= "</table>";

echo $out;
}

else { echo "<b>"._JPRESENTS_NOPRESENTS."</b>"; }

}

function view($option, $limit, $limitstart=0) {
$database = &JFactory::getDBO();

// get number of medals for pagination:
$query = "SELECT COUNT(*) FROM #__jpresents_gifts";
$database->setQuery($query);
$total = $database->loadResult();

$query = "SELECT a.*, COUNT(b.award) AS count FROM #__jpresents_gifts AS a"
. " \n LEFT OUTER JOIN #__jpresents_presents AS b"
. " \n ON a.id=b.award"
. " \n GROUP BY a.id"
. "\n ORDER BY a.ordering,a.name"
. " \n LIMIT $limitstart,$limit";

$database->setQuery( $query );

if(!$result = $database->query()) {

return false;
}
$rows = $database->loadObjectList();


        $pageNav = new mosPageNav($total, $limitstart, $limit);
displayAwards($rows, $option, $pageNav);
}

function listUsers($award, $option, $limit, $limitstart=0) {
global $ja_config;
    
$database = &JFactory::getDBO();
   
        $grouping = $ja_config['groupawards'];
        // get number of users for pagination:
        $query = "SELECT COUNT(";
        if ($grouping)
            $query .= "DISTINCT ";
        $query .="userid) FROM #__jpresents_presents"
                    . "\n WHERE award = $award";
        
$database->setQuery($query);
$total = $database->loadResult();

// Load the users:
$query = "SELECT ua.*,u.username, u.id AS userid, y.username AS donatorname";
if ($grouping)  $query .=", COUNT(ua.userid) AS count";
$query .= " FROM #__jpresents_presents as ua"
. "\n LEFT JOIN #__users AS u ON u.id = ua.userid"
. "\n LEFT JOIN #__users AS y ON ua.donatorid = y.id" // aded for donator username
. "\n WHERE ua.award = $award";

$query .= "\n ORDER BY u.username"
. " \n LIMIT $limitstart,$limit";

$database->setQuery( $query );
if(!$result = $database->query()) {

return false;
}
$rows = $database->loadObjectList();

// Load Award details:
$query = "SELECT * FROM #__jpresents_gifts WHERE id=$award";
$database->setQuery( $query );

if(!$result = $database->query()) {

return false;
}

$awardres = $database->loadObjectList();
$pageNav = new mosPageNav($total, $limitstart, $limit);
showUsers($rows, $awardres[0], $option, $pageNav);

}


function displayAwards(&$rows, &$option, &$pageNav) {

global $ja_config,$mainframe;

// include CSS template:
$template = '<link type="text/css" rel="stylesheet" href="' .  JURI::base().'components/com_jpresents/template.css" />';
$mainframe->addCustomHeadTag($template);

echo ("<div class=\"componentheading\">". _JPRESENTS_HEADING ."</div>");
echo ("<p class=\"jg_introtext\">".$ja_config['introtext']."</p>");
                
                ?>
                <form action="index.php" id="medalsForm" name="medalsForm" method="post">
                    <div align="right">
                            <?php echo _JPRESENTS_ADM_DISPLAY."# "; echo $pageNav->writeLimitBox("index.php?option=$option"); ?>
                    </div>
                    <input type="hidden" name="option" value="<?php echo $option ?>" />
                    <input type="hidden" name="limit" value="<?php echo $pageNav->limit;?>" />
                    <input type="hidden" name="limitstart" value="<?php echo $pageNav->limitstart;?>" />
                    
                </form>
                
                <?php

$out = "<table width='100%'><tr><td><b>"._JPRESENTS_GIFT."</b></td><td><b>"._JPRESENTS_TITLE."</b></td><td><b>"._JPRESENTS_DESC."</b></td><td><b>"._JPRESENTS_POINTS."</b></td><td><b>"._JPRESENTS_ALREADY_GIFTED."</b></td></tr>";

foreach($rows as $row){

$out .= "<tr>";
$out .= "<td><img src='".JUri::base()."/images/gifts/".$row->image."' height='40'></td>";
$out .= "<td>".html_entity_decode($row->name)."</td>";
$out .= "<td>".stripslashes($row->desc_text)."</td>";
$out .= "<td>".$row->price."</td>";
if ($row->count){
$out.= "<td><a href=\"".JRoute::_("index.php?option=$option&task=listusers"
. "&award=$row->id"). "\" class=\"readon\">($row->count " ._JPRESENTS_GIFTED.")</a></td>";
}
else{
$out.= "<td>(0 "._JPRESENTS_GIFTED.")</td>";
}

/*echo "<div class=\"jg_present_list\"><h3>".$row->name."</h3>
<p><a href='".JUri::base()."/images/gifts/".$row->image."' target='_blank'><img class=\"jg_gift\" alt=\"$row->image\" src=\"images/gifts/$row->image\" height=\"40\" border=\"0\"></a>
$row->desc_text</p>
<table><tr><td><span class=\"readon\"><b>Punkte:</b> ".$row->price."</span></td></tr><tr><td>";
if ($row->count){
echo "<a href=\"".sefRelToAbs("index.php?option=$option&task=listusers"
. "&award=$row->id"). "\" class=\"readon\">($row->count " ._JPRESENTS_GIFTED.")</a>";
}
else{
echo "(0 "._JPRESENTS_GIFTED.")";
}
echo "</td></tr></table></div>";*/

}

$out .= "</table>";
echo $out;

?>

<div align="center"><?php echo $pageNav->writePagesLinks("index.php?option=$option"). "<br />";
                             echo $pageNav->writePagesCounter()?></div>

<?php


}


function showUsers(&$rows, &$awardres, &$option, &$pageNav) {

global $ja_config,$mainframe;

// include CSS template:
$template = '<link type="text/css" rel="stylesheet" href="' .  JUri::base().'/components/com_jpresents/template.css" />';
$mainframe->addCustomHeadTag($template);

echo "<div class=\"jg_present_details\"><img class=\"jg_gift\" src=\"images/gifts/$awardres->image\"><h3> $awardres->name</h3>";
echo "<p>$awardres->desc_text</p></div>";
if (count($rows)==0){
echo _JPRESENTS_NO_USERS;
}
else {
echo "<p>"._JPRESENTS_FOLLOWING_USERS_GIFTED."</p>";



?>
<form action="index.php" id="medalsForm" name="awardForm" method="post">
                            <div align="right">
                                <?php echo _JPRESENTS_ADM_DISPLAY."# "; echo $pageNav->writeLimitBox("index.php?option=$option&task=listusers&award=$awardres->id"); ?>
                            </div>
                            <input type="hidden" name="option" value="<?php echo $option ?>" />
                            <input type="hidden" name="limit" value="<?php echo $pageNav->limit;?>" />
                            <input type="hidden" name="limitstart" value="<?php echo $pageNav->limitstart;?>" />
                            
                        </form>
                
                <?php
                        $line = 0;
                        
$t_heading='<table class="jg_userstable" cellpadding="5px" cellspacing="0px" ><tbody>'.
'<tr class="sectiontableheader"><td>'._JPRESENTS_NAME.'</td><td>'._JPRESENTS_DATE."</td>";


$t_heading.="<td>"._JPRESENTS_DONATOR."</td></tr>";
echo $t_heading;
foreach ($rows as $row){
$t_row = "";
$linecolor=($line % 2) + 1;
$link = sefRelToAbs("index.php?option=com_community&view=profile&userid=$row->userid");

$t_row.='<tr class="sectiontableentry'.$linecolor  . '"><td>';

$t_row.="<a href=\"$link\">$row->username</a>";


$t_row.="</td><td>"
.strftime($ja_config['dateformat'],strtotime($row->date))
."</td>";


$t_row.= "<td><a href='".JRoute::_('index.php?option=com_community&view=profile&userid='.$row->donatorid)."'>".$row->donatorname."</a></td>";//added for donatorname
$t_row .="</tr>";
echo $t_row;
$line++;
}
?>
</tbody></table>
<div align="center"><?php echo $pageNav->writePagesLinks("index.php?option=$option&task=listusers&award=$awardres->id"). "<br />";
                             echo $pageNav->writePagesCounter()?></div>



<div class="back_button"><a href="<?php echo JRoute::_("index.php?option=$option"); ?> "><?php echo _JPRESENTS_BACK_OVERVIEW ?></a></div>

<?php
}


}

?>
« Последнее редактирование: 04.12.2010, 00:09:29 от squid »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jpresents не работает..

Автор zorom

Ответов: 81
Просмотров: 18694
Последний ответ 29.11.2011, 02:27:45
от zevs_1993