aboutsummaryrefslogblamecommitdiffstats
path: root/Zotlabs/Widget/Activity_order.php
blob: e8ee115085b669db2a93a2ba7f564566fec00604 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                         





                                                                                                 



















                                                                                
                                                                                                










                                                                                                
                                              


















                                                                                         

                                                                                                                                                                                                 
                                                      
                                                                          

                 















                                                            


                                                            


                                                        
 




                                                       
                                     

                                                                                     
                                                                     


                                                    
                                     

                                                                                  
                                                                  


                                                        
                                     

                                                                                          
                                                                 



                                         
                                                   
 
                        

                                  




                                                                                             
                                                              
                                                       

                           


                          


         
<?php

namespace Zotlabs\Widget;

/**
 *   * Name: Activity order
 *   * Description: Order the network stream by posted date, last commented or by date unthreaded
 *   * Requires: network
 */

class Activity_order {

	function widget($arr) {

		if(! local_channel())
			return '';

 		if(! feature_enabled(local_channel(),'order_tab')) {
			set_pconfig(local_channel(), 'mod_network', 'order', 0);
			return '';
		}

		$commentord_active = '';
		$postord_active = '';
		$unthreaded_active = '';

		if(x($_GET, 'order')) {
			switch($_GET['order']){
				case 'post':
					$postord_active = 'active';
					set_pconfig(local_channel(), 'mod_network', 'order', 1);
					break;
				case 'comment':
					$commentord_active = 'active';
					set_pconfig(local_channel(), 'mod_network', 'order', 0);
					break;
				case 'unthreaded':
					$unthreaded_active = 'active';
					set_pconfig(local_channel(), 'mod_network', 'order', 2);
					break;
				default:
					$commentord_active = 'active';
					break;
			}
		}
		else {
			$order = get_pconfig(local_channel(), 'mod_network', 'order', 0);
			switch($order) {
				case 0:
					$commentord_active = 'active';
					break;
				case 1:
					$postord_active = 'active';
					break;
				case 2:
					$unthreaded_active = 'active';
					break;
				default:
					$commentord_active = 'active';
			}
		}

		// override order for some filter results
		if(x($_GET,'search') || x($_GET,'file') || (! x($_GET,'pf') && x($_GET,'cid')) || x($_GET,'verb') || x($_GET,'tag') || x($_GET,'cat')  || x($_GET,'conv') || x($_GET,'unseen')) {
			$unthreaded_active = 'active';
			$commentord_active = $postord_active = 'disabled';
		}

		$cmd = \App::$cmd;

		$filter = '';

		if(x($_GET,'cid'))
			$filter .= '&cid=' . $_GET['cid'];

		if(x($_GET,'gid'))
			$filter .= '&gid=' . $_GET['gid'];

		if(x($_GET,'star'))
			$filter .= '&star=' . $_GET['star'];

		if(x($_GET,'conv'))
			$filter .= '&conv=' . $_GET['conv'];

		if(x($_GET,'file'))
			$filter .= '&file=' . $_GET['file'];

		if(x($_GET,'pf'))
			$filter .= '&pf=' . $_GET['pf'];


		// tabs
		$tabs = [];

		$tabs[] = [
			'label' => t('Commented Date'),
			'icon' => '',
			'url'=>z_root() . '/' . $cmd . '?f=&order=comment' . $filter,
			'sel'=> $commentord_active,
			'title' => t('Order by last commented date'),
		];
		$tabs[] = [
			'label' => t('Posted Date'),
			'icon' => '',
			'url'=>z_root() . '/' . $cmd . '?f=&order=post' . $filter,
			'sel'=> $postord_active,
			'title' => t('Order by last posted date'),
		];
		$tabs[] = array(
			'label' => t('Date Unthreaded'),
			'icon' => '',
			'url' => z_root() . '/' . $cmd . '?f=&order=unthreaded' . $filter,
			'sel' => $unthreaded_active,
			'title' => t('Order unthreaded by date'),
		);

		$arr = ['tabs' => $tabs];

		call_hooks('activity_order', $arr);

		$o = '';

		if($arr['tabs']) {
			$content =  replace_macros(get_markup_template('common_pills.tpl'), [
				'$pills' => $arr['tabs'],
			]);

			$o = replace_macros(get_markup_template('common_widget.tpl'), [
				'$title' => t('Stream Order'),
				'$content' => $content,
			]);
		}

		return $o;

	}

}