Code Duplication    Length = 53-53 lines in 2 locations

includes/class-sensei-analysis-lesson-list-table.php 1 location

@@ 74-126 (lines=53) @@
71
	 * @since  1.7.0
72
	 * @return void
73
	 */
74
	public function prepare_items() {
75
		global $per_page;
76
77
		// Handle orderby (needs work)
78
		$orderby = '';
79
		if ( !empty( $_GET['orderby'] ) ) {
80
			if ( array_key_exists( esc_html( $_GET['orderby'] ), $this->get_sortable_columns() ) ) {
81
				$orderby = esc_html( $_GET['orderby'] );
82
			} // End If Statement
83
		}
84
85
		// Handle order
86
		$order = 'ASC';
87
		if ( !empty( $_GET['order'] ) ) {
88
			$order = ( 'ASC' == strtoupper($_GET['order']) ) ? 'ASC' : 'DESC';
89
		}
90
91
		// Handle search, need 4.1 version of WP to be able to restrict statuses to known post_ids
92
		$search = false;
93
		if ( !empty( $_GET['s'] ) ) {
94
			$search = esc_html( $_GET['s'] );
95
		} // End If Statement
96
		$this->search = $search;
97
98
		$per_page = $this->get_items_per_page( 'sensei_comments_per_page' );
99
		$per_page = apply_filters( 'sensei_comments_per_page', $per_page, 'sensei_comments' );
100
101
		$paged = $this->get_pagenum();
102
		$offset = 0;
103
		if ( !empty($paged) ) {
104
			$offset = $per_page * ( $paged - 1 );
105
		} // End If Statement
106
107
		$args = array(
108
			'number' => $per_page,
109
			'offset' => $offset,
110
			'orderby' => $orderby,
111
			'order' => $order,
112
		);
113
		if ( $this->search ) {
114
			$args['search'] = $this->search;
115
		} // End If Statement
116
117
		$this->items = $this->get_lesson_statuses( $args );
118
119
		$total_items = $this->total_items;
120
		$total_pages = ceil( $total_items / $per_page );
121
		$this->set_pagination_args( array(
122
			'total_items' => $total_items,
123
			'total_pages' => $total_pages,
124
			'per_page' => $per_page
125
		) );
126
	}
127
128
	/**
129
	 * Generate a csv report with different parameters, pagination, columns and table elements

includes/class-sensei-analysis-user-profile-list-table.php 1 location

@@ 75-127 (lines=53) @@
72
	 * @since  1.7.0
73
	 * @return void
74
	 */
75
	public function prepare_items() {
76
		global $per_page;
77
78
		// Handle orderby (needs work)
79
		$orderby = '';
80
		if ( !empty( $_GET['orderby'] ) ) {
81
			if ( array_key_exists( esc_html( $_GET['orderby'] ), $this->get_sortable_columns() ) ) {
82
				$orderby = esc_html( $_GET['orderby'] );
83
			} // End If Statement
84
		}
85
86
		// Handle order
87
		$order = 'ASC';
88
		if ( !empty( $_GET['order'] ) ) {
89
			$order = ( 'ASC' == strtoupper($_GET['order']) ) ? 'ASC' : 'DESC';
90
		}
91
92
		// Handle search, need 4.1 version of WP to be able to restrict statuses to known post_ids
93
		$search = false;
94
		if ( !empty( $_GET['s'] ) ) {
95
			$search = esc_html( $_GET['s'] );
96
		} // End If Statement
97
		$this->search = $search;
98
99
		$per_page = $this->get_items_per_page( 'sensei_comments_per_page' );
100
		$per_page = apply_filters( 'sensei_comments_per_page', $per_page, 'sensei_comments' );
101
102
		$paged = $this->get_pagenum();
103
		$offset = 0;
104
		if ( !empty($paged) ) {
105
			$offset = $per_page * ( $paged - 1 );
106
		} // End If Statement
107
108
		$args = array(
109
			'number' => $per_page,
110
			'offset' => $offset,
111
			'orderby' => $orderby,
112
			'order' => $order,
113
		);
114
		if ( $this->search ) {
115
			$args['search'] = $this->search;
116
		} // End If Statement
117
118
		$this->items = $this->get_course_statuses( $args );
119
120
		$total_items = $this->total_items;
121
		$total_pages = ceil( $total_items / $per_page );
122
		$this->set_pagination_args( array(
123
			'total_items' => $total_items,
124
			'total_pages' => $total_pages,
125
			'per_page' => $per_page
126
		) );
127
	}
128
129
	/**
130
	 * Generate a csv report with different parameters, pagination, columns and table elements