本文整理汇总了PHP中osc_item_url函数的典型用法代码示例。如果您正苦于以下问题:PHP osc_item_url函数的具体用法?PHP osc_item_url怎么用?PHP osc_item_url使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了osc_item_url函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: show_qrcode
function show_qrcode()
{
$filename = osc_item_id() . "_" . md5(osc_item_url()) . "_" . osc_get_preference("code_size", "qrcode") . ".png";
if (!file_exists(osc_get_preference('upload_path', 'qrcode') . $filename)) {
qrcode_generateqr(osc_item_url(), osc_item_id());
}
echo '<img src="' . osc_get_preference('upload_url', 'qrcode') . $filename . '" alt="QR CODE" id="qrcode_' . osc_item_id() . '" class="qrcode" />';
}
示例2: indeed
function indeed()
{
echo '<?xml version="1.0" encoding="utf-8"?>
<source>
<publisher>' . osc_page_title() . '</publisher>
<publisherurl>' . osc_base_url() . '</publisherurl>
<lastBuildDate>' . date("D, j M Y G:i:s T") . '</lastBuildDate>';
if (osc_count_items()) {
while (osc_has_items()) {
$item = feed_get_job_data(osc_item());
$salary = "";
if (isset($item['i_salary_min']) && $item['i_salary_min'] != '') {
$salary = $item['i_salary_min'];
}
if (isset($item['i_salary_max']) && $item['i_salary_max'] != '') {
if ($salary != "") {
$salary .= ' - ';
}
$salary .= $item['i_salary_max'];
}
if (isset($item['e_salary_period']) && $item['e_slary_period'] != '') {
if ($salary != "") {
$salary .= ' ';
$salary .= $item['e_salary_period'];
}
}
$locale = current($item['locale']);
if (isset($locale['s_desired_exp']) && $locale['s_desired_exp'] != '') {
$experience = $locale['s_desired_exp'];
} else {
$experience = '';
}
if (isset($locale['s_studies']) && $locale['s_studies'] != '') {
$education = $locale['s_studies'];
} else {
$education = '';
}
echo '<job>
<title><![CDATA[' . osc_item_title() . ']]></title>
<date><![CDATA[' . osc_item_pub_date() . ']]></date>
<referencenumber><![CDATA[' . osc_item_id() . ']]></referencenumber>
<url><![CDATA[' . osc_item_url() . ']]></url>
<company><![CDATA[' . (isset($item['s_company_name']) && $item['s_company_name'] != NULL ? $item['s_company_name'] : '') . ']]></company>
<city><![CDATA[' . (osc_item_city() != NULL ? osc_item_city() : '') . ']]></city>
<state><![CDATA[' . (osc_item_region() != NULL ? osc_item_region() : '') . ']]></state>
<country><![CDATA[' . (osc_item_country() != NULL ? osc_item_country() : '') . ']]></country>
<postalcode><![CDATA[' . (osc_item_zip() != NULL ? osc_item_zip() : '') . ']]></postalcode>
<description><![CDATA[' . (osc_item_description() != NULL ? osc_item_description() : '') . ']]></description>
<salary><![CDATA[' . $salary . ']]></salary>
<education><![CDATA[' . $education . ']]></education>
<jobtype><![CDATA[' . (isset($item['e_position_type']) && $item['e_position_type'] != NULL ? $item['e_position_type'] : '') . ']]></jobtype>
<category><![CDATA[]]></category>
<experience><![CDATA[' . $experience . ']]></experience>
</job>';
}
}
echo '</source>';
}
示例3: google_cars
function google_cars()
{
echo '<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>' . osc_page_title() . '</title>
<description>' . osc_page_description() . '</description>
<link>' . osc_base_url() . '</link>';
if (osc_count_items()) {
while (osc_has_items()) {
$item = feed_get_car_data(osc_item());
$date = date('d/m/Y');
$time = date('H:i');
if (preg_match('|([0-9]{4})-([0-9]{2})-([0-9]{2})|', osc_item_pub_date(), $tmp)) {
$date = $tmp[3] . "/" . $tmp[2] . "/" . $tmp[1];
}
echo '<item>
<title>' . osc_item_title() . '</title>
<description>' . osc_item_description() . '</description>
<g:id>' . osc_item_id() . '</g:id>
<link>' . osc_item_url() . '</link>
<g:location>' . (osc_item_address() != '' ? osc_item_address() : '') . ', ' . (osc_item_city() != '' ? osc_item_city() : '') . ', ' . (osc_item_region() != '' ? osc_item_region() : '') . ', ' . (osc_item_zip() != '' ? osc_item_zip() : '') . ' ' . (osc_item_country() != '' ? osc_item_country() : '') . '</g:location>
<g:publish_date>' . $date . '</g:publish_date>
<g:color>' . (isset($item['s_color']) ? $item['s_color'] : '') . '</g:color>
<g:condition>' . (isset($item['b_new']) && $item['b_new'] == 1 ? 'new' : 'used') . '</g:condition>';
if (osc_count_item_resources() > 0) {
while (osc_has_item_resources()) {
if (strpos(osc_resource_type(), 'image') !== FALSE) {
echo '<g:image_link>' . osc_resource_path() . '</g:image_link>';
}
}
}
echo '<g:make>' . (isset($item['s_make']) ? $item['s_make'] : '') . '</g:make>
<g:mileage>' . (isset($item['i_mileage']) ? $item['i_mileage'] : '') . '</g:mileage>
<g:model>' . (isset($item['s_model']) ? $item['s_model'] : '') . '</g:model>
<g:price>' . (osc_item_price() != '' ? osc_item_price() : '') . '</g:price>
<g:vehicle_type>' . (isset($item['s_name']) ? $item['s_name'] : '') . '</g:vehicle_type>
<g:year>' . (isset($item['i_year']) ? $item['i_year'] : '') . '</g:year>
</item>';
}
}
echo '</channel>
</rss>';
}
示例4: payment_pro_send_email
function payment_pro_send_email($email)
{
$item = Item::newInstance()->findByPrimaryKey($email['fk_i_item_id']);
$mPages = new Page();
$aPage = $mPages->findByInternalName('payment_pro_email_payment');
$locale = osc_current_user_locale();
$content = array();
if (isset($aPage['locale'][$locale]['s_title'])) {
$content = $aPage['locale'][$locale];
} else {
$content = current($aPage['locale']);
}
$item_url = osc_item_url();
$item_url = '<a href="' . $item_url . '" >' . $item_url . '</a>';
$publish_url = osc_route_url('payment-pro-addcart', array('item' => 'PUB' . $item['fk_i_category_id'] . '-' . $item['pk_i_id']));
$premium_url = osc_route_url('payment-pro-addcart', array('item' => 'PRM' . $item['fk_i_category_id'] . '-' . $item['pk_i_id']));
$words = array();
$words[] = array('{ITEM_ID}', '{CONTACT_NAME}', '{CONTACT_EMAIL}', '{WEB_URL}', '{ITEM_TITLE}', '{ITEM_URL}', '{WEB_TITLE}', '{PUBLISH_LINK}', '{PUBLISH_URL}', '{PREMIUM_LINK}', '{PREMIUM_URL}', '{START_PUBLISH_FEE}', '{END_PUBLISH_FEE}', '{START_PREMIUM_FEE}', '{END_PREMIUM_FEE}');
$words[] = array($item['pk_i_id'], $item['s_contact_name'], $item['s_contact_email'], osc_base_url(), $item['s_title'], $item_url, osc_page_title(), '<a href="' . $publish_url . '">' . $publish_url . '</a>', $publish_url, '<a href="' . $premium_url . '">' . $premium_url . '</a>', $premium_url, '', '', '', '');
if ($email['b_publish'] == 0) {
$content['s_text'] = preg_replace('|{START_PUBLISH_FEE}(.*){END_PUBLISH_FEE}|', '', $content['s_text']);
}
if ($email['b_premium'] == 0) {
$content['s_text'] = preg_replace('|{START_PREMIUM_FEE}(.*){END_PREMIUM_FEE}|', '', $content['s_text']);
}
$title = osc_apply_filter('alert_email_payment_pro_title_after', osc_mailBeauty(osc_apply_filter('email_payment_pro_title', osc_apply_filter('alert_email_payment_pro_title', $content['s_title'], $email, $item)), $words), $email, $item);
$body = osc_apply_filter('alert_email_payment_pro_description_after', osc_mailBeauty(osc_apply_filter('email_payment_pro_description', osc_apply_filter('alert_email_payment_pro_description', $content['s_text'], $email, $item)), $words), $email, $item);
$emailParams = array('subject' => $title, 'to' => $item['s_contact_email'], 'to_name' => $item['s_contact_name'], 'body' => $body, 'alt_body' => $body);
osc_sendMail($emailParams);
}
示例5: osc_comment_url
/**
* Create automatically the url of the item's comments page
*
* @param string $locale
* @return string
*/
function osc_comment_url($locale = '')
{
return osc_item_url($locale) . "?comment=" . osc_comment_id();
}
示例6: doModel
//.........这里部分代码省略.........
break;
}
}
$p_iOrderType = $orderType;
}
}
// FILTERING USER
if ($p_sUser != '') {
$this->mSearch->fromUser($p_sUser);
}
// FILTERING IF WE ONLY WANT ITEMS WITH PICS
if ($p_bPic) {
$this->mSearch->withPicture(true);
}
//FILTERING BY RANGE PRICE
$this->mSearch->priceRange($p_sPriceMin, $p_sPriceMax);
//ORDERING THE SEARCH RESULTS
$this->mSearch->order($p_sOrder, $allowedTypesForSorting[$p_iOrderType]);
//SET PAGE
$this->mSearch->page($p_iPage, $p_iPageSize);
osc_run_hook('search_conditions', Params::getParamsAsArray());
if (!Params::existParam('sFeed')) {
// RETRIEVE ITEMS AND TOTAL
$aItems = $this->mSearch->doSearch();
$iTotalItems = $this->mSearch->count();
$iStart = $p_iPage * $p_iPageSize;
$iEnd = min(($p_iPage + 1) * $p_iPageSize, $iTotalItems);
$iNumPages = ceil($iTotalItems / $p_iPageSize);
osc_run_hook('search', $this->mSearch);
//preparing variables...
$regionName = $p_sRegion;
if (is_numeric($p_sRegion)) {
$r = Region::newInstance()->findByPrimaryKey($p_sRegion);
if ($r) {
$regionName = $r['s_name'];
}
}
$cityName = $p_sCity;
if (is_numeric($p_sCity)) {
$c = City::newInstance()->findByPrimaryKey($p_sCity);
if ($c) {
$cityName = $c['s_name'];
}
}
//$this->_exportVariableToView('non_empty_categories', $aCategories) ;
$this->_exportVariableToView('search_start', $iStart);
$this->_exportVariableToView('search_end', $iEnd);
$this->_exportVariableToView('search_category', $p_sCategory);
// hardcoded - non pattern and order by relevance
$p_sOrder = $old_order;
$this->_exportVariableToView('search_order_type', $p_iOrderType);
$this->_exportVariableToView('search_order', $p_sOrder);
$this->_exportVariableToView('search_pattern', $p_sPattern);
$this->_exportVariableToView('search_from_user', $p_sUser);
$this->_exportVariableToView('search_total_pages', $iNumPages);
$this->_exportVariableToView('search_page', $p_iPage);
$this->_exportVariableToView('search_has_pic', $p_bPic);
$this->_exportVariableToView('search_region', $regionName);
$this->_exportVariableToView('search_city', $cityName);
$this->_exportVariableToView('search_price_min', $p_sPriceMin);
$this->_exportVariableToView('search_price_max', $p_sPriceMax);
$this->_exportVariableToView('search_total_items', $iTotalItems);
$this->_exportVariableToView('items', $aItems);
$this->_exportVariableToView('search_show_as', $p_sShowAs);
$this->_exportVariableToView('search', $this->mSearch);
// json
$json = $this->mSearch->toJson();
$this->_exportVariableToView('search_alert', base64_encode($json));
//calling the view...
$this->doView('search.php');
} else {
$this->mSearch->page(0, osc_num_rss_items());
// RETRIEVE ITEMS AND TOTAL
$iTotalItems = $this->mSearch->count();
$aItems = $this->mSearch->doSearch();
$this->_exportVariableToView('items', $aItems);
if ($p_sFeed == '' || $p_sFeed == 'rss') {
// FEED REQUESTED!
header('Content-type: text/xml; charset=utf-8');
$feed = new RSSFeed();
$feed->setTitle(__('Latest listings added') . ' - ' . osc_page_title());
$feed->setLink(osc_base_url());
$feed->setDescription(__('Latest listings added in') . ' ' . osc_page_title());
if (osc_count_items() > 0) {
while (osc_has_items()) {
if (osc_count_item_resources() > 0) {
osc_has_item_resources();
$feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"), 'description' => osc_item_description(), 'dt_pub_date' => osc_item_pub_date(), 'image' => array('url' => htmlentities(osc_resource_thumbnail_url(), ENT_COMPAT, "UTF-8"), 'title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"))));
} else {
$feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"), 'description' => osc_item_description(), 'dt_pub_date' => osc_item_pub_date()));
}
}
}
osc_run_hook('feed', $feed);
$feed->dumpXML();
} else {
osc_run_hook('feed_' . $p_sFeed, $aItems);
}
}
}
示例7: item_success_meta_og
function item_success_meta_og()
{
$image = null;
$r = ItemResource::newInstance()->getResource(osc_item_id());
if (isset($r['pk_i_id'])) {
$image = (string) osc_base_url() . $r['s_path'] . $r['pk_i_id'] . "_thumbnail." . $r['s_extension'];
}
$_item = Item::newInstance()->findByPrimaryKey(osc_item_id());
?>
<meta property="og:title" content="<?php
echo osc_esc_html($_item['s_title']);
?>
"/>
<meta property="og:url" content="<?php
echo osc_item_url();
?>
"/>
<?php
if ($image != null) {
?>
<meta property="og:image" content="<?php
echo $image;
?>
"/>
<?php
} else {
?>
<meta property="og:image" content="<?php
echo osc_plugin_url(true) . 'item_success/images/no_photo.gif';
?>
"/>
<?php
}
?>
<meta property="og:site_name" content="<?php
echo osc_esc_html(meta_title());
?>
"/>
<meta property="og:description" content="<?php
echo osc_esc_html(osc_highlight($_item['s_description']));
?>
"/>
<?php
}
示例8: processData
private function processData($comments)
{
if (!empty($comments)) {
$csrf_token_url = osc_csrf_token_url();
foreach ($comments as $aRow) {
$row = array();
$options = array();
$options_more = array();
View::newInstance()->_exportVariableToView('item', Item::newInstance()->findByPrimaryKey($aRow['fk_i_item_id']));
if ($aRow['b_active']) {
$options_more[] = '<a href="' . osc_admin_base_url(true) . '?page=comments&action=status&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&value=INACTIVE">' . __('Deactivate') . '</a>';
} else {
$options_more[] = '<a href="' . osc_admin_base_url(true) . '?page=comments&action=status&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&value=ACTIVE">' . __('Activate') . '</a>';
}
if ($aRow['b_enabled']) {
$options_more[] = '<a href="' . osc_admin_base_url(true) . '?page=comments&action=status&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&value=DISABLE">' . __('Block') . '</a>';
} else {
$options_more[] = '<a href="' . osc_admin_base_url(true) . '?page=comments&action=status&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&value=ENABLE">' . __('Unblock') . '</a>';
}
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=comments&action=comment_edit&id=' . $aRow['pk_i_id'] . '" id="dt_link_edit">' . __('Edit') . '</a>';
$options[] = '<a onclick="return delete_dialog(\'' . $aRow['pk_i_id'] . '\');" href="' . osc_admin_base_url(true) . '?page=comments&action=delete&id=' . $aRow['pk_i_id'] . '" id="dt_link_delete">' . __('Delete') . '</a>';
// more actions
$moreOptions = '<li class="show-more">' . PHP_EOL . '<a href="#" class="show-more-trigger">' . __('Show more') . '...</a>' . PHP_EOL . '<ul>' . PHP_EOL;
foreach ($options_more as $actual) {
$moreOptions .= '<li>' . $actual . "</li>" . PHP_EOL;
}
$moreOptions .= '</ul>' . PHP_EOL . '</li>' . PHP_EOL;
// create list of actions
$auxOptions = '<ul>' . PHP_EOL;
foreach ($options as $actual) {
$auxOptions .= '<li>' . $actual . '</li>' . PHP_EOL;
}
$auxOptions .= $moreOptions;
$auxOptions .= '</ul>' . PHP_EOL;
$actions = '<div class="actions">' . $auxOptions . '</div>' . PHP_EOL;
$row['bulkactions'] = '<input type="checkbox" name="id[]" value="' . $aRow['pk_i_id'] . '" />';
if (empty($aRow['s_author_name'])) {
$user = User::newInstance()->findByPrimaryKey($aRow['fk_i_user_id']);
$aRow['s_author_name'] = $user['s_email'];
}
$row['author'] = $aRow['s_author_name'] . ' (<a target="_blank" href="' . osc_item_url() . '">' . osc_item_title() . '</a>)' . $actions;
$row['comment'] = $aRow['s_body'];
$row['date'] = $aRow['dt_pub_date'];
$row = osc_apply_filter('comments_processing_row', $row, $aRow);
$this->addRow($row);
$this->rawRows[] = $aRow;
}
}
}
示例9: breadcrumbs
function breadcrumbs($separator = '/')
{
$text = '';
$location = Rewrite::newInstance()->get_location();
$section = Rewrite::newInstance()->get_section();
$separator = ' ' . trim($separator) . ' ';
$page_title = '<a href="' . osc_base_url() . '"><span class="bc_root">' . osc_page_title() . '</span></a>';
switch ($location) {
case 'item':
switch ($section) {
case 'item_add':
break;
default:
$aCategories = Category::newInstance()->toRootTree((string) osc_item_category_id());
$category = '';
if (count($aCategories) == 0) {
break;
}
$deep = 1;
foreach ($aCategories as $aCategory) {
$list[] = '<a href="' . breadcrumbs_category_url($aCategory['pk_i_id']) . '"><span class="bc_level_' . $deep . '">' . $aCategory['s_name'] . '</span></a>';
$deep++;
}
$category = implode($separator, $list) . $separator;
$category = preg_replace('|' . trim($separator) . '\\s*$|', '', $category);
break;
}
switch ($section) {
case 'item_add':
$text = $page_title . $separator . '<span class="bc_last">' . __('Publish an item', 'breadcrumbs');
break;
case 'item_edit':
$text = $page_title . $separator . $category . $separator . '<a href="' . osc_item_url() . '"><span class="bc_item">' . osc_item_title() . '</span></a>' . $separator . '<span class="bc_last">' . __('Edit your item', 'breadcrumbs') . '</span>';
break;
case 'send_friend':
$text = $page_title . $separator . $category . $separator . '<a href="' . osc_item_url() . '"><span class="bc_item">' . osc_item_title() . '</span></a>' . $separator . '<span class="bc_last">' . __('Send to a friend', 'breadcrumbs') . '</span>';
break;
case 'contact':
$text = $page_title . $separator . $category . $separator . '<a href="' . osc_item_url() . '"><span class="bc_item">' . osc_item_title() . '</span></a>' . $separator . '<span class="bc_last">' . __('Contact seller', 'breadcrumbs') . '</span>';
break;
default:
$text = $page_title . $separator . $category . $separator . '<span class="bc_last">' . osc_item_title() . '</span>';
break;
}
break;
case 'page':
$text = $page_title . $separator . '<span class="bc_last">' . osc_static_page_title() . '</span>';
break;
case 'search':
$region = osc_search_region();
$city = osc_search_city();
$pattern = osc_search_pattern();
$category = osc_search_category_id();
$category = count($category) == 1 ? $category[0] : '';
$b_show_all = $pattern == '' && $category == '' && $region == '' && $city == '';
$b_category = $category != '';
$b_pattern = $pattern != '';
$b_region = $region != '';
$b_city = $city != '';
$b_location = $b_region || $b_city;
if ($b_show_all) {
$text = $page_title . $separator . '<span class="bc_last">' . __('Search', 'breadcrumbs') . '</span>';
break;
}
// init
$result = $page_title . $separator;
if ($b_category) {
$list = array();
$aCategories = Category::newInstance()->toRootTree($category);
if (count($aCategories) > 0) {
$deep = 1;
foreach ($aCategories as $single) {
$list[] = '<a href="' . breadcrumbs_category_url($single['pk_i_id']) . '"><span class="bc_level_' . $deep . '">' . $single['s_name'] . '</span></a>';
$deep++;
}
// remove last link
if (!$b_pattern && !$b_location) {
$list[count($list) - 1] = preg_replace('|<a href.*?>(.*?)</a>|', '$01', $list[count($list) - 1]);
}
$result .= implode($separator, $list) . $separator;
}
}
if ($b_location) {
$list = array();
$params = array();
if ($b_category) {
$params['sCategory'] = $category;
}
if ($b_city) {
$aCity = City::newInstance()->findByName($city);
if (count($aCity) == 0) {
$params['sCity'] = $city;
$list[] = '<a href="' . osc_search_url($params) . '"><span class="bc_city">' . $city . '</span></a>';
} else {
$aRegion = Region::newInstance()->findByPrimaryKey($aCity['fk_i_region_id']);
$params['sRegion'] = $aRegion['s_name'];
$list[] = '<a href="' . osc_search_url($params) . '"><span class="bc_region">' . $aRegion['s_name'] . '</span></a>';
$params['sCity'] = $aCity['s_name'];
$list[] = '<a href="' . osc_search_url($params) . '"><span class="bc_city">' . $aCity['s_name'] . '</span></a>';
}
//.........这里部分代码省略.........
示例10: doModel
function doModel()
{
//calling the view...
$locales = OSCLocale::newInstance()->listAllEnabled();
$this->_exportVariableToView('locales', $locales);
switch ($this->action) {
case 'item_add':
// post
if (!osc_users_enabled()) {
osc_add_flash_message(_m('Users not enabled'));
$this->redirectTo(osc_base_url(true));
}
if (osc_reg_user_post() && $this->user == null) {
// CHANGEME: This text
osc_add_flash_message(_m('Only registered users are allowed to post items'));
$this->redirectTo(osc_user_login_url());
}
$countries = Country::newInstance()->listAll();
$regions = array();
if (isset($this->user['fk_c_country_code']) && $this->user['fk_c_country_code'] != '') {
$regions = Region::newInstance()->getByCountry($this->user['fk_c_country_code']);
} else {
if (count($countries) > 0) {
$regions = Region::newInstance()->getByCountry($countries[0]['pk_c_code']);
}
}
$cities = array();
if (isset($this->user['fk_i_region_id']) && $this->user['fk_i_region_id'] != '') {
$cities = City::newInstance()->listWhere("fk_i_region_id = %d", $this->user['fk_i_region_id']);
} else {
if (count($regions) > 0) {
$cities = City::newInstance()->listWhere("fk_i_region_id = %d", $regions[0]['pk_i_id']);
}
}
$this->_exportVariableToView('countries', $countries);
$this->_exportVariableToView('regions', $regions);
$this->_exportVariableToView('cities', $cities);
$this->_exportVariableToView('user', $this->user);
osc_run_hook('post_item');
$this->doView('item-post.php');
break;
case 'item_add_post':
//post_item
if (!osc_users_enabled()) {
osc_add_flash_message(_m('Users not allowed'));
$this->redirectTo(osc_base_url(true));
}
if (osc_reg_user_post() && $this->user == null) {
osc_add_flash_message(_m('Only registered users are allowed to post items'));
$this->redirectTo(osc_base_url(true));
}
// POST ITEM ( ADD ITEM )
$mItems = new ItemActions(false);
$success = $mItems->add();
if ($success) {
$PcontactName = Params::getParam('contactName');
$PcontactEmail = Params::getParam('contactEmail');
$itemId = Params::getParam('itemId');
$item = array();
if (Session::newInstance()->_get('userId') == '') {
$mPages = new Page();
$aPage = $mPages->findByInternalName('email_new_item_non_register_user');
$locale = osc_current_user_locale();
$content = array();
if (isset($aPage['locale'][$locale]['s_title'])) {
$content = $aPage['locale'][$locale];
} else {
$content = current($aPage['locale']);
}
$item = $this->itemManager->findByPrimaryKey($itemId);
$item_url = osc_item_url();
// before page = user , action = item_edit
$edit_url = osc_item_edit_url($item['s_secret'], $itemId);
// before page = user , action = item_delete
$delete_url = osc_item_delete_url($item['s_secret'], $itemId);
$words = array();
$words[] = array('{ITEM_ID}', '{USER_NAME}', '{USER_EMAIL}', '{WEB_URL}', '{ITEM_TITLE}', '{ITEM_URL}', '{WEB_TITLE}', '{EDIT_LINK}', '{EDIT_URL}', '{DELETE_LINK}', '{DELETE_URL}');
$words[] = array($itemId, $PcontactName, $PcontactEmail, osc_base_url(), $item['s_title'], $item_url, osc_page_title(), '<a href="' . $edit_url . '">' . $edit_url . '</a>', $edit_url, '<a href="' . $delete_url . '">' . $delete_url . '</a>', $delete_url);
$title = osc_mailBeauty($content['s_title'], $words);
$body = osc_mailBeauty($content['s_text'], $words);
$emailParams = array('subject' => $title, 'to' => $PcontactEmail, 'to_name' => $PcontactName, 'body' => $body, 'alt_body' => $body);
osc_sendMail($emailParams);
}
osc_run_hook('posted_item', $item);
$category = Category::newInstance()->findByPrimaryKey(Params::getParam('catId'));
View::newInstance()->_exportVariableToView('category', $category);
$this->redirectTo(osc_search_category_url());
} else {
$this->redirectTo(osc_item_post_url());
}
break;
case 'item_edit':
$secret = Params::getParam('secret');
$id = Params::getParam('id');
$item = $this->itemManager->listWhere("i.pk_i_id = '%s' AND ((i.s_secret = '%s' AND i.fk_i_user_id IS NULL) OR (i.fk_i_user_id = '%d'))", $id, $secret, $this->userId);
if (count($item) == 1) {
$item = Item::newInstance()->findByPrimaryKey($id);
$categories = Category::newInstance()->toTree();
$countries = Country::newInstance()->listAll();
$regions = array();
//.........这里部分代码省略.........
示例11: doModel
//.........这里部分代码省略.........
$iTotalItems = null;
if ($cache) {
$aItems = $cache['aItems'];
$iTotalItems = $cache['iTotalItems'];
} else {
$aItems = $this->mSearch->doSearch();
$iTotalItems = $this->mSearch->count();
$_cache['aItems'] = $aItems;
$_cache['iTotalItems'] = $iTotalItems;
osc_cache_set($key, $_cache, OSC_CACHE_TTL);
}
$iStart = $p_iPage * $p_iPageSize;
$iEnd = min(($p_iPage + 1) * $p_iPageSize, $iTotalItems);
$iNumPages = ceil($iTotalItems / $p_iPageSize);
// works with cache enabled ?
osc_run_hook('search', $this->mSearch);
//preparing variables...
$countryName = $p_sCountry;
if (strlen($p_sCountry) == 2) {
$c = Country::newInstance()->findByCode($p_sCountry);
if ($c) {
$countryName = $c['s_name'];
}
}
$regionName = $p_sRegion;
if (is_numeric($p_sRegion)) {
$r = Region::newInstance()->findByPrimaryKey($p_sRegion);
if ($r) {
$regionName = $r['s_name'];
}
}
$cityName = $p_sCity;
if (is_numeric($p_sCity)) {
$c = City::newInstance()->findByPrimaryKey($p_sCity);
if ($c) {
$cityName = $c['s_name'];
}
}
$this->_exportVariableToView('search_start', $iStart);
$this->_exportVariableToView('search_end', $iEnd);
$this->_exportVariableToView('search_category', $p_sCategory);
// hardcoded - non pattern and order by relevance
$p_sOrder = $old_order;
$this->_exportVariableToView('search_order_type', $p_iOrderType);
$this->_exportVariableToView('search_order', $p_sOrder);
$this->_exportVariableToView('search_pattern', $p_sPattern);
$this->_exportVariableToView('search_from_user', $p_sUser);
$this->_exportVariableToView('search_total_pages', $iNumPages);
$this->_exportVariableToView('search_page', $p_iPage);
$this->_exportVariableToView('search_has_pic', $p_bPic);
$this->_exportVariableToView('search_only_premium', $p_bPremium);
$this->_exportVariableToView('search_country', $countryName);
$this->_exportVariableToView('search_region', $regionName);
$this->_exportVariableToView('search_city', $cityName);
$this->_exportVariableToView('search_price_min', $p_sPriceMin);
$this->_exportVariableToView('search_price_max', $p_sPriceMax);
$this->_exportVariableToView('search_total_items', $iTotalItems);
$this->_exportVariableToView('items', $aItems);
$this->_exportVariableToView('search_show_as', $p_sShowAs);
$this->_exportVariableToView('search', $this->mSearch);
// json
$json = $this->mSearch->toJson();
$encoded_alert = base64_encode(osc_encrypt_alert($json));
// Create the HMAC signature and convert the resulting hex hash into base64
$stringToSign = osc_get_alert_public_key() . $encoded_alert;
$signature = hex2b64(hmacsha1(osc_get_alert_private_key(), $stringToSign));
$server_signature = Session::newInstance()->_set('alert_signature', $signature);
$this->_exportVariableToView('search_alert', $encoded_alert);
// calling the view...
if (count($aItems) === 0) {
header('HTTP/1.1 404 Not Found');
}
osc_run_hook("after_search");
if (!Params::existParam('sFeed')) {
$this->doView('search.php');
} else {
if ($p_sFeed == '' || $p_sFeed == 'rss') {
// FEED REQUESTED!
header('Content-type: text/xml; charset=utf-8');
$feed = new RSSFeed();
$feed->setTitle(__('Latest listings added') . ' - ' . osc_page_title());
$feed->setLink(osc_base_url());
$feed->setDescription(__('Latest listings added in') . ' ' . osc_page_title());
if (osc_count_items() > 0) {
while (osc_has_items()) {
if (osc_count_item_resources() > 0) {
osc_has_item_resources();
$feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"), 'description' => osc_item_description(), 'country' => osc_item_country(), 'region' => osc_item_region(), 'city' => osc_item_city(), 'city_area' => osc_item_city_area(), 'category' => osc_item_category(), 'dt_pub_date' => osc_item_pub_date(), 'image' => array('url' => htmlentities(osc_resource_thumbnail_url(), ENT_COMPAT, "UTF-8"), 'title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"))));
} else {
$feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"), 'description' => osc_item_description(), 'country' => osc_item_country(), 'region' => osc_item_region(), 'city' => osc_item_city(), 'city_area' => osc_item_city_area(), 'category' => osc_item_category(), 'dt_pub_date' => osc_item_pub_date()));
}
}
}
osc_run_hook('feed', $feed);
$feed->dumpXML();
} else {
osc_run_hook('feed_' . $p_sFeed, $aItems);
}
}
}
示例12: toArrayFormatReported
/**
* new Design - return array
* @return type
*/
private function toArrayFormatReported()
{
$this->result['iTotalRecords'] = $this->total_filtered;
$this->result['iTotalDisplayRecords'] = $this->total;
$this->result['sColumns'] = $this->sColumns;
$this->result['iDisplayLength'] = $this->_get['iDisplayLength'];
$this->result['aaData'] = array();
if (count($this->items) == 0) {
return;
}
$this->result['aaObject'] = $this->items;
$count = 0;
foreach ($this->items as $aRow) {
View::newInstance()->_exportVariableToView('item', $aRow);
$row = array();
$options = array();
// -- prepare data --
// prepare item title
$title = mb_substr($aRow['s_title'], 0, 30, 'utf-8');
if ($title != $aRow['s_title']) {
$title .= '...';
}
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&stat=all">' . __('Clear All') . '</a>';
if ($aRow['i_num_spam'] > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&stat=spam">' . __('Clear Spam') . '</a>';
}
if ($aRow['i_num_bad_classified'] > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&stat=bad">' . __('Clear Misclassified') . '</a>';
}
if ($aRow['i_num_repeated'] > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&stat=duplicated">' . __('Clear Duplicated') . '</a>';
}
if ($aRow['i_num_offensive'] > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&stat=offensive">' . __('Clear Offensive') . '</a>';
}
if ($aRow['i_num_expired'] > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&stat=expired">' . __('Clear Expired') . '</a>';
}
if (count($options) > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=item_edit&id=' . $aRow['pk_i_id'] . '">' . __('Edit') . '</a>';
$options[] = '<a onclick="return delete_dialog(\'' . $aRow['pk_i_id'] . '\');" href="' . osc_admin_base_url(true) . '?page=items&action=delete&id[]=' . $aRow['pk_i_id'] . '">' . __('Delete') . '</a>';
}
// create list of actions
$auxOptions = '<ul>' . PHP_EOL;
foreach ($options as $actual) {
$auxOptions .= '<li>' . $actual . '</li>' . PHP_EOL;
}
$auxOptions .= '</ul>' . PHP_EOL;
$actions = '<div class="actions">' . $auxOptions . '</div>' . PHP_EOL;
// fill a row
$row[] = '<input type="checkbox" name="id[]" value="' . $aRow['pk_i_id'] . '" active="' . $aRow['b_active'] . '" blocked="' . $aRow['b_enabled'] . '"/>';
$row[] = '<a href="' . osc_item_url() . '" target="_blank">' . $title . '</a>' . $actions;
$row[] = $aRow['s_user_name'];
$row[] = $aRow['i_num_spam'];
$row[] = $aRow['i_num_bad_classified'];
$row[] = $aRow['i_num_repeated'];
$row[] = $aRow['i_num_expired'];
$row[] = $aRow['i_num_offensive'];
$row[] = $aRow['dt_pub_date'];
$count++;
$this->result['aaData'][] = $row;
}
return;
}
示例13: processDataReported
private function processDataReported($items)
{
if(!empty($items)) {
$csrf_token_url = osc_csrf_token_url();
foreach($items as $aRow) {
View::newInstance()->_exportVariableToView('item', $aRow);
$row = array();
$options = array();
// -- prepare data --
// prepare item title
$title = mb_substr($aRow['s_title'], 0, 30, 'UTF-8');
if($title != $aRow['s_title']) {
$title .= '...';
}
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&stat=all">' . __('Clear All') .'</a>';
if( $aRow['i_num_spam'] > 0 ) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&stat=spam">' . __('Clear Spam') .'</a>';
}
if( $aRow['i_num_bad_classified'] > 0 ) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&stat=bad">' . __('Clear Misclassified') .'</a>';
}
if( $aRow['i_num_repeated'] > 0 ) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&stat=duplicated">' . __('Clear Duplicated') .'</a>';
}
if( $aRow['i_num_offensive'] > 0 ) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&stat=offensive">' . __('Clear Offensive') .'</a>';
}
if( $aRow['i_num_expired'] > 0 ) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&id=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '&stat=expired">' . __('Clear Expired') .'</a>';
}
if(count($options) > 0) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=item_edit&id=' . $aRow['pk_i_id'] . '">' . __('Edit') . '</a>';
$options[] = '<a onclick="return delete_dialog(\'' . $aRow['pk_i_id'] . '\');" href="' . osc_admin_base_url(true) . '?page=items&action=delete&id[]=' . $aRow['pk_i_id'] . '&' . $csrf_token_url . '">' . __('Delete') . '</a>';
}
// create list of actions
$auxOptions = '<ul>'.PHP_EOL;
foreach( $options as $actual ) {
$auxOptions .= '<li>'.$actual.'</li>'.PHP_EOL;
}
$auxOptions .= '</ul>'.PHP_EOL;
$actions = '<div class="actions">'.$auxOptions.'</div>'.PHP_EOL;
// fill a row
$row['bulkactions'] = '<input type="checkbox" name="id[]" value="' . $aRow['pk_i_id'] . '" active="' . $aRow['b_active'] . '" blocked="' . $aRow['b_enabled'] . '"/>';
$row['title'] = '<a href="' . osc_item_url().'" target="_blank">' . $title . '</a>'. $actions;
$row['user'] = $aRow['s_user_name'];
$row['spam'] = $aRow['i_num_spam'];
$row['bad'] = $aRow['i_num_bad_classified'];
$row['rep'] = $aRow['i_num_repeated'];
$row['exp'] = $aRow['i_num_expired'];
$row['off'] = $aRow['i_num_offensive'];
$row['date'] = osc_format_date($aRow['dt_pub_date']);
$row['expiration'] = ($aRow['dt_expiration'] != '9999-12-31 23:59:59') ? osc_format_date($aRow['dt_expiration']) : __('Never expires');
$row = osc_apply_filter('items_processing_reported_row', $row, $aRow);
$this->addRow($row);
$this->rawRows[] = $aRow;
}
}
}
示例14: doModel
//.........这里部分代码省略.........
//FILTERING CITY
foreach ($p_sCity as $city) {
$this->mSearch->addCity($city);
}
$p_sCity = implode(", ", $p_sCity);
//FILTERING REGION
foreach ($p_sRegion as $region) {
$this->mSearch->addRegion($region);
}
$p_sRegion = implode(", ", $p_sRegion);
//FILTERING COUNTRY
foreach ($p_sCountry as $country) {
$this->mSearch->addCountry($country);
}
$p_sCountry = implode(", ", $p_sCountry);
// FILTERING PATTERN
if ($p_sPattern != '') {
$this->mSearch->addConditions(sprintf("(d.s_title LIKE '%%%s%%' OR d.s_description LIKE '%%%s%%')", $p_sPattern, $p_sPattern));
$osc_request['sPattern'] = $p_sPattern;
}
// FILTERING IF WE ONLY WANT ITEMS WITH PICS
if ($p_bPic) {
$this->mSearch->withPicture(true);
}
//FILTERING BY RANGE PRICE
$this->mSearch->priceRange($p_sPriceMin, $p_sPriceMax);
//ORDERING THE SEARCH RESULTS
$this->mSearch->order($p_sOrder, $allowedTypesForSorting[$p_iOrderType]);
//SET PAGE
$this->mSearch->page($p_iPage, $p_iPageSize);
osc_run_hook('search_conditions', Params::getParamsAsArray());
$this->mSearch->addConditions(sprintf("%st_item.e_status = 'ACTIVE' ", DB_TABLE_PREFIX));
// RETRIEVE ITEMS AND TOTAL
$iTotalItems = $this->mSearch->count();
$aItems = $this->mSearch->doSearch();
if (!Params::existParam('sFeed')) {
$iStart = $p_iPage * $p_iPageSize;
$iEnd = min(($p_iPage + 1) * $p_iPageSize, $iTotalItems);
//Static data, which is the point?
/*$aOrders = array(
__('Newly listed') => array('sOrder' => 'dt_pub_date', 'iOrderType' => 'desc')
,__('Lower price first') => array('sOrder' => 'f_price', 'iOrderType' => 'asc')
,__('Higher price first') => array('sOrder' => 'f_price', 'iOrderType' => 'desc')
);*/
$iNumPages = ceil($iTotalItems / $p_iPageSize);
//Categories for select at view "search.php"
$mCategories = new Category();
$aCategories = $mCategories->findRootCategories();
$mCategoryStats = new CategoryStats();
$aCategories = $mCategories->toTree();
foreach ($aCategories as $k => $v) {
$iCategoryNumItems = CategoryStats::newInstance()->getNumItems($v);
if ($iCategoryNumItems > 0) {
$aCategories[$k]['total'] = $iCategoryNumItems;
} else {
unset($aCategories[$k]);
}
}
osc_run_hook('search', $this->mSearch);
//preparing variables...
$this->_exportVariableToView('categories', $aCategories);
$this->_exportVariableToView('search_start', $iStart);
$this->_exportVariableToView('search_end', $iEnd);
$this->_exportVariableToView('search_category', $p_sCategory);
$this->_exportVariableToView('search_order_type', $p_iOrderType);
$this->_exportVariableToView('search_order', $p_sOrder);
$this->_exportVariableToView('search_pattern', $p_sPattern);
$this->_exportVariableToView('search_total_pages', $iNumPages);
$this->_exportVariableToView('search_page', $p_iPage);
$this->_exportVariableToView('search_has_pic', $p_bPic);
$this->_exportVariableToView('search_city', $p_sCity);
$this->_exportVariableToView('search_price_min', $p_sPriceMin);
$this->_exportVariableToView('search_price_max', $p_sPriceMax);
$this->_exportVariableToView('search_total_items', $iTotalItems);
$this->_exportVariableToView('items', $aItems);
$this->_exportVariableToView('search_show_as', $p_sShowAs);
$this->_exportVariableToView('search', $this->mSearch);
//calling the view...
$this->doView('search.php');
} else {
$this->_exportVariableToView('items', $aItems);
if ($p_sFeed == '' || $p_sFeed == 'rss') {
// FEED REQUESTED!
header('Content-type: text/xml; charset=utf-8');
$feed = new RSSFeed();
$feed->setTitle(__('Latest items added') . ' - ' . osc_page_title());
$feed->setLink(osc_base_url());
$feed->setDescription(__('Latest items added in') . ' ' . osc_page_title());
if (osc_count_items() > 0) {
while (osc_has_items()) {
$feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url()), 'description' => osc_item_description()));
}
}
osc_run_hook('feed', $feed);
$feed->dumpXML();
} else {
osc_run_hook('feed_' . $p_sFeed, $aItems);
}
}
}
示例15: toDatatablesFormat
private function toDatatablesFormat()
{
$this->result['iTotalRecords'] = $this->total_filtered;
$this->result['iTotalDisplayRecords'] = $this->total;
$this->result['sEcho'] = $this->sEcho;
$this->result['sColumns'] = $this->sColumns;
$this->result['aaData'] = array();
if (count($this->items) == 0) {
return;
}
$count = 0;
foreach ($this->items as $aRow) {
View::newInstance()->_exportVariableToView('item', $aRow);
$row = array();
$options = array();
// prepare data
$title = mb_substr($aRow['s_title'], 0, 30, 'utf-8');
if ($title != $aRow['s_title']) {
$title .= '...';
}
$options[] = '<a href="' . osc_item_url() . '">' . __('View item') . '</a>';
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=comments&action=list&id=' . $aRow['pk_i_id'] . '">' . __('View comments') . '</a>';
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=media&action=list&id=' . $aRow['pk_i_id'] . '">' . __('View media') . '</a>';
if ($aRow['b_active']) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status&id=' . $aRow['pk_i_id'] . '&value=INACTIVE">' . __('Deactivate') . '</a>';
} else {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status&id=' . $aRow['pk_i_id'] . '&value=ACTIVE">' . __('Activate') . '</a>';
}
if ($aRow['b_enabled']) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status&id=' . $aRow['pk_i_id'] . '&value=DISABLE">' . __('Block') . '</a>';
} else {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status&id=' . $aRow['pk_i_id'] . '&value=ENABLE">' . __('Unblock') . '</a>';
}
if ($aRow['b_premium']) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status_premium&id=' . $aRow['pk_i_id'] . '&value=0">' . __('Unmark as premium') . '</a>';
} else {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status_premium&id=' . $aRow['pk_i_id'] . '&value=1">' . __('Mark as premium') . '</a>';
}
if ($aRow['b_spam']) {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status_spam&id=' . $aRow['pk_i_id'] . '&value=0">' . __('Unmark as spam') . '</a>';
} else {
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=status_spam&id=' . $aRow['pk_i_id'] . '&value=1">' . __('Mark as spam') . '</a>';
}
$options[] = '<a href="' . osc_admin_base_url(true) . '?page=items&action=item_edit&id=' . $aRow['pk_i_id'] . '">' . __('Edit') . '</a>';
$onclick_delete = 'onclick="javascript:return confirm(\'' . osc_esc_js(__('This action can not be undone. Are you sure you want to continue?')) . '\')"';
$options[] = '<a ' . $onclick_delete . ' href="' . osc_admin_base_url(true) . '?page=items&action=delete&id[]=' . $aRow['pk_i_id'] . '">' . __('Delete') . '</a>';
foreach ($this->stat as $k => $s) {
$options[] = '<a ' . $onclick_delete . ' href="' . osc_admin_base_url(true) . '?page=items&action=clear_stat&stat=' . $k . '&id=' . $aRow['pk_i_id'] . '">' . sprintf(__('Clear %s'), $k) . '</a>';
}
// fill a row
$row[] = '<input type="checkbox" name="id[]" value="' . $aRow['pk_i_id'] . '" />';
$row[] = $title . ' <div class="datatable_wrapper" style="display: none;"><div class="datatables_quick_edit" style="position: absolute;" >' . implode(' · ', $options) . '</div></div>';
$row[] = $aRow['s_user_name'];
$row[] = $aRow['s_category_name'];
$row[] = $aRow['s_country'];
$row[] = $aRow['s_region'];
$row[] = $aRow['s_city'];
$row[] = $aRow['dt_pub_date'];
$count++;
$this->result['aaData'][] = $row;
}
return;
}