Пример #1
0
/**
* @desc Realiza una búsqueda en el módulo desde EXM
*/
function pwSearch($queryarray, $andor, $limit, $offset, $userid)
{
    global $myts;
    include_once XOOPS_ROOT_PATH . "/modules/works/class/pwwork.class.php";
    $mc = RMUtilities::module_config('works');
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $sql = "SELECT a.* FROM " . $db->prefix('pw_works') . " a INNER JOIN " . $db->prefix('pw_clients') . " b ON (a.public=1 AND a.client=b.id_client AND (";
    $sql1 = '';
    if (is_array($queryarray)) {
        foreach ($queryarray as $k) {
            $sql1 .= ($sql1 == '' ? "" : "{$andor}") . " (a.title LIKE '%{$k}%' OR a.short LIKE '%{$k}%' OR b.name LIKE '%{$k}%' OR b.business_name LIKE '%{$k}%') ";
        }
    }
    $sql1 .= "))";
    $sql1 .= " GROUP BY a.id_work ORDER BY a.created DESC LIMIT {$offset}, {$limit}";
    $result = $db->queryF($sql . $sql1);
    $ret = array();
    while ($row = $db->fetchArray($result)) {
        $work = new PWWork();
        $work->assignVars($row);
        $rtn = array();
        $rtn['image'] = 'images/works.png';
        $rtn['title'] = $work->title();
        $rtn['time'] = $work->created();
        $rtn['uid'] = '';
        $rtn['desc'] = $work->descShort();
        $rtn['link'] = $work->link();
        $ret[] = $rtn;
    }
    return $ret;
}
Пример #2
0
function pw_comments_show($options)
{
    global $xoopsModule, $xoopsModuleConfig;
    include_once XOOPS_ROOT_PATH . '/modules/works/class/pwwork.class.php';
    include_once XOOPS_ROOT_PATH . '/modules/works/class/pwclient.class.php';
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    if (isset($xoopsModule) && $xoopsModule->dirname() == 'works') {
        $mc =& $xoopsModuleConfig;
    } else {
        $mc =& RMUtilities::module_config('works');
    }
    $sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE comment<>'' ORDER BY " . ($options[1] ? " created DESC " : " RAND() ");
    $sql .= " LIMIT 0," . $options[0];
    $result = $db->query($sql);
    $clients = array();
    while ($row = $db->fetchArray($result)) {
        $work = new PWWork();
        $work->assignVars($row);
        if (!isset($clients[$work->client()])) {
            $clients[$work->client()] = new PWClient($work->client(), 1);
        }
        $client =& $clients[$work->client()];
        $rtn = array();
        $rtn['client'] = $client->businessName();
        $rtn['link'] = $work->link();
        $rtn['comment'] = $work->comment();
        $block['works'][] = $rtn;
    }
    return $block;
}
Пример #3
0
/**
* @desc Visualiza todos los trabajos existentes
**/
function showWorks()
{
    global $xoopsModule, $xoopsSecurity;
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $page = rmc_server_var($_REQUEST, 'page', 1);
    $limit = rmc_server_var($_REQUEST, 'limit', 15);
    $show = rmc_server_var($_REQUEST, 'show', '');
    //Barra de Navegación
    $sql = "SELECT COUNT(*) FROM " . $db->prefix('pw_works');
    if ($show == 'public') {
        $sql .= " WHERE public=1";
    } elseif ($show == 'hidden') {
        $sql .= " WHERE public=0";
    }
    list($num) = $db->fetchRow($db->query($sql));
    $tpages = ceil($num / $limit);
    $page = $page > $tpages ? $tpages : $page;
    $start = $num <= 0 ? 0 : ($page - 1) * $limit;
    $nav = new RMPageNav($num, $limit, $page, 5);
    $nav->target_url('works.php?page={PAGE_NUM}');
    $sql = "SELECT * FROM " . $db->prefix('pw_works');
    if ($show == 'public') {
        $sql .= " WHERE public=1";
    } elseif ($show == 'hidden') {
        $sql .= " WHERE public=0";
    }
    $sql .= " ORDER BY id_work DESC LIMIT {$start}, {$limit}";
    $result = $db->query($sql);
    $works = array();
    //Container
    while ($row = $db->fetchArray($result)) {
        $work = new PWWork();
        $work->assignVars($row);
        //Obtenemos la categoría
        $cat = new PWCategory($work->category());
        //Obtenemos el cliente
        $user = new PWClient($work->client());
        $works[] = array('id' => $work->id(), 'title' => $work->title(), 'catego' => $cat->name(), 'client' => $user->name(), 'start' => formatTimeStamp($work->start(), 's'), 'mark' => $work->mark(), 'public' => $work->isPublic(), 'description' => $work->descShort());
    }
    PWFunctions::toolbar();
    RMTemplate::get()->add_style('admin.css', 'works');
    RMTemplate::get()->add_script(RMCURL . '/include/js/jquery.checkboxes.js');
    RMTemplate::get()->add_script('../include/js/admin_works.js');
    RMTemplate::get()->add_head("<script type='text/javascript'>\nvar pw_message='" . __('Do you really want to delete selected works?', 'works') . "';\n\n        var pw_select_message = '" . __('You must select some work before to execute this action!', 'works') . "';</script>");
    xoops_cp_location('<a href="./">' . $xoopsModule->name() . "</a> &raquo; " . __('Works', 'works'));
    xoops_cp_header();
    include RMTemplate::get()->get_template("admin/pw_works.php", 'module', 'works');
    xoops_cp_footer();
}
Пример #4
0
 /**
  * Get works based on given parameters
  */
 public function get_works($limit, $category = null, $public = 1, $object = true, $order = "created DESC")
 {
     global $xoopsModule, $xoopsModuleConfig;
     include_once XOOPS_ROOT_PATH . '/modules/works/class/pwwork.class.php';
     include_once XOOPS_ROOT_PATH . '/modules/works/class/pwcategory.class.php';
     include_once XOOPS_ROOT_PATH . '/modules/works/class/pwclient.class.php';
     $db = XoopsDatabaseFactory::getDatabaseConnection();
     $sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE public={$public}";
     $sql .= $category > 0 ? " AND catego='{$category}'" : '';
     $sql .= $order != '' ? " ORDER BY {$order}" : '';
     $sql .= " LIMIT 0,{$limit}";
     if ($xoopsModule && $xoopsModule->dirname() == 'works') {
         $mc =& $xoopsModuleConfig;
     } else {
         $mc = RMUtilities::module_config('works');
     }
     $result = $db->query($sql);
     $works = array();
     while ($row = $db->fetchArray($result)) {
         $work = new PWWork();
         $work->assignVars($row);
         $ret = array();
         if (!isset($categos[$work->category()])) {
             $categos[$work->category()] = new PWCategory($work->category());
         }
         if (!isset($clients[$work->client()])) {
             $clients[$work->client()] = new PWClient($work->client());
         }
         $ret = array('id' => $work->id(), 'title' => $work->title(), 'desc' => $work->descShort(), 'catego' => $categos[$work->category()]->name(), 'client' => $clients[$work->client()]->name(), 'link' => $work->link(), 'created' => formatTimeStamp($work->created(), 's'), 'created_time' => $work->created(), 'image' => XOOPS_UPLOAD_URL . '/works/ths/' . $work->image(), 'rating' => PWFunctions::rating($work->rating()), 'featured' => $work->mark(), 'linkcat' => $categos[$work->category()]->link(), 'metas' => $work->get_metas());
         if ($object) {
             $w = new stdClass();
             foreach ($ret as $var => $value) {
                 $w->{$var} = $value;
             }
             $works[] = $w;
         } else {
             $works[] = $ret;
         }
     }
     return $works;
 }
Пример #5
0
$url = $xoopsModuleConfig['urlmode'] ? XOOPS_URL . rtrim($xoopsModuleConfig['htbase'], '/') . '/page/{PAGE_NUM}/' : XOOPS_URL . '/modules/works/?page={PAGE_NUM}';
$nav->target_url($url);
$tpl->assign('navpage', $nav->render(false));
//Fin de barra de navegación
//Obtenemos los trabajos recientes
$sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE public=1 ORDER BY created DESC LIMIT {$start},{$limit}";
$result = $db->query($sql);
// Numero de resultados en esta página
$t = $db->getRowsNum($result);
$tpl->assign('page_total', $t);
$tpl->assign('per_col', ceil($t / 2));
$categos = array();
$clients = array();
while ($row = $db->fetchArray($result)) {
    $recent = new PWWork();
    $recent->assignVars($row);
    if (!isset($categos[$recent->category()])) {
        $categos[$recent->category()] = new PWCategory($recent->category());
    }
    if (!isset($clients[$recent->client()])) {
        $clients[$recent->client()] = new PWClient($recent->client());
    }
    $tpl->append('works', array('id' => $recent->id(), 'title' => $recent->title(), 'desc' => $recent->descShort(), 'catego' => $categos[$recent->category()]->name(), 'client' => $clients[$recent->client()]->businessName(), 'link' => $recent->link(), 'created' => formatTimeStamp($recent->created(), 's'), 'image' => XOOPS_UPLOAD_URL . '/works/ths/' . $recent->image(), 'rating' => PWFunctions::rating($recent->rating()), 'featured' => $recent->mark(), 'linkcat' => $categos[$recent->category()]->link(), 'metas' => $recent->get_metas()));
}
$tpl->assign('lang_works', __('Our Work', 'works'));
$tpl->assign('lang_catego', __('Cetegory:', 'works'));
$tpl->assign('lang_date', __('Date:', 'works'));
$tpl->assign('lang_client', __('Customer:', 'works'));
$tpl->assign('lang_allsrecent', __('View all recent works', 'works'));
$tpl->assign('link_recent', PW_URL . ($mc['urlmode'] ? '/recent/' : '/recent.php'));
$tpl->assign('link_featured', PW_URL . ($mc['urlmode'] ? '/featured/' : '/featured.php'));
Пример #6
0
$tpages = ceil($num / $limit);
$page = $page > $tpages ? $tpages : $page;
$start = $num <= 0 ? 0 : ($page - 1) * $limit;
$start = $start < 0 ? 0 : $start;
$nav = new RMPageNav($num, $limit, $page, 5);
$url = $xoopsModuleConfig['urlmode'] ? XOOPS_URL . rtrim($xoopsModuleConfig['htbase'], '/') . '/featured/page/{PAGE_NUM}/' : XOOPS_URL . '/modules/works/featured.php?page={PAGE_NUM}';
$nav->target_url($url);
$tpl->assign('navpage', $nav->render(false));
$sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE public=1 AND mark=1";
$sql .= " LIMIT {$start},{$limit}";
$result = $db->query($sql);
$categos = array();
$clients = array();
while ($row = $db->fetchArray($result)) {
    $feat = new PWWork();
    $feat->assignVars($row);
    if (!isset($categos[$feat->category()])) {
        $categos[$feat->category()] = new PWCategory($feat->category());
    }
    if (!isset($clients[$feat->client()])) {
        $clients[$feat->client()] = new PWClient($feat->client());
    }
    $tpl->append('featureds', array('id' => $feat->id(), 'title' => $feat->title(), 'desc' => $feat->descShort(), 'catego' => $categos[$feat->category()]->name(), 'client' => $clients[$feat->client()]->name(), 'link' => $feat->link(), 'created' => formatTimeStamp($feat->created(), 's'), 'image' => XOOPS_UPLOAD_URL . '/works/ths/' . $feat->image(), 'rating' => PWFunctions::rating($feat->rating()), 'linkcat' => $categos[$feat->category()]->link()));
}
$tpl->assign('lang_feats', __('Featured Works', 'works'));
$tpl->assign('lang_date', __('Date:', 'works'));
$tpl->assign('lang_catego', __('Category:', 'works'));
$tpl->assign('lang_client', __('Customer:', 'works'));
$tpl->assign('lang_rating', __('Our rate:', 'works'));
$thSize = $mc['image_ths'];
$tpl->assign('width', $thSize[0] + 20);
Пример #7
0
//Categorías
$sql = "SELECT COUNT(*) FROM " . $db->prefix('pw_categos');
list($categories) = $db->fetchRow($db->query($sql));
//Tipos de Cliente
$sql = "SELECT COUNT(*) FROM " . $db->prefix('pw_types');
list($types) = $db->fetchRow($db->query($sql));
//Clientes
$sql = "SELECT COUNT(*) FROM " . $db->prefix('pw_clients');
list($customers) = $db->fetchRow($db->query($sql));
//Trabajos
$sql = "SELECT COUNT(*) FROM " . $db->prefix('pw_works');
list($works) = $db->fetchRow($db->query($sql));
// IMages
$sql = "SELECT COUNT(*) FROM " . $db->prefix('pw_images');
list($images) = $db->fetchRow($db->query($sql));
// Works not published
$sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE public=0 ORDER BY id_work DESC LIMIT 0,5";
$result = $db->query($sql);
$works_pending = array();
while ($row = $db->fetchArray($result)) {
    $work = new PWWork();
    $work->assignVars($row);
    $works_pending[] = array('id' => $work->id(), 'title' => $work->title(), 'desc' => $work->descShort(), 'date' => formatTimestamp($work->created(), 'c'));
}
xoops_cp_location("<a href='./'>" . $xoopsModule->name() . "</a>");
RMTemplate::get()->add_style('admin.css', 'works');
RMTemplate::get()->add_style('dashboard.css', 'works');
RMTemplate::get()->set_help('http://redmexico.com.mx/docs/professional-works');
xoops_cp_header();
include RMTemplate::get()->get_template("admin/pw_index.php", 'module', 'works');
xoops_cp_footer();
Пример #8
0
* Otros trabajos
**/
if ($mc['other_works'] > 0) {
    if ($mc['other_works'] == 2) {
        //Trabajos destacados
        $sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE public=1 AND mark=1 AND id_work<>'" . $work->id() . "' ORDER BY RAND() LIMIT 0," . $mc['num_otherworks'];
    } elseif ($mc['other_works'] == 1) {
        //Misma categoría
        $sql = "SELECT * FROM " . $db->prefix('pw_works') . " WHERE public=1 AND catego=" . $work->category() . " AND id_work<>'" . $work->id() . "' ORDER BY RAND() LIMIT 0," . $mc['num_otherworks'];
    }
    $result = $db->query($sql);
    $categos = array();
    $clients = array();
    while ($row = $db->fetchArray($result)) {
        $wk = new PWWork();
        $wk->assignVars($row);
        if (!isset($categos[$wk->category()])) {
            $categos[$wk->category()] = new PWCategory($wk->category());
        }
        if (!isset($clients[$wk->client()])) {
            $clients[$wk->client()] = new PWClient($wk->client());
        }
        echo "1 - ";
        $tpl->append('other_works', array('id' => $wk->id(), 'title' => $wk->title(), 'desc' => $wk->descShort(), 'linkcat' => $categos[$wk->category()]->link(), 'catego' => $categos[$wk->category()]->name(), 'client' => $clients[$wk->client()]->name(), 'link' => $wk->link(), 'created' => formatTimeStamp($wk->created(), 's'), 'image' => XOOPS_UPLOAD_URL . '/works/ths/' . $wk->image(), 'views' => $wk->views(), 'metas' => $wk->get_metas()));
    }
    RMEvents::get()->run_event('works.load.other.works', $work);
}
$tpl->assign('lang_desc', __('Description', 'works'));
$tpl->assign('lang_catego', __('Category', 'works'));
$tpl->assign('lang_client', __('Customer', 'admin_works'));
$tpl->assign('lang_start', __('Begins', 'works'));
Пример #9
0
function pw_works_show($options)
{
    global $xoopsModule, $xoopsModuleConfig;
    include_once XOOPS_ROOT_PATH . '/modules/works/class/pwwork.class.php';
    include_once XOOPS_ROOT_PATH . '/modules/works/class/pwclient.class.php';
    include_once XOOPS_ROOT_PATH . '/modules/works/class/pwcategory.class.php';
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    if (isset($xoopsModule) && $xoopsModule->dirname() == 'works') {
        $mc =& $xoopsModuleConfig;
    } else {
        $mc =& RMUtilities::module_config('works');
    }
    $sql = "SELECT * FROM " . $db->prefix('pw_works') . ' WHERE public=1';
    $sql1 = $options[1] ? " AND catego='" . $options[1] . "'" : '';
    $sql2 = $options[2] ? " AND  client='" . $options[2] . "'" : '';
    $sql3 = '';
    switch ($options[0]) {
        case 0:
            $sql3 .= " ORDER BY RAND()";
            break;
        case 1:
            $sql3 .= ($sql1 || $sql2 ? " AND " : " WHERE ") . " mark=1 ORDER BY RAND()";
            break;
        case 2:
            $sql3 .= " ORDER BY created DESC ";
            break;
    }
    $sql3 .= " LIMIT 0," . $options[3];
    $result = $db->query($sql . $sql1 . $sql2 . $sql3);
    $clients = array();
    $categos = array();
    while ($row = $db->fetchArray($result)) {
        $work = new PWWork();
        $work->assignVars($row);
        if (!isset($clients[$work->client()])) {
            $clients[$work->client()] = new PWClient($work->client(), 1);
        }
        $client =& $clients[$work->client()];
        if (!isset($categos[$work->category()])) {
            $categos[$work->category()] = new PWCategory($work->category(), 1);
        }
        $cat =& $categos[$work->category()];
        $rtn = array();
        $rtn['title'] = $work->title();
        if ($options[6]) {
            $rtn['desc'] = substr($work->descShort(), 0, 50);
        }
        $rtn['link'] = $work->link();
        $rtn['created'] = formatTimestamp($work->created(), 's');
        if ($options[5]) {
            $rtn['image'] = XOOPS_UPLOAD_URL . '/works/ths/' . $work->image();
        }
        $linkcat = XOOPS_URL . '/modules/works/' . ($mc['urlmode'] ? 'cat/' . $cat->nameId() : 'catego.php?id=' . $cat->nameId());
        $rtn['cat'] = sprintf(__('Category: %s', 'works'), '<a href="' . $cat->link() . '">' . $cat->name() . '</a>');
        $rtn['client'] = sprintf(__('Customer: %s', 'works'), $client->businessName());
        $block['works'][] = $rtn;
    }
    $block['cols'] = $options[4];
    $block['showdesc'] = $options[6];
    $block['showimg'] = $options[5];
    return $block;
}