Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
WordPress_SexHackMe_Plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SexHackMe
WordPress_SexHackMe_Plugin
Commits
37d93731
Commit
37d93731
authored
Jun 24, 2022
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add adv support, fix member plans order
parent
e0a7c43e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
224 additions
and
12 deletions
+224
-12
advert.php
classes/advert.php
+162
-0
pms_woocommerce_registration_integration.php
classes/pms_woocommerce_registration_integration.php
+12
-0
sexhackme.php
sexhackme.php
+45
-9
video.php
template/video.php
+5
-3
No files found.
classes/advert.php
0 → 100644
View file @
37d93731
<?php
namespace
wp_SexHackMe
;
if
(
!
class_exists
(
'SexhackAdvert'
))
{
class
sexhackadv_widget
extends
\WP_Widget
{
function
__construct
()
{
parent
::
__construct
(
// Base ID of your widget
'sexhackadv_widget'
,
// Widget name will appear in UI
__
(
'SexHack ADV'
,
'sexhack_widget_domain'
),
// Widget description
array
(
'description'
=>
__
(
'Adverstising widget for SexHackMe'
,
'sexhack_widget_domain'
),
)
);
}
public
function
widget
(
$args
,
$instance
)
{
global
$post
;
echo
$args
[
'before_widget'
];
$id
=
$instance
[
'advid'
];
if
(
!
empty
(
$id
))
echo
$args
[
'before_advid'
]
.
do_shortcode
(
'[sexadv adv='
.
$id
.
']'
)
.
$args
[
'after_advid'
];
echo
$args
[
'after_widget'
];
}
public
function
form
(
$instance
)
{
if
(
isset
(
$instance
[
'advid'
]
)
)
{
$advid
=
$instance
[
'advid'
];
}
else
{
$advid
=
__
(
'ADVert ID'
,
'sexhack_widget_domain'
);
}
// Widget admin form
?>
<p>
<label
for=
"
<?php
echo
$this
->
get_field_id
(
'advid'
);
?>
"
>
<?php
_e
(
'ID Advert:'
);
?>
</label>
<input
class=
"widefat"
id=
"
<?php
echo
$this
->
get_field_id
(
'advid'
);
?>
"
name=
"
<?php
echo
$this
->
get_field_name
(
'advid'
);
?>
"
type=
"text"
value=
"
<?php
echo
esc_attr
(
$advid
);
?>
"
/>
</p>
<?php
}
// Updating widget replacing old instances with new
public
function
update
(
$new_instance
,
$old_instance
)
{
$instance
=
array
();
$instance
[
'advid'
]
=
(
!
empty
(
$new_instance
[
'advid'
]
)
)
?
strip_tags
(
$new_instance
[
'advid'
]
)
:
''
;
return
$instance
;
}
}
// Register and load the widget
function
adv_load_widget
()
{
register_widget
(
'wp_SexHackMe\sexhackadv_widget'
);
}
add_action
(
'widgets_init'
,
'wp_SexHackMe\adv_load_widget'
);
class
SexhackAdvert
{
public
function
__construct
()
{
add_shortcode
(
"sexadv"
,
array
(
$this
,
"adv_shortcode"
));
add_action
(
'init'
,
array
(
$this
,
"register_sexhackadv_post_type"
));
sexhack_log
(
'SexhackAdvert() Instanced'
);
}
public
function
revealid_add_id_column
(
$columns
)
{
$columns
[
'revealid_id'
]
=
'ID'
;
$columns
[
'revealid_short'
]
=
'shortcode'
;
return
$columns
;
}
public
function
revealid_id_column_content
(
$column
,
$id
)
{
if
(
'revealid_id'
==
$column
)
{
echo
$id
;
}
if
(
'revealid_short'
==
$column
)
{
echo
"[sexadv adv=
$id
]"
;
}
}
public
function
register_sexhackadv_post_type
()
{
register_post_type
(
'sexhackadv'
,
array
(
'label'
=>
'Advertising'
,
'description'
=>
''
,
'public'
=>
true
,
'show_ui'
=>
true
,
'show_in_menu'
=>
true
,
// Visibility in admin menu.
'menu_position'
=>
151
,
'capability_type'
=>
'post'
,
'hierarchical'
=>
false
,
'publicly_queryable'
=>
true
,
'rewrite'
=>
false
,
'query_var'
=>
true
,
'has_archive'
=>
true
,
'supports'
=>
array
(
'title'
,
'editor'
,
'page-attributes'
,
'shortcode'
),
'taxonomies'
=>
array
(),
// there are a lot more available arguments, but the above is plenty for now
));
add_filter
(
'manage_sexhackadv_posts_columns'
,
array
(
$this
,
'revealid_add_id_column'
),
5
);
add_action
(
'manage_sexhackadv_posts_custom_column'
,
array
(
$this
,
'revealid_id_column_content'
),
5
,
2
);
}
public
function
adv_shortcode
(
$attr
,
$cont
)
{
global
$post
;
global
$sexhack_pms
;
extract
(
shortcode_atts
(
array
(
"adv"
=>
false
,
),
$attr
));
if
(
isset
(
$sexhack_pms
)
&&
!
$sexhack_pms
->
is_premium
())
{
if
(
$attr
[
'adv'
])
{
$post
=
get_post
(
intval
(
$attr
[
'adv'
]));
if
((
$post
)
&&
(
$post
->
post_type
==
'sexhackadv'
))
{
$html
=
$post
->
post_content
;
wp_reset_postdata
();
return
$html
;
}
}
wp_reset_postdata
();
//return 'Error in retrieving sexhackadv post. Wrong ID?';
}
return
;
}
}
}
$SEXHACK_SECTION
=
array
(
'class'
=>
'SexhackAdvert'
,
'description'
=>
'Advertising support for SexHackMe'
,
'name'
=>
'sexhackme_advertising'
,
//'require-page' => 'sexhackadv'
'require-page'
=>
array
(
array
(
'post_type'
=>
'sexhackadv'
,
'title'
=>
'Top Banner Video Page'
,
'option'
=>
'sexadv_video_top'
),
array
(
'post_type'
=>
'sexhackadv'
,
'title'
=>
'Bottom Banner Video Page'
,
'option'
=>
'sexadv_video_bot'
)
)
);
?>
classes/pms_woocommerce_registration_integration.php
View file @
37d93731
...
...
@@ -40,7 +40,19 @@ if(!class_exists('PmsWoocommerceRegistrationIntegration')) {
// Sending email with link to set user password
add_action
(
"pms_register_form_after_create_user"
,
array
(
$this
,
"send_register_email_reset_password"
)
);
// Reorder membership subscription in registration page
//add_action( 'pre_get_posts', array($this, 'sexhack_reorder_membership'), 1 );
}
/*
public function sexhack_reorder_membership($query) {
if ( ! is_admin() && in_array ( $query->get('post_type'), array('pms-subscriptions') ) ) {
$query->set( 'order' , 'asc' );
$query->set( 'orderby', 'price');
}
}
*/
// Register new endpoint (URL) for My Account page
// Note: Re-save Permalinks or it will give 404 error
...
...
sexhackme.php
View file @
37d93731
...
...
@@ -155,8 +155,16 @@ if(!class_exists('SexHackMe')) {
array
(
$this
,
'settings_field'
),
'sexhackme-settings'
,
'sexhackme-settings'
,
$section
[
'name'
]
);
register_setting
(
'sexhackme-settings'
,
$section
[
'name'
]);
if
(
array_key_exists
(
'require-page'
,
$section
)
&&
(
$section
[
'require-page'
]))
{
register_setting
(
'sexhackme-settings'
,
$section
[
'name'
]
.
"-page"
);
{
if
(
is_array
(
$section
[
'require-page'
]))
{
foreach
(
$section
[
'require-page'
]
as
$pagereq
)
{
if
(
array_key_exists
(
'post_type'
,
$pagereq
))
{
if
(
array_key_exists
(
'option'
,
$pagereq
))
register_setting
(
'sexhackme-settings'
,
$pagereq
[
'option'
]);
}
}
}
else
{
register_setting
(
'sexhackme-settings'
,
$section
[
'name'
]
.
"-page"
);
}
}
}
}
...
...
@@ -164,7 +172,7 @@ if(!class_exists('SexHackMe')) {
public
function
admin_menu
()
{
add_menu_page
(
'SexHackMe Settings'
,
'SexHackMe'
,
'manage_options'
,
'sexhackme-settings'
,
array
(
$this
,
'admin_page'
),
plugin_dir_url
(
__FILE__
)
.
'/img/admin_icon.png'
);
array
(
$this
,
'admin_page'
),
plugin_dir_url
(
__FILE__
)
.
'/img/admin_icon.png'
,
150
);
}
public
function
admin_page
()
...
...
@@ -185,19 +193,47 @@ if(!class_exists('SexHackMe')) {
<td>
<input
type=
"checkbox"
name=
"
<?php
echo
$section
[
'name'
];
?>
"
value=
"1"
<?php
echo
$this
->
checkbox
(
get_option
(
$section
[
'name'
]
));
?>
/>
<br>
<?php
if
(
array_key_exists
(
'require-page'
,
$section
)
&&
(
$section
[
'require-page'
]))
{
?>
<select
id=
"
<?php
echo
$section
[
'name'
];
?>
-page"
name=
"
<?php
echo
$section
[
'name'
];
?>
-page"
class=
"widefat"
>
<?php
if
(
array_key_exists
(
'require-page'
,
$section
)
&&
(
$section
[
'require-page'
]))
{
$reqps
=
array
();
if
(
is_string
(
$section
[
'require-page'
]))
{
$reqtitle
=
"Select the base plugin module page"
;
$reqpages
=
get_posts
(
array
(
'post_type'
=>
$section
[
'require-page'
],
'parent'
=>
0
));
$reqps
[]
=
array
(
'title'
=>
$reqtitle
,
'pages'
=>
$reqpages
,
'option'
=>
$section
[
'name'
]
.
"-page"
);
}
elseif
(
is_array
(
$section
[
'require-page'
]))
{
$i
=
0
;
foreach
(
$section
[
'require-page'
]
as
$rpage
)
{
if
(
array_key_exists
(
'post_type'
,
$rpage
))
{
$reqpsa
=
array
(
'title'
=>
'Select Page'
,
'option'
=>
$section
[
'name'
]
.
"-page
$i
"
,
'pages'
=>
get_posts
(
array
(
'post_type'
=>
$rpage
[
'post_type'
],
'parent'
=>
0
)));
if
(
array_key_exists
(
'option'
,
$rpage
))
$reqpsa
[
'option'
]
=
$rpage
[
'option'
];
if
(
array_key_exists
(
'title'
,
$rpage
))
$reqpsa
[
'title'
]
=
$rpage
[
'title'
];
$reqps
[]
=
$reqpsa
;
}
$i
++
;
}
}
else
{
$reqtitle
=
"Select the base plugin module page"
;
$reqpages
=
get_pages
();
$reqps
[]
=
array
(
'title'
=>
$reqtitle
,
'pages'
=>
$reqpages
,
'option'
=>
$section
[
'name'
]
.
"-page"
);
}
foreach
(
$reqps
as
$reqarr
)
{
?>
<select
id=
"
<?php
echo
$reqarr
[
'option'
];
?>
"
name=
"
<?php
echo
$reqarr
[
'option'
];
?>
"
class=
"widefat"
>
<option
value=
"-1"
>
<?php
esc_html_e
(
'Choose...'
,
'paid-member-subscriptions'
)
?>
</option>
<?php
$opt
=
get_option
(
$section
[
'name'
]
.
"-page"
);
foreach
(
get_pages
()
as
$page
)
{
$opt
=
get_option
(
$reqarr
[
'option'
]
);
foreach
(
$reqarr
[
'pages'
]
as
$page
)
{
echo
'<option value="'
.
esc_attr
(
$page
->
ID
)
.
'"'
;
if
(
$opt
==
$page
->
ID
)
{
echo
"selected"
;}
echo
'>'
.
esc_html
(
$page
->
post_title
)
.
' ( ID: '
.
esc_attr
(
$page
->
ID
)
.
')'
.
'</option>'
;
}
?>
</select>
<p
class=
"description"
>
Select the base plugin module page
</p>
<p
class=
"description"
>
<?php
echo
$reqarr
[
'title'
];
?>
</p>
<?php
}
?>
<?php
}
?>
</td>
</tr>
...
...
template/video.php
View file @
37d93731
...
...
@@ -28,6 +28,8 @@ get_header(); ?>
while
(
have_posts
()
)
:
the_post
();
echo
do_shortcode
(
"[sexadv adv="
.
get_option
(
'sexadv_video_top'
)
.
"]"
);
$prod
=
wc_get_product
(
get_the_ID
());
$hls
=
$prod
->
get_attribute
(
"hls_public"
);
$hls_member
=
$prod
->
get_attribute
(
"hls_members"
);
...
...
@@ -115,10 +117,10 @@ get_header(); ?>
?>
<h3><a
href=
"
<?php
echo
get_the_permalink
();
?>
"
>
Download the full lenght hi-res version of this video
</a><h3>
<br><hr>
<?php
<?php
echo
do_shortcode
(
"[sexadv adv="
.
get_option
(
'sexadv_video_bot'
)
.
"]"
);
endwhile
;
/**
* Functions hooked in to storefront_paging_nav action
*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment